GNU bug report logs -
#78916
31.0.50; C-g fails to exit loop
Previous Next
Full log
Message #68 received at 78916 <at> debbugs.gnu.org (full text, mbox):
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: kupfer <at> rawbw.com, 78916 <at> debbugs.gnu.org
> Date: Wed, 02 Jul 2025 10:14:39 -0400
>
> >> > and it happened in the past because C-g would quite right away, so
> >> > there was no need to re-read it. Right?
> >>
> >> I agree that we want to signal `quit` right away here (and I think both
> >> for `C-g` and for `C-]`) rather than "unread" them. The question is how
> >> we want to do it:
> >>
> >> - (signal 'quit nil)
> >> - call `keyboard-quit`.
> >> - call whatever is bound to `C-g` in the normal keymaps.
> >
> > If you explain the difference between the first tow, I could try
> > making up my mind.
>
> I know as much as you do in this respect (i.e. the difference is
> whatever `keyboard-quit` does before calling `(signal 'quit nil)`).
>
> Also:
>
> - (signal 'quit nil) is what C-g does/did when we use(d) `read-event`.
> - `keyboard-quit` is what `C-g` does when it's handled via the global-map.
>
> To me, the current situation sounds like a case where the `C-g` is
> received by an "interactive loop" so I'd leaning towards handling it via
> `keyboard-quit`, whereas (signal 'quit nil) is what is used when
> interrupting *running* code.
I agree that calling keyboard-quit is better.
This bug report was last modified 25 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.