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


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

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: jpw <at> gnu.org, juri <at> linkov.net, me <at> eshelyaron.com, basil <at> contovou.net,
 71927 <at> debbugs.gnu.org, kickingvegas <at> gmail.com
Subject: Re: bug#71927: 29.4; ibuffer-do-isearch and
 ibuffer-do-isearch-regexp not prompting for input
Date: Thu, 04 Jul 2024 20:29:05 +0200
On Thu, 04 Jul 2024 21:07:36 +0300 Eli Zaretskii <eliz <at> gnu.org> wrote:

>> From: Stephen Berman <stephen.berman <at> gmx.net>
>> Cc: Eli Zaretskii <eliz <at> gnu.org>,  Eshel Yaron <me <at> eshelyaron.com>,
>>   kickingvegas <at> gmail.com,  71927 <at> debbugs.gnu.org,  basil <at> contovou.net,
>>   jpw <at> gnu.org
>> Date: Thu, 04 Jul 2024 19:36:34 +0200
>>
>> On Thu, 04 Jul 2024 19:04:42 +0300 Juri Linkov <juri <at> linkov.net> wrote:
>>
>> >>>> FWIW, AFAICT everything is working correctly, it's just that the
>> >>>> "Operation finished" message hides the prompt.  ibuffer-do-isearch
>> >>>> should tell define-ibuffer-op not to display that message, somehow.
>> >>>
>> >>> I don't see how this could be considered "correct": the "Operation
>> >>> finished" message is supposed to be shown only after the Isearch is
>> >>> finished in all the marked buffer, not before.  It looks like we need
>> >>> a function that will not return until all the buffers where searched,
>> >>> because that's what define-ibuffer-op expects.  Don't you agree?
>> >
>> > It intentionally uses 'no-recursive-edit' set to t, so ibuffer-do-isearch
>> > correctly exits immediately while leaving isearch-mode enabled.
>> >
>> >> The attached patch appears to DTRT, but I only tested it briefly.
>> >> ...
>> >>  (define-ibuffer-op ibuffer-do-isearch ()
>> >>    "Perform a `isearch-forward' in marked buffers."
>> >>    (:interactive ()
>> >> -   :opstring "searched in"
>> >> +   :no-opstring t
>> >
>> > Thanks for the patch.  I confirm this is the right thing to do.
>> > Maybe instead of :no-opstring would be better to use some special value
>> > like :opstring 'no?  But I'm not sure if this is better than :no-opstring.
>>
>> Suppressing the message when :opstring has the value 'no is fine with
>> me.  If Eli is willing to accept this approach, I can go ahead and
>> commit it (to master, presumably, since this is a longstanding issue).
>
> I already said this didn't sound the right solution here, and I
> explained why.  I'd be interested in hearing counter-arguments, if
> there are any.

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.  Also, I am not familiar enough with the ibuffer code to be
confident that I could implement I could implement the functionality
without using this macro, but someone else might be in a better position
to do that.

Steve Berman




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

Previous Next


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