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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 22 Jul 2022 16:40:14 +0300

> Cc: [email-masked], [email-masked], [email-masked]
> Date: Thu, 21 Jul 2022 15:33:52 +0300
> From: Eli Zaretskii <[email-masked]>
> 
> > > > Alternatively we could introduce a named helper function. Note there
> > > > are more calls of `help-setup-xref' using lambdas in arguments.
> > >
> > >
> > > And that would solve the problem? Did you try that?
> > 
> > I tried it with describe-function and it does solve the problem, although as noted above there are many other functions that generate help buffers and pass in a lambda.
> 
> I know very well there are other instances, I just wanted us to stay
> focused.
> 
> > Named helper:
> > 
> > (defun describe-function-xref-func (function buffer)
> >   (let ((describe-function-orig-buffer
> >                     (if (buffer-live-p buffer) buffer)))
> >                (describe-function function)))
> > 
> > Revised describe-function snippet:
> > 
> >     (help-setup-xref
> >      (list 'describe-function-xref-func function describe-function-orig-buffer)
> >      (called-interactively-p 'interactive))
> > 
> > This produces the following bookmark, which I confirmed still works after restarting Emacs:
> > 
> > ("named-function-help-bookmark"
> >  (position . 1)
> >  (last-modified 25305 7198 806743 243000)
> >  (help-fn . describe-function-xref-func)
> >  (help-args completing-read "*scratch*")
> >  (position . 1)
> >  (handler . help-bookmark-jump))
> 
> Thanks.  If Andrea confirms that this won't have any problems with
> native-compilation, I will install such changes on the release branch
> (since AFAIU this issue is a regression in Emacs 28).

Andrea, could you please tell if using a named function there will fix
the problem?

Thanks.