GNU bug report logs -
#77118
31.0.50; help-key-binding face in help buffer
Previous Next
Reported by: Arash Esbati <arash <at> gnu.org>
Date: Wed, 19 Mar 2025 13:06:02 UTC
Severity: normal
Found in version 31.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Stephen Berman <stephen.berman <at> gmx.net>
> Cc: rudalics <at> gmx.at, stefankangas <at> gmail.com, arash <at> gnu.org,
> monnier <at> iro.umontreal.ca, 77118 <at> debbugs.gnu.org
> Date: Fri, 11 Apr 2025 14:50:57 +0200
>
> >> diff --git a/lisp/help.el b/lisp/help.el
> >> index b0c003ed16a..c7419b0d0ad 100644
> >> --- a/lisp/help.el
> >> +++ b/lisp/help.el
> >> @@ -2190,8 +2190,11 @@ help-form-show
> >> "Display the output of a non-nil `help-form'."
> >> (let ((msg (eval help-form t)))
> >> (if (stringp msg)
> >> - (with-output-to-temp-buffer " *Char Help*"
> >> - (princ msg)))))
> >> + (let ((bufname " *Char Help*"))
> >> + (with-output-to-temp-buffer bufname)
> >> + (with-current-buffer bufname
> >> + (let (buffer-read-only)
> >> + (insert msg)))))))
> >>
> >> (defun help--append-keystrokes-help (str)
> >> (let* ((keys (this-single-command-keys))
> >
> > Yes, if this does the job, it's much simpler and safer, IMO.
>
> Ok.
>
> > But let's see if anyone else has comments.
>
> Sure.
>
> > P.S. Why do we still need with-output-to-temp-buffer, if we just doing
> > the 'insert' part inside the body?
>
> It's with-output-to-temp-buffer that displays the buffer and insures
> that it's content is up-to-date and also that the buffer is in Help mode
> (the latter is done, IIUC, in the C code via
> read_char_help_form_unwind). We can avoid with-output-to-temp-buffer
> here with the following patch:
No, let's go with the safe patch above. I agree with Martin that this
stuff is extremely fragile and should be taken with extra care.
So I think in the above form, this is good for the emacs-30 branch.
Thanks.
This bug report was last modified 65 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.