comparison lisp/man.el @ 6363:e5d9ea7852bf

(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.
author Karl Heuer <kwzh@gnu.org>
date Tue, 15 Mar 1994 05:12:14 +0000
parents a9363ff2d3c7
children 284634d109ee
comparison
equal deleted inserted replaced
6362:a9363ff2d3c7 6363:e5d9ea7852bf
229 (make-variable-buffer-local 'Man-sections-alist) 229 (make-variable-buffer-local 'Man-sections-alist)
230 (make-variable-buffer-local 'Man-refpages-alist) 230 (make-variable-buffer-local 'Man-refpages-alist)
231 (make-variable-buffer-local 'Man-page-list) 231 (make-variable-buffer-local 'Man-page-list)
232 (make-variable-buffer-local 'Man-current-page) 232 (make-variable-buffer-local 'Man-current-page)
233 (make-variable-buffer-local 'Man-page-mode-string) 233 (make-variable-buffer-local 'Man-page-mode-string)
234 (make-variable-buffer-local 'Man-original-frame)
234 235
235 (setq-default Man-sections-alist nil) 236 (setq-default Man-sections-alist nil)
236 (setq-default Man-refpages-alist nil) 237 (setq-default Man-refpages-alist nil)
237 (setq-default Man-page-list nil) 238 (setq-default Man-page-list nil)
238 (setq-default Man-current-page 0) 239 (setq-default Man-current-page 0)
455 buffer) 456 buffer)
456 (Man-notify-when-ready buffer) 457 (Man-notify-when-ready buffer)
457 (require 'env) 458 (require 'env)
458 (message "Invoking man %s in background..." man-args) 459 (message "Invoking man %s in background..." man-args)
459 (setq buffer (generate-new-buffer bufname)) 460 (setq buffer (generate-new-buffer bufname))
461 (save-excursion
462 (set-buffer buffer)
463 (setq Man-original-frame (selected-frame)))
460 (let ((process-environment (copy-sequence process-environment))) 464 (let ((process-environment (copy-sequence process-environment)))
461 ;; Prevent any attempt to use display terminal fanciness. 465 ;; Prevent any attempt to use display terminal fanciness.
462 (setenv "TERM" "dumb") 466 (setenv "TERM" "dumb")
463 (set-process-sentinel 467 (set-process-sentinel
464 (start-process "man" buffer "sh" "-c" 468 (start-process "man" buffer "sh" "-c"
472 (cond 476 (cond
473 ((eq Man-notify 'newframe) 477 ((eq Man-notify 'newframe)
474 (set-buffer man-buffer) 478 (set-buffer man-buffer)
475 (new-frame Man-frame-parameters)) 479 (new-frame Man-frame-parameters))
476 ((eq Man-notify 'bully) 480 ((eq Man-notify 'bully)
481 (and (frame-live-p Man-original-frame)
482 (select-frame Man-original-frame))
477 (pop-to-buffer man-buffer) 483 (pop-to-buffer man-buffer)
478 (delete-other-windows)) 484 (delete-other-windows))
479 ((eq Man-notify 'aggressive) 485 ((eq Man-notify 'aggressive)
486 (and (frame-live-p Man-original-frame)
487 (select-frame Man-original-frame))
480 (pop-to-buffer man-buffer)) 488 (pop-to-buffer man-buffer))
481 ((eq Man-notify 'friendly) 489 ((eq Man-notify 'friendly)
490 (and (frame-live-p Man-original-frame)
491 (select-frame Man-original-frame))
482 (display-buffer man-buffer 'not-this-window)) 492 (display-buffer man-buffer 'not-this-window))
483 ((eq Man-notify 'polite) 493 ((eq Man-notify 'polite)
484 (beep) 494 (beep)
485 (message "Manual buffer %s is ready." (buffer-name man-buffer))) 495 (message "Manual buffer %s is ready." (buffer-name man-buffer)))
486 ((eq Man-notify 'quiet) 496 ((eq Man-notify 'quiet)