Subject: Re: bug#52053: 29.0.50; Nonsensical button "C-x C-f" in scratch buffer

From: Eli Zaretskii <[email-masked]>
Date: Thu, 25 Nov 2021 13:21:02 +0200

> Date: Thu, 25 Nov 2021 11:07:44 +0000
> From: Gregory Heytings <[email-masked]>
> cc: [email-masked], [email-masked], [email-masked]
> 
> > Thanks, but I'd prefer a less obscure way of telling whether this is 
> > going into *Help* buffers.  Is this really the only way?
> 
> I agree with you that it's a bit obscure, and I tried to find a better 
> way, but couldn't.  Someone else might have a better idea.  I think 
> another possible way would be to query this-command:
> 
> (in-help (or (eq major-mode 'help-mode)
>               (and this-command
>                    (where-is-internal this-command help-map t))))
> 
> But somehow I find this even less elegant, and I'm less certain about its 
> correctness.

It's definitely not more elegant, agreed.

I do hope a better idea emerges.  Anybody?

> > Or maybe the mouse-face etc. should not be put as part of 
> > substitute-command-keys, but by the Help mode itself, when the text is 
> > already in the *Help* buffer?  As we use substitute-command-keys more 
> > and more, these problems will probably pop up more and more, so maybe we 
> > should rethink whether this part is really something it should do.
> >
> 
> With this patch it shouldn't happen outside of Help mode anymore.

Yes, but that's somewhat blunt a weapon, I think.  My idea was to
maybe let the caller decide whether this is wanted or not, if we are
going to use substitute-command-keys in way more contexts than it was
originally meant to.