@end defun
@vindex help-window-select
-@defmac with-help-window buffer-name body@dots{}
+@defmac with-help-window buffer-or-name body@dots{}
This macro evaluates @var{body} like @code{with-output-to-temp-buffer}
-(@pxref{Temporary Displays}), inserting any output produced by its forms
-into a buffer named @var{buffer-name}. (Usually, @var{buffer-name}
-should be the value returned by the function @code{help-buffer}.) It
-also puts the specified buffer into Help mode and displays a message
-telling the user how to quit and scroll the help window. It selects the
-help window if the current value of the user option
-@code{help-window-select} has been set accordingly. It returns the last
-value in @var{body}.
+(@pxref{Temporary Displays}), inserting any output produced by its
+forms into a buffer specified by @var{buffer-or-name}, which can be a
+buffer or the name of a buffer. (Frequently, @var{buffer-or-name} is
+the value returned by the function @code{help-buffer}.) This macro
+puts the specified buffer into Help mode and displays a message
+telling the user how to quit and scroll the help window. It selects
+the help window if the current value of the user option
+@code{help-window-select} has been set accordingly. It returns the
+last value in @var{body}.
@end defmac
@defun help-setup-xref item interactive-p
;; (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)
+ "Evaluate BODY, send output to BUFFER-OR-NAME and show in a help window.
+This construct is like `with-temp-buffer-window' but unlike that
+puts the buffer specified by BUFFER-OR-NAME in `help-mode' and
+displays a message about how to delete the help window when it's no
+longer needed. The help window will be selected if
+`help-window-select' is non-nil. See `help-window-setup' for
+more options."
(declare (indent 1) (debug t))
`(progn
;; Make `help-window-point-marker' point nowhere. The only place
(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.