summaryrefslogtreecommitdiff
path: root/lisp/man.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-03-15 05:12:14 +0000
committerKarl Heuer <kwzh@gnu.org>1994-03-15 05:12:14 +0000
commitf7958c114ac8d4e8a744cbae914b7fca13fd5463 (patch)
tree440b43cb4af387866531ebb4c369b3c362b9d052 /lisp/man.el
parentdbc7f0e030ff55cf338daa9f97e826a0a0d866a8 (diff)
downloademacs-f7958c114ac8d4e8a744cbae914b7fca13fd5463.tar.gz
(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.
Diffstat (limited to 'lisp/man.el')
-rw-r--r--lisp/man.el10
1 files changed, 10 insertions, 0 deletions
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)