Subject: bug#59935: 29.0.60; project-list-buffers is slow

From: Dmitry Gutov <[email-masked]>
Date: Tue, 13 Dec 2022 20:51:30 +0200

On 13/12/2022 19:49, Juri Linkov wrote:
>> Here's an idea: when 'list-buffers-noselect' received a plain list of
>> buffers in its BUFFER-LIST argument, it doesn't save that anywhere.
>>
>> That seems like a bug, doesn't it? That hitting 'g' in such a buffer-list
>> buffer resets its contents to all buffer (except hidden, etc).
>>
>> So it probably makes sense to save it as well.
>>
>> Long story short, I suggest to name the new variable
>> Buffer-menu-buffer-list, and save the value of the BUFFER-LIST argument to
>> it no matter what. And, likewise, use it. But when the value is a function,
>> call it to obtain the actual list.
> 
> Thanks for the idea.  Implemented in the commit a99d0e7e6c9.

Thank you.

>> One side-effect of this, though, is that the BUFFER-LIST argument to
>> list-buffers--refresh will have no purpose anymore.
> 
> I'm not sure about removing the old argument BUFFER-LIST from
> list-buffers--refresh, even though it's an internal function.

Maybe sometime later on master.

> It also has another argument OLD-BUFFER that could be turned later
> into buffer-local, to keep the current buffer marker after revert.

Why not. Although at that point which of the buffers was current 
previously doesn't seem too important.