Subject: bug#13841: 24.3.50; Regression - unreadable `C-h k' help

From: Eli Zaretskii <[email-masked]>
Date: Sat, 30 Apr 2016 18:52:50 +0300

> Date: Sat, 30 Apr 2016 07:37:50 -0800 (GMT-08:00)
> From: Drew Adams <[email-masked]>
> Cc: Lars Ingebrigtsen <[email-masked]>, [email-masked]
> 
> > > This is a REGRESSION.  With Emacs 23.4, emacs -Q C-h k, same
> > > recipe, you see this:
> > 
> > The difference to newer Emacsen is that this menu command had been a
> > quoted lambda in Emacs 23 (that didn't get compiled), and has been
> > unquoted since then (good!).  So I guess it's not a regression since
> > 23.4.
> 
> Not sure what you're saying about when or whether a regression
> was introduced.
> 
> In fact, this is a regression that was introduced in Emacs 24.3
> (probably you meant that, not 23.4).  In 24.2 and prior there
> was no such problem.

Of course, there was a problem!  Showing users a bunch of convoluted
Lisp when they ask what a key does is plain usability bug!  It doesn't
matter whether that Lisp is compiled or not, it's no way of _helping_
the user understand what the function does.

If you don't mind the Lisp form, you shouldn't mind the byte-compiled
form, either.  And if you cannot read bytecode, you can disassemble
it, then it should be as crystal-clear to you as the Emacs 23 vintage
result.

> And in this particular case, at least, a simple fix should
> be to use a named function and not an anonymous one (in
> `menu-bar-line-wrapping-menu').

Indeed.  And in any other case like this.

So let's stop talking about "regressions", and start talking about the
real problem here.  Which also suggests an easy solution.

> But a more general solution should be sought to the various
> problems introduced by the aggressive/eager byte-compiling
> that is the underlying cause of this regression.

A more general solution is not to have lambda functions hang on keys
and mouse clicks.