GNU bug report logs - #45379
28.0.50; Degraded Performance of describe-buffer-bindings

Previous Next

Package: emacs;

Reported by: styang <at> fastmail.com

Date: Wed, 23 Dec 2020 06:03:01 UTC

Severity: normal

Tags: confirmed, fixed, patch

Merged with 47494, 47565, 48812

Found in version 28.0.50

Fixed in version 28.1

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


Message #47 received at 45379 <at> debbugs.gnu.org (full text, mbox):

From: handa <handa <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: stephen.berman <at> gmx.net, stefan <at> marxist.se, juri <at> linkov.net,
 styang <at> fastmail.com, monnier <at> iro.umontreal.ca, 45379 <at> debbugs.gnu.org
Subject: Re: bug#45379: 28.0.50; Degraded Performance of
 describe-buffer-bindings
Date: Fri, 02 Apr 2021 00:06:40 +0900
In article <838s65ktvk.fsf <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org> writes:

> > > Is the patch for the above improvement the one included in the file
> > > 0001-Fix-describe-buffer-bindings-performance-regression.patch?
> > 
> > Yes, it is.

It seems that the main intention of that patch is to avoid unnecessary
call of char_table_ref_and_range introduced by the commit below:

> >     Don't show key ranges if shadowed by different commands
> > 
> >     * src/keymap.c (describe_vector): Make sure found consecutive keys
> >     are either not shadowed or, if they are, that they are shadowed by
> >     the same command.  (Bug#9293)

In describe_vector, if VECTOR is a char-table, char_table_ref_and_range
is already called at the fairly beginning of the main loop.  So, we do
not have to call it again, and thus, I think the patch is doing the
correct thing.

But, I don't know whether the following part in the patch is correct or
not.

+	  /* Ignore `self-insert-command' for performance.  */
+	  && !EQ (definition, Qself_insert_command))

---
K. Handa
handa <at> gnu.org




This bug report was last modified 3 years and 242 days ago.

Previous Next


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