GNU bug report logs - #73100
Regarding a bug in suspend-emacs

Previous Next

Package: emacs;

Reported by: Riza Dindir <riza.dindir <at> gmail.com>

Date: Sat, 7 Sep 2024 14:44:03 UTC

Severity: normal

Merged with 73101

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Riza Dindir <riza.dindir <at> gmail.com>
Cc: 73100 <at> debbugs.gnu.org
Subject: bug#73100: Regarding a bug in suspend-emacs
Date: Sat, 07 Sep 2024 18:20:54 +0300
> From: Riza Dindir <riza.dindir <at> gmail.com>
> Date: Sat, 7 Sep 2024 15:37:17 +0300
> 
> I am running Linux with kernel 6.6.47 and am running emacs in xterm, using the -nw command line argument.
> 
> I am new to emacs and was experimenting with the suspend-emacs command. Following the example on
> https://www.gnu.org/software/emacs/manual/html_node/elisp/Suspending-Emacs.html.
> 
> When following the example, I added the suspend-resume-hook to my .emacs.d/init.el file. When I run M-:
> (suspend-emacs "pwd") it does not show the current working directory. But when I do fg from the terminal that I
> got into, I see the "Resumed!" message.
> 
> I asked in the libera chat about that, and also in the gnu-help-emacs list. I have been talking to wasamasa on
> libera chat (#emacs-beginners) and we pinpointed the problem to the stuff_char function (in
> https://git.savannah.gnu.org/cgit/emacs.git/tree/src/sysdep.c#n403). We came to this point from
> stuff_buffered_input (https://git.savannah.gnu.org/cgit/emacs.git/tree/src/keyboard.c#n11963), and from 
> suspend-emacs function definition (in https://git.savannah.gnu.org/cgit/emacs.git/tree/src/keyboard.c#n11908).
> 
> The stuff_char function is using ioctl with TIOCSTI. TIOCSTI requires CAP_SYS_ADMIN capability. You can set
> this capability using sysctl setting dev.tty.legacy_tiocsti to 1.
> 
> Unless I had set "dev.tty.legacy_tiocsti" to 1 I could not run the suspend-emacs command with an argument
> string.
> 
> Either emacs can check the return value of ioctl in stuff_char and if there return value is EPERM, then handle
> this accordingly, with a message regarding the problem.

You mean, you want suspend-emacs signal an error if it is called with
STUFFSTRING argument, but fails to stuff the string into the
terminal's input buffer?




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

Previous Next


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