unofficial mirror of 
 help / color / mirror / Atom feed
* Ctrl-g inside `guix shell --container emacs` broken
@ 2022-01-04 15:30 t
  0 siblings, 0 replies; only message in thread
From: t @ 2022-01-04 15:30 UTC (permalink / raw)
  To: help-guix

Hi Guix.

This one is both subtle and deadly given mussle memory we all 
develop with Emacs key bindings.

Tested with both Emacs 27 and 28:

$ guix shell --container --no-cwd --preserve='^TERM$' emacs -- 
emacs -nw -q -Q
$ guix shell --container --no-cwd --preserve='^TERM$' emacs-next 
-- emacs -nw -q -Q

Starts terminal Emacs fine. Now Ctrl-g or M-x followed by Ctrl-g 
which typically would send `keyboard-quit` and also 
abort-recursive-edit. You get kicked out of Emacs and shell ends 
up in a weird state, with Ctrl-D being the only way to kill 
it. Replicated in xterm and gnome-terminal.

This is specific to --container! The following works just fine:

$ guix shell --preserve='^TERM$' emacs -- emacs -nw -q -Q

For completness I also tried:

$ guix shell --container --no-cwd --preserve='^TERM$' emacs bash 
-- bash -c 'emacs -nw -q -Q'

Any idea where and why --container could be breaking things? Note 
that `abort-recursive-edit` works perfectly fine. How exactly 
--container starts those processes? Could it be running some weird 
"shell" version that treats C-g specially somehow? How do I make 
it stop?

$ guix describe
Generation 10	Dec 27 2021 15:36:01	(current)
  guix 9e9489f
    repository URL:
    branch: master
    commit: 9e9489fb11ac73e51abe293235738d70365affa9


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-04 16:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-04 15:30 Ctrl-g inside `guix shell --container emacs` broken t

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).