GNU bug report logs - #71927
29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input

Previous Next

Package: emacs;

Reported by: Charles Choi <kickingvegas <at> gmail.com>

Date: Wed, 3 Jul 2024 21:26:01 UTC

Severity: normal

Found in version 29.4

Fixed in version 30.1

Done: Eshel Yaron <me <at> eshelyaron.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Eshel Yaron <me <at> eshelyaron.com>
Cc: basil <at> contovou.net, stephen.berman <at> gmx.net, 71927 <at> debbugs.gnu.org, kickingvegas <at> gmail.com, juri <at> linkov.net
Subject: bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input
Date: Fri, 12 Jul 2024 10:03:19 +0300
> From: Eshel Yaron <me <at> eshelyaron.com>
> Cc: Stephen Berman <stephen.berman <at> gmx.net>,  juri <at> linkov.net,
>   kickingvegas <at> gmail.com,  71927 <at> debbugs.gnu.org,  basil <at> contovou.net
> Date: Sat, 06 Jul 2024 23:13:27 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> I gave a mild counterargument upthread, that making
> >> ibuffer-do-isearch{-regexp} defuns independent of define-ibuffer-op
> >> seems like accepting the inadequacy of the latter instead of trying to
> >> improve it.
> >
> > It is indeed inadequate for commands that just put Emacs in a special
> > state and return, as opposed to commands that don't return before they
> > did the complete job of operating on the marked buffers.
> 
> Actually, there's another problem with the way ibuffer-do-isearch is
> currently defined via define-ibuffer-op: the BODY of the definition is a
> call to multi-isearch-buffers, but the BODY is called for each marked
> buffer, not once for all of them, so this command currently calls
> multi-isearch-buffers repeatedly when there are multiple marked buffers.
> This causes multi-isearch-setup to be called while multi-buffer Isearch
> is already in progress, which unfortunately breaks regular Isearch for
> the rest of the session.
> 
> To see this effect, invoke ibuffer-do-isearch with two or more marked
> buffers, quit or finish the search (e.g. type C-g), and then try regular
> Isearch with C-s and repeat C-s until wrapping around.  But instead of
> wrapping around as expected, Emacs displays an error:
> 
>   Symbol’s function definition is void: nil
> 
> A simple solution is to use plain defun for these commands, as follows:

Thanks.  Since there were no objections in a week, and Juri also
agreed with this solution, please install this on the emacs-30 branch.




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

Previous Next


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