GNU bug report logs - #78916
31.0.50; C-g fails to exit loop

Previous Next

Package: emacs;

Reported by: Mike Kupfer <kupfer <at> rawbw.com>

Date: Fri, 27 Jun 2025 21:37:02 UTC

Severity: normal

Found in version 31.0.50

Full log


Message #101 received at 78916 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 78916 <at> debbugs.gnu.org, kupfer <at> rawbw.com
Subject: Re: bug#78916: 31.0.50; C-g fails to exit loop
Date: Fri, 04 Jul 2025 14:06:13 -0400
> LGTM, thanks.

Hmm... I'm getting cold feet.

Having grep'd further for `query-replace-map` in *.el and *.texi files,
I'm beginning to think we should let those sleeping dogs lie: other uses
follow the pattern of `y-or-n-p` of not supporting "arbitrary" commands.
Most uses I found are in Emacs, but some are in third party packages, so
there's a non-trivial backward compatibility issue in changing the
bindings from `quit` to something like `keyboard-quit`.

So maybe the simpler patch below is preferable.


        Stefan


diff --git a/lisp/replace.el b/lisp/replace.el
index 9939273594f..130c19763f2 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -3328,6 +3331,7 @@ perform-replace
 			 (replace-dehighlight)
 			 (save-excursion (recursive-edit))
 			 (setq replaced t))
+			((eq def 'quit) (keyboard-quit))
                         ((commandp def t)
                          (call-interactively def))
 			;; Note: we do not need to treat `exit-prefix'





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.