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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 11 Dec 2022 20:17:30 +0200

> Date: Sun, 11 Dec 2022 20:12:25 +0200
> Cc: [email-masked]
> From: Dmitry Gutov <[email-masked]>
> 
> On 11/12/2022 19:49, Eli Zaretskii wrote:
> > Thanks, but I hope you don't intend to ask to install this on the
> > release branch.  And changing back the signature of
> > list-buffers-noselect is extremely problematic, even though we changed
> > it only for Emacs 29.
> 
> The problem with *not* changing it, is we don't seem to be able to use 
> the new calling convention to implement project-list-buffers working 
> without this performance problem.
> 
> We could just use the old (private) interface, but then the new calling 
> convention will be left without any users at all. We extended it in 
> order to implement this feature anyway.

I don't think I follow.  Why not leave alone that additional PREDICATE
argument of list-buffers-noselect, and add a feature where the
BUFFER-LIST argument could be a function?  That's be a compatible
change.  Just keep the PREDICATE argument and the code which supports
it, and document that if PREDICATE is a function, BUFFER-LIST cannot
be a function.