From: Karl Heuer Date: Tue, 15 Mar 1994 05:12:14 +0000 (+0000) Subject: (Man-original-frame): New variable. X-Git-Tag: emacs-19.34~9489 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=75db9a6429d9a1f17f8ec5321ba80ef3f2366f18;p=emacs.git (Man-original-frame): New variable. (Man-getpage-in-background): Save the frame that man was invoked in. (Man-notify-when-ready): Restore it, if appropriate. --- diff --git a/lisp/man.el b/lisp/man.el index b18612ec8fc..0000a0d9a6e 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -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)