Mercurial > emacs
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) |