# HG changeset patch # User Richard M. Stallman # Date 774384517 0 # Node ID 1ad35b4d91284c53381085ff586e1d45b136f23e # Parent 604d890822298e070bc94e8789ef9b7ff7ca113c (make-help-screen): Handle case where *Help* comes up in a separate frame. diff -r 604d89082229 -r 1ad35b4d9128 lisp/help-macro.el --- a/lisp/help-macro.el Sat Jul 16 17:58:12 1994 +0000 +++ b/lisp/help-macro.el Sat Jul 16 18:48:37 1994 +0000 @@ -99,7 +99,8 @@ ;; and where we execute the chosen help command. (local-map (make-sparse-keymap)) (minor-mode-map-alist nil) - config key char) + (prev-frame (selected-frame)) + config new-frame key char) (unwind-protect (progn (setcdr local-map (, helped-map)) @@ -113,13 +114,20 @@ (progn (setq config (current-window-configuration)) (switch-to-buffer-other-window "*Help*") + (if (not (eq (window-frame (selected-window)) + prev-frame)) + (setq new-frame (window-frame (selected-window)) + config nil)) (erase-buffer) (insert help-screen) (goto-char (point-min)) (while (or (memq char (cons help-char '(?? ?\C-v ?\ ?\177 delete ?\M-v))) + (eq (car-safe char) 'switch-frame) (equal key "\M-v")) (condition-case nil (progn + (if (eq (car-safe char) 'switch-frame) + (handle-switch-frame char)) (if (memq char '(?\C-v ?\ )) (scroll-up)) (if (or (memq char '(?\177 ?\M-v delete)) @@ -149,9 +157,12 @@ (progn (set-window-configuration config) (setq config nil))) - (setq overriding-local-map nil) + (if new-frame + (progn (iconify-frame new-frame) + (setq new-frame nil))) (call-interactively defn)) (ding))))) + (if new-frame (iconify-frame new-frame)) (if config (set-window-configuration config)))))) ))