GNU bug report logs - #70519
30.0.50; Device for Emacs terminal I/O

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Mon, 22 Apr 2024 20:10:04 UTC

Severity: normal

Found in version 30.0.50

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Eli Zaretskii <eliz <at> gnu.org>, Helmut Eller <eller.helmut <at> gmail.com>
Cc: 70519 <at> debbugs.gnu.org
Subject: bug#70519: 30.0.50; Device for Emacs terminal I/O
Date: Sat, 4 May 2024 09:36:23 -0700
On 2024-05-04 09:19, Eli Zaretskii wrote:
> AFAIU, the --terminal option causes
> Emacs to close its original stdin, so Ctrl-C does not send SIGINT to
> Emacs.  But I'm nowhere near being an expert on that.  Paul, can you
> please comment on that?

Closing stdin doesn't change a process's controlling terminal. On 
GNU/Linux you need to use ioctl with TIOCSCTTY and there are a bunch of 
other preconditions. See how emacs_spawn uses TIOCSCTTY:

       /* We ignore the return value
          because faith <at> cs.unc.edu says that is necessary on Linux.  */
       ioctl (std_in, TIOCSCTTY, 0);

This comment (and ignoring ioctl's return value) was added by rms in 
commit 084fd64ac9daee2a89d393f07ce87ec8df543330 dated 1993. I'm 
skeptical that the comment is true now. You might try adding code to 
check the return value and report any errors, though Emacs shouldn't 
abort (as it did before that 1993 change) if the ioctl fails.




This bug report was last modified 1 year and 43 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.