From: Nick Helm <nick@tenpoint.co.nz>
To: martin rudalics <rudalics@gmx.at>
Cc: 30792@debbugs.gnu.org
Subject: bug#30792: 26.0.91; improve docstring of with-help-window
Date: Tue, 13 Mar 2018 23:31:01 +1300 [thread overview]
Message-ID: <m2ina02roa.fsf@tenpoint.co.nz> (raw)
In-Reply-To: <5AA7A52D.6060808@gmx.at>
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.
next prev parent reply other threads:[~2018-03-13 10:31 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-13 9:39 bug#30792: 26.0.91; improve docstring of with-help-window Nick Helm
2018-03-13 10:17 ` martin rudalics
2018-03-13 10:31 ` Nick Helm [this message]
2018-03-13 16:53 ` Eli Zaretskii
2018-03-14 0:09 ` Nick Helm
2018-03-14 8:14 ` martin rudalics
2018-03-14 16:18 ` Eli Zaretskii
2018-03-14 20:05 ` martin rudalics
2018-03-14 23:12 ` Nick Helm
2018-03-15 8:20 ` martin rudalics
2018-03-18 11:19 ` Nick Helm
2018-03-20 12:28 ` Eli Zaretskii
2018-03-14 15:56 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2ina02roa.fsf@tenpoint.co.nz \
--to=nick@tenpoint.co.nz \
--cc=30792@debbugs.gnu.org \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).