GNU bug report logs -
#45379
28.0.50; Degraded Performance of describe-buffer-bindings
Previous Next
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
View this message in rfc822 format
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.