Subject: Re: bug#66750: Unhelpful text in C-h v for variables with a lambda form as value

From: Alan Mackenzie <[email-masked]>
Date: Mon, 25 Mar 2024 12:03:50 +0000

Hello, everybody.

On Thu, Nov 02, 2023 at 23:20:36 -0400, Stefan Monnier wrote:
> > How do you feel about this, Stefan (M.)?

> Seems like it would leave `lambda` as well as the closure
> objects unchanged, so it looks good to me.

> The one thing I'd point out is: try to pick a format for the "data in
> docstring" that is easily/naturally extensible (contrary to what I did
> for the arglists), so that when we get around to adding support for
> things like debugging info we could add it there without having to
> invent a new format.

I've just committed a provisional fix to this bug in branch
feature/positioned-lambdas.

On starting Emacs and doing C-h v org-mode-hook RET, the following gets
displayed:

org-mode-hook is a variable defined in `org.el'.

Its value is shown below.

Not documented as a variable.

  This variable may be risky if used as a file-local variable.
  You can customize this variable.

Value:
({org-ctags.el 7605} #f(compiled-function () #<bytecode -0x15a0204bcec6752e>)
               {org-mouse.el 30108}
               #f(compiled-function () #<bytecode 0x1c77f77cde0ab8f0>) {org.el
               844741} #f(compiled-function () #<bytecode -0x2a221d361c9ad4a>)
               {ob-core.el 59418}
               #f(compiled-function () #<bytecode -0xa13ed1a788fcde6>)
               org-babel-result-hide-spec org-babel-hide-all-hashes)
Original value was nil

..  Each anonymous function is annotated with a buffer name and offset
which indicates the position of the source of the function.

Clearly there is room for improvement: The display is not well filled; a
file name may be better than a buffer name; line/column numbers may be
better than buffer offsets.  There is also a possibility for putting
buttons on the text fields to bring up the source code.

-- 
Alan Mackenzie (Nuremberg, Germany).