Subject: Re: bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input

From: Stephen Berman <[email-masked]>
Date: Thu, 04 Jul 2024 15:32:05 +0200

On Thu, 04 Jul 2024 15:50:56 +0300 Eli Zaretskii <[email-masked]> wrote:

>> From: Stephen Berman <[email-masked]>
>> Cc: Eshel Yaron <[email-masked]>,  [email-masked],
>>   [email-masked],  [email-masked],  [email-masked],
>>   [email-masked]
>> Date: Thu, 04 Jul 2024 12:06:40 +0200
>>
>> >> 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?
>>
>> The attached patch appears to DTRT, but I only tested it briefly.
>
> Thanks, but does it really make sense to change define-ibuffer-op to
> fix the functions which (evidently) use it incorrectly?  I think the
> fix needs to be in the same place where the bug is.

That's what I thought, too, but I don't see a way to do that, because
define-ibuffer-op hard-codes displaying a message at the end of the
body.  But in this case that message seems superfluous, in addition to
hiding the isearch prompt, because when isearch goes through the marked
buffers, it then displays its own message that the operation is
complete.  So this looks like a case when define-ibuffer-op is currently
too rigid.  However, I acknowledge that I don't really grok the
interaction with isearch, i.e., why the "Operation finished" message is
shown although isearch hasn't even begun.  But AFAICS suppressing the
message as in the patch does allow isearch to proceed and complete as
usual.

Steve Berman