GNU bug report logs -
#71927
29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input
Previous Next
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: 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.