GNU bug report logs -
#30792
26.0.91; improve docstring of with-help-window
Previous Next
Reported by: Nick Helm <nick <at> tenpoint.co.nz>
Date: Tue, 13 Mar 2018 09:40:02 UTC
Severity: minor
Found in version 26.0.91
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 30792 <at> debbugs.gnu.org (full text, mbox):
On Tue, 13 Mar 2018 at 23:17:17 +1300, martin rudalics wrote:
>> I find the docstring of `with-help-window' a little hard to follow, so I
>> had a go at improving it. This also renames the var BUFFER-NAME to
>> BUFFER-OR-NAME to match `with-temp-buffer-window' and others.
>
> Thanks. I can see only part of that renaming in your patch. Am I
> something missing?
>
> martin
Sorry, got a little ahead of myself. Try this.
--- a/lisp/help.el 2018-03-13 19:52:32.000000000 +1300
+++ b/lisp/help.el 2018-03-13 23:23:52.000000000 +1300
@@ -1370,15 +1370,20 @@
;; (4) A marker (`help-window-point-marker') to move point in the help
;; window to an arbitrary buffer position.
-(defmacro with-help-window (buffer-name &rest body)
- "Display buffer named BUFFER-NAME in a help window.
-Evaluate the forms in BODY with standard output bound to a buffer
-called BUFFER-NAME (creating it if it does not exist), put that
-buffer in `help-mode', display the buffer in a window (see
-`with-temp-buffer-window' for details) and issue a message how to
-deal with that \"help\" window when it's no more needed. Select
-the help window if the current value of the user option
-`help-window-select' says so. Return last value in BODY."
+(defmacro with-help-window (buffer-or-name &rest body)
+ "Show buffer BUFFER-OR-NAME with output of BODY in a help window.
+Make the buffer specified by BUFFER-OR-NAME empty (or create it
+if it does not exist). Evaluate BODY with `standard-output' bound
+to that buffer, so that output from `prin1' and similar functions
+in BODY go into that buffer. The buffer is not made current while
+BODY is evaluated. Finally, display the buffer in a window and
+put it in `help-mode'. Return the value returned by BODY.
+
+The help window will be selected if `help-window-select' is
+non-nil. However, if the help window displays on a different
+frame, the window manager may automatically select that frame.
+
+See `with-temp-buffer-window' for more details."
(declare (indent 1) (debug t))
`(progn
;; Make `help-window-point-marker' point nowhere. The only place
@@ -1390,7 +1395,7 @@
(cons 'help-mode-finish temp-buffer-window-show-hook)))
(setq help-window-old-frame (selected-frame))
(with-temp-buffer-window
- ,buffer-name nil 'help-window-setup (progn ,@body)))))
+ ,buffer-or-name nil 'help-window-setup (progn ,@body)))))
;; Called from C, on encountering `help-char' when reading a char.
;; Don't print to *Help*; that would clobber Help history.
This bug report was last modified 7 years and 123 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.