]> git.eshelyaron.com Git - emacs.git/commitdiff
(Man-original-frame): New variable.
authorKarl Heuer <kwzh@gnu.org>
Tue, 15 Mar 1994 05:12:14 +0000 (05:12 +0000)
committerKarl Heuer <kwzh@gnu.org>
Tue, 15 Mar 1994 05:12:14 +0000 (05:12 +0000)
(Man-getpage-in-background): Save the frame that man was invoked in.
(Man-notify-when-ready): Restore it, if appropriate.

lisp/man.el

index b18612ec8fc2a0421eac9a9de40a0c053ccb9361..0000a0d9a6edf69742e9e54bf2d0c187976a5688 100644 (file)
@@ -231,6 +231,7 @@ This regular expression should start with a `^' character.")
 (make-variable-buffer-local 'Man-page-list)
 (make-variable-buffer-local 'Man-current-page)
 (make-variable-buffer-local 'Man-page-mode-string)
+(make-variable-buffer-local 'Man-original-frame)
 
 (setq-default Man-sections-alist nil)
 (setq-default Man-refpages-alist nil)
@@ -457,6 +458,9 @@ start a background process even if a buffer already exists and
       (require 'env)
       (message "Invoking man %s in background..." man-args)
       (setq buffer (generate-new-buffer bufname))
+      (save-excursion
+       (set-buffer buffer)
+       (setq Man-original-frame (selected-frame)))
       (let ((process-environment (copy-sequence process-environment)))
        ;; Prevent any attempt to use display terminal fanciness.
        (setenv "TERM" "dumb")
@@ -474,11 +478,17 @@ See the variable `Man-notify' for the different notification behaviors."
     (set-buffer man-buffer)
     (new-frame Man-frame-parameters))
    ((eq Man-notify 'bully)
+    (and (frame-live-p Man-original-frame)
+        (select-frame Man-original-frame))
     (pop-to-buffer man-buffer)
     (delete-other-windows))
    ((eq Man-notify 'aggressive)
+    (and (frame-live-p Man-original-frame)
+        (select-frame Man-original-frame))
     (pop-to-buffer man-buffer))
    ((eq Man-notify 'friendly)
+    (and (frame-live-p Man-original-frame)
+        (select-frame Man-original-frame))
     (display-buffer man-buffer 'not-this-window))
    ((eq Man-notify 'polite)
     (beep)