Subject: bug#24235: 25.1.50; `describe-bindings' request: show `??' definitions

From: Lars Ingebrigtsen <[email-masked]>
Date: Sat, 27 Jul 2019 17:10:21 +0200

Drew Adams <[email-masked]> writes:

> Enhancement request.  Keys shown by `describe-bindings' and similar
> (including `substitute-command-keys' for \{...}) currently show `??' as
> their binding if the binding is not a command symbol.
>
> Please turn the `??' occurrences into links that when clicked show the
> source code for the key's binding, when available.  If it is
> byte-compiled, and the uncompiled code is unknown, show the byte code,
> but with control chars filtered out (so somewhat human-readable).
>
> This lets users see what is behind the `??', giving them a somewhat
> better idea what the key does.

The calling sequence for this command is slightly convoluted, but it
turns out that help.el calls basically

  (describe-buffer-bindings buffer nil nil)

which is a C function (but why?) which inserts all the

C-n		next-line
C-o		open-line
C-H-w		??

stuff, which is then post-processed to add the xref links.  So at the
point where the xref is added, then there's no feasible way to determine
what the ?? referred to, really, without redoing the work the C function
had already done...

I think.

Anybody?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no