bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not pr


From: Eli Zaretskii
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@eshelyaron.com>
> Cc: Stephen Berman <stephen.berman@gmx.net>,  juri@linkov.net,
>   kickingvegas@gmail.com,  71927@debbugs.gnu.org,  basil@contovou.net
> Date: Sat, 06 Jul 2024 23:13:27 +0200
> 
> Eli Zaretskii <eliz@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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]