emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 2840895c1ae: Don't create GUI frames in batch sessions


From: Jim Porter
Subject: emacs-29 2840895c1ae: Don't create GUI frames in batch sessions
Date: Fri, 3 Mar 2023 12:26:28 -0500 (EST)

branch: emacs-29
commit 2840895c1ae4f60c3b225dc1d75854fb09bca259
Author: Jim Porter <jporterbugs@gmail.com>
Commit: Jim Porter <jporterbugs@gmail.com>

    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.
---
 lisp/frame.el | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lisp/frame.el b/lisp/frame.el
index 81383349354..bf984da0d62 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -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)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]