GNU bug report logs - #59935
29.0.60; project-list-buffers is slow

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dgutov <at> yandex.ru>

Date: Sat, 10 Dec 2022 01:50:02 UTC

Severity: normal

Fixed in version 29.0.60

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 59935 <at> debbugs.gnu.org, juri <at> linkov.net
Subject: bug#59935: 29.0.60; project-list-buffers is slow
Date: Sun, 11 Dec 2022 12:23:13 +0200
On 11/12/2022 08:19, Eli Zaretskii wrote:
>> Date: Sat, 10 Dec 2022 22:23:01 +0200
>> Cc: 59935 <at> debbugs.gnu.org, juri <at> linkov.net
>> From: Dmitry Gutov <dgutov <at> yandex.ru>
>>
>> On 10/12/2022 22:11, Eli Zaretskii wrote:
>>> I see this in emacs-29:
>>>
>>>                (setq-local revert-buffer-function
>>>                            (lambda (&rest _ignored)
>>>                              (list-buffers--refresh (project-buffers pr))
>>>                              (tabulated-list-print t))))
>>>
>>> So I still don't understand your fears.
>>
>> That's the (version< emacs-version "29.0.50") branch.
> 
> Still unclear.  It almost looks like you don't _want_ me to
> understand.  A detailed explanation with code fragments would be much
> more effective.

I think I've explained everything, and we are now going in circles. Why 
not look at the definition yourself? It's 12 lines.

The function has two execution branches: one for the latest Emacs (at 
the moment), and one (the largest one) for older Emacsen.

The main problematic behavior (low performance) is exhibited by the 
"latest" branch, which looks like this:

  (let ((pr (project-current t)))
      (display-buffer
       (if (version< emacs-version "29.0.50")
           ;; ...
         (list-buffers-noselect
          arg nil (lambda (buf) (memq buf (project-buffers pr)))))))

> Anyway, I only entered this discussion because you asked about making
> some non-trivial changes on the release branch.  If that is no longer
> an issue, I will gladly bow out of this.

I expect Juri is going to argue for that later. For non-trivial changes 
in buff-menu.el, no less.




This bug report was last modified 2 years and 215 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.