(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)
(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")
(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)