# HG changeset patch # User Richard M. Stallman # Date 774381492 0 # Node ID 604d890822298e070bc94e8789ef9b7ff7ca113c # Parent 44773d8bee3e0f9904f015bc6e79299b19fd6c49 (print-help-return-message): If help buffer is a special display buffer, say nothing about how to switch back. diff -r 44773d8bee3e -r 604d89082229 lisp/help.el --- a/lisp/help.el Sat Jul 16 16:23:52 1994 +0000 +++ b/lisp/help.el Sat Jul 16 17:58:12 1994 +0000 @@ -136,16 +136,40 @@ Computes a message and applies the optional argument FUNCTION to it. If FUNCTION is nil, applies `message' to it, thus printing it." (and (not (get-buffer-window standard-output)) - (funcall (or function 'message) - (concat - (substitute-command-keys - (if (one-window-p t) - (if pop-up-windows - "Type \\[delete-other-windows] to remove help window." - "Type \\[switch-to-buffer] RET to remove help window.") - "Type \\[switch-to-buffer-other-window] RET to restore the other window.")) - (substitute-command-keys - " \\[scroll-other-window] to scroll the help."))))) + (let ((first-message + (cond ((or (member (buffer-name standard-output) + special-display-buffer-names) + (let (found + (tail special-display-regexps) + (name (buffer-name standard-output))) + (while (and tail (not found)) + (if (string-match (car tail) name) + (setq found t)) + (setq tail (cdr tail))) + found)) + ;; If the help output buffer is a special display buffer, + ;; don't say anything about how to get rid of it. + ;; First of all, the user will do that with the window + ;; manager, not with Emacs. + ;; Secondly, the buffer has not been displayed yet, + ;; so we don't know whether its frame will be selected. + ;; Even the message about scrolling the help + ;; might be wrong, but it seems worth showing it anyway. + nil) + ((not (one-window-p t)) + "Type \\[switch-to-buffer-other-window] RET to restore the other window.") + (pop-up-windows + "Type \\[delete-other-windows] to remove help window.") + (t + "Type \\[switch-to-buffer] RET to remove help window.")))) + (funcall (or function 'message) + (concat + (if first-message + (substitute-command-keys first-message) + "") + (if first-message " " "") + (substitute-command-keys + "\\[scroll-other-window] to scroll the help.")))))) (defun describe-key (key) "Display documentation of the function invoked by KEY. KEY is a string."