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

From: Eshel Yaron <[email-masked]>
Date: Thu, 04 Jul 2024 09:12:10 +0200

Eli Zaretskii <[email-masked]> writes:

>> Cc: [email-masked]
>> From: Juri Linkov <[email-masked]>
>> Date: Thu, 04 Jul 2024 09:58:18 +0300
>> 
>> > The commands ibuffer-do-isearch and ibuffer-do-isearch-regexp
>> > do not prompt for an input search string.
>> 
>> They should not prompt because Isearch is interactive.
>> But the problem is that they exit Isearch immediately.
>> I tried to Edebug ibuffer-do-isearch, but this is
>> not possible.
>
> So did I, with the same results.
>
> I also see that this didn't work at least as far back as Emacs 25,
> maybe never.
>
> The function ibuffer-do-isearch was added by you, and was never
> changed before.  I guess it somehow violates the protocol of
> define-ibuffer-op or something?  Admittedly, that protocol is not
> described too well in the doc string.
>
> I have a question: ibuffer-do-isearch just calls
> multi-isearch-buffers.  Does multi-isearch-buffers exit immediately,
> or does it exit only when the multi-isearch is done?  If the former, I
> guess this is why the problem happens.
>
>> So we need someone who knows ibuffer internals.
>
> I've added two people who might be able to help.

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.

Best,

Eshel