changeset 8697:c75e435af62f

(Man-notify-when-ready): Get Man-original-frame from the proper buffer.
author Richard M. Stallman <rms@gnu.org>
date Sun, 04 Sep 1994 06:52:25 +0000
parents 10ec51f5e4b0
children cb28e33e5114
files lisp/man.el
diffstat 1 files changed, 37 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/man.el	Sun Sep 04 02:09:55 1994 +0000
+++ b/lisp/man.el	Sun Sep 04 06:52:25 1994 +0000
@@ -481,40 +481,43 @@
 (defun Man-notify-when-ready (man-buffer)
   "Notify the user when MAN-BUFFER is ready.
 See the variable `Man-notify' for the different notification behaviors."
-  (cond
-   ((eq Man-notify 'newframe)
-    ;; Since we run asynchronously, perhaps while Emacs is waiting for input,
-    ;; we must not leave a different buffer current.
-    ;; We can't rely on the editor command loop to reselect
-    ;; the selected window's buffer.
-    (save-excursion
-      (set-buffer man-buffer)
-      (make-frame Man-frame-parameters)))
-   ((eq Man-notify 'bully)
-    (and window-system
-	 (frame-live-p Man-original-frame)
-	 (select-frame Man-original-frame))
-    (pop-to-buffer man-buffer)
-    (delete-other-windows))
-   ((eq Man-notify 'aggressive)
-    (and window-system
-	 (frame-live-p Man-original-frame)
-	 (select-frame Man-original-frame))
-    (pop-to-buffer man-buffer))
-   ((eq Man-notify 'friendly)
-    (and window-system
-	 (frame-live-p Man-original-frame)
-	 (select-frame Man-original-frame))
-    (display-buffer man-buffer 'not-this-window))
-   ((eq Man-notify 'polite)
-    (beep)
-    (message "Manual buffer %s is ready." (buffer-name man-buffer)))
-   ((eq Man-notify 'quiet)
-    (message "Manual buffer %s is ready." (buffer-name man-buffer)))
-   ((or (eq Man-notify 'meek)
-	t)
-    (message ""))
-   ))
+  (let ((saved-frame (save-excursion
+		       (set-buffer man-buffer)
+		       Man-original-frame)))
+    (cond
+     ((eq Man-notify 'newframe)
+      ;; Since we run asynchronously, perhaps while Emacs is waiting for input,
+      ;; we must not leave a different buffer current.
+      ;; We can't rely on the editor command loop to reselect
+      ;; the selected window's buffer.
+      (save-excursion
+	(set-buffer man-buffer)
+	(make-frame Man-frame-parameters)))
+     ((eq Man-notify 'bully)
+      (and window-system
+	   (frame-live-p saved-frame)
+	   (select-frame saved-frame))
+      (pop-to-buffer man-buffer)
+      (delete-other-windows))
+     ((eq Man-notify 'aggressive)
+      (and window-system
+	   (frame-live-p saved-frame)
+	   (select-frame saved-frame))
+      (pop-to-buffer man-buffer))
+     ((eq Man-notify 'friendly)
+      (and window-system
+	   (frame-live-p saved-frame)
+	   (select-frame saved-frame))
+      (display-buffer man-buffer 'not-this-window))
+     ((eq Man-notify 'polite)
+      (beep)
+      (message "Manual buffer %s is ready." (buffer-name man-buffer)))
+     ((eq Man-notify 'quiet)
+      (message "Manual buffer %s is ready." (buffer-name man-buffer)))
+     ((or (eq Man-notify 'meek)
+	  t)
+      (message ""))
+     )))
 
 (defun Man-set-fonts ()
   (goto-char (point-min))