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

From: Dmitry Gutov <[email-masked]>
Date: Thu, 15 Dec 2022 17:12:30 +0200

On 15/12/2022 16:58, Jean Louis wrote:
> * Dmitry Gutov <[email-masked]> [2022-12-13 23:32]:
>>> It iterates over results of list-buffers-noselect and among many
>>> buffers finds those Tramp buffers. But why those Tramp buffers start
>>> re-connecting I do not know.
>>
>> So 'M-x list-buffers' or 'C-x C-b' have the same effect? This is not
>> specific to project-list-buffers?
> 
> Not, it is specific to project-list-buffers and not to list-buffers.

Then could you explain it in more detail? When you say "It iterates over 
results of list-buffers-noselect", what is "it"? Surely not 
project-list-buffers itself: list-buffers-noselect returns a buffer, not 
a list anyway.

>>> For me this description below is not what that function does, as that
>>> function seem not to select properly. What are project buffers? Are
>>> they not files which are in directories specified as project? It seems
>>> that function is iterating over buffers not necessary to iterate.
>>
>> The answer to what buffers are project buffers is encoded in each project
>> backend's implementation of 'project-buffers'.
>>
>> The default considers non-file buffers as well.
> 
> How do I define non-default?

By either redefinining project-vc's project-buffers method, or writing 
your own entire backend.