1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00

Don't create GUI frames in batch sessions

This resolves an issue with running test/lisp/server-tests.el when
'DISPLAY' is set: the tests would start the Emacs server in a batch
session, and then request a new GUI frame.  However, that caused the
tests to terminate with SIGIO, since a batch Emacs doesn't set a SIGIO
handler.

Ref: <https://lists.gnu.org/archive/html/emacs-devel/2023-02/msg00879.html>

* lisp/frame.el (make-frame): Always create a terminal frame in batch
sessions.
This commit is contained in:
Jim Porter 2023-02-28 11:35:21 -08:00
parent 452b5ed103
commit 2840895c1a

View File

@ -873,6 +873,11 @@ the new frame according to its own rules."
(interactive)
(let* ((display (cdr (assq 'display parameters)))
(w (cond
;; When running in a batch session, don't create a GUI
;; frame. (Batch sessions don't set a SIGIO handler on
;; relevant platforms, so attempting this would terminate
;; Emacs.)
(noninteractive nil)
((assq 'terminal parameters)
(let ((type (terminal-live-p
(cdr (assq 'terminal parameters)))))