diff options
Diffstat (limited to 'lisp/window.el')
-rw-r--r-- | lisp/window.el | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/lisp/window.el b/lisp/window.el index b3a66ca1dd3..30ee622cfe6 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -143,37 +143,36 @@ to `display-buffer'." window)))) (defmacro with-temp-buffer-window (buffer-or-name action quit-function &rest body) - "Evaluate BODY and display buffer specified by BUFFER-OR-NAME. -BUFFER-OR-NAME must specify either a live buffer or the name of a -buffer. If no buffer with such a name exists, create one. + "Evaluate BODY and display the buffer specified by BUFFER-OR-NAME. +BUFFER-OR-NAME must specify either a live buffer, or the name of a +buffer (if it does not exist, this macro creates it). Make sure the specified buffer is empty before evaluating BODY. Do not make that buffer current for BODY. Instead, bind `standard-output' to that buffer, so that output generated with `prin1' and similar functions in BODY goes into that buffer. -After evaluating BODY, mark the specified buffer unmodified and -read-only, and display it in a window via `display-buffer'. Pass -ACTION as action argument to `display-buffer'. Automatically -shrink the window used if `temp-buffer-resize-mode' is enabled. +After evaluating BODY, this marks the specified buffer unmodified and +read-only, and displays it in a window via `display-buffer', passing +ACTION as the action argument to `display-buffer'. It automatically +shrinks the relevant window if `temp-buffer-resize-mode' is enabled. -Return the value returned by BODY unless QUIT-FUNCTION specifies -a function. In that case, run the function with two arguments - +Returns the value returned by BODY, unless QUIT-FUNCTION specifies +a function. In that case, runs the function with two arguments - the window showing the specified buffer and the value returned by -BODY - and return the value returned by that function. +BODY - and returns the value returned by that function. If the buffer is displayed on a new frame, the window manager may decide to select that frame. In that case, it's usually a good strategy if the function specified by QUIT-FUNCTION selects the window showing the buffer before reading a value from the -minibuffer, for example, when asking a `yes-or-no-p' question. - -This construct is similar to `with-output-to-temp-buffer' but -does neither put the buffer in help mode nor does it call -`temp-buffer-show-function'. It also runs different hooks, -namely `temp-buffer-window-setup-hook' (with the specified buffer -current) and `temp-buffer-window-show-hook' (with the specified -buffer current and the window showing it selected). +minibuffer; for example, when asking a `yes-or-no-p' question. + +This construct is similar to `with-output-to-temp-buffer', but does +not put the buffer in help mode, or call `temp-buffer-show-function'. +It also runs different hooks, namely `temp-buffer-window-setup-hook' +\(with the specified buffer current) and `temp-buffer-window-show-hook' +\(with the specified buffer current and the window showing it selected). Since this macro calls `display-buffer', the window displaying the buffer is usually not selected and the specified buffer |