Subject: bug#45379: 28.0.50; Degraded Performance of describe-buffer-bindings

From: Eli Zaretskii <[email-masked]>
Date: Tue, 30 Mar 2021 10:01:19 +0300

Ping!  Kenichi, could you please help us with this issue?

> Date: Sun, 07 Mar 2021 08:15:10 +0200
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked], [email-masked], [email-masked],
>  [email-masked], [email-masked], [email-masked], [email-masked]
> 
> > From: handa <[email-masked]>
> > Cc: [email-masked], [email-masked], [email-masked], [email-masked],
> > 	[email-masked], [email-masked],
> > 	[email-masked], [email-masked]
> > Date: Sun, 07 Mar 2021 10:42:39 +0900
> > 
> > In article <[email-masked]>, Eli Zaretskii <[email-masked]> writes:
> > 
> > > > From: Stefan Kangas <[email-masked]>
> > > > Date: Fri, 5 Mar 2021 20:44:33 -0800
> > > > Cc: Juri Linkov <[email-masked]>, martin rudalics <[email-masked]>, Eli Zaretskii <[email-masked]>, 
> > > > 	[email-masked], Stefan Monnier <[email-masked]>, 
> > > > 	Stephen Berman <[email-masked]>
> > > > 
> > > > It turns out that we were doing unnecessary looping due to the above
> > > > mentioned commit.
> > 
> > Could you show me what is "the above mentioned commit"?
> 
> This one, I guess:
> 
> > commit a6490343366f2b2331a91dcb693effb3a9dd78f5
> > Author:     Stefan Kangas <[email-masked]>
> > AuthorDate: Fri Nov 13 15:28:29 2020 +0100
> > Commit:     Stefan Kangas <[email-masked]>
> > CommitDate: Sun Nov 22 02:45:03 2020 +0100
> > 
> >     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)
> >     * test/src/keymap-tests.el
> >     (help--describe-vector/bug-9293-one-shadowed-in-range): New test.
> 
> > > >  While working on this, I also found that we can get
> > > > rid of an unnecessary call to char_table_ref_and_range, which should
> > > > make this function run even faster.
> > 
> > Is the patch for the above improvement the one included in the file
> > 0001-Fix-describe-buffer-bindings-performance-regression.patch?
> 
> Yes, it is.
> 
> > > > I'm also copying in Kenichi Handa, who was the last to touch this code.
> > > > Handa-san, please let us know if you have any comments on this patch.
> > > > Thanks in advance.
> > 
> > > AFAICT, you didn't CC Kenichi; I have now added him to the discussion.
> > 
> > It was more than 10 years ago that I last read keymap.c, and since then,
> > the code has been changed a lot.  It will take some time to understand
> > the latest code.
> 
> Thanks in advance.