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.
(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)))))