Subject: bug#56643: 29.0.50; Help-mode bookmarks not loading with native compilation

From: Michael Heerdegen <[email-masked]>
Date: Thu, 21 Jul 2022 00:47:30 +0200

Eli Zaretskii <[email-masked]> writes:

>    (help-setup-xref
>      (list (lambda (function buffer)
>              (let ((describe-function-orig-buffer
>                     (if (buffer-live-p buffer) buffer)))
>                (describe-function function)))
>            function describe-function-orig-buffer)
>      (called-interactively-p 'interactive))
>
> In a natively-compiled Emacs, this lambda produces a native-compiled
> subr.  Is there a way of telling Emacs not to produce such a subr, but
> instead to produce byte-code for this lambda?  If yes, that could be a
> (somewhat ugly) workaround in this case.

Alternatively we could introduce a named helper function.  Note there
are more calls of `help-setup-xref' using lambdas in arguments.

I see a more general problem: anywhere where printing an anonymous
function readably is necessary there is a potential breakage when using
natively compiled Emacs - right?  That would be quite a limitation.

Michael.