1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-24 10:38:38 +00:00

(info-lookup): When Info buffer is visible on

another frame, raise that frame.
This commit is contained in:
Martin Rudalics 2008-11-23 17:40:27 +00:00
parent b0857706e4
commit 2faede351a
2 changed files with 22 additions and 16 deletions

View File

@ -1,3 +1,8 @@
2008-11-23 Martin Rudalics <rudalics@gmx.at>
* info-look.el (info-lookup): When Info buffer is visible on
another frame, raise that frame.
2008-11-23 Juanma Barranquero <lekktu@gmail.com>
* allout.el (allout-mode): Fix typo in docstring.

View File

@ -335,22 +335,23 @@ If optional argument QUERY is non-nil, query for the help mode."
(cons (list Info-current-file Info-current-node (point))
Info-history))))
found doc-spec node prefix suffix doc-found)
(if (not (eq major-mode 'Info-mode))
(if (not info-lookup-other-window-flag)
(info)
(progn
(save-window-excursion (info))
;; Determine whether or not the Info buffer is visible in
;; another frame on the same display. If it is, simply raise
;; that frame. Otherwise, display it in another window.
(let* ((window (get-buffer-window "*info*" t))
(info-frame (and window (window-frame window))))
(if (and info-frame
(display-multi-frame-p)
(memq info-frame (frames-on-display-list))
(not (eq info-frame (selected-frame))))
(select-frame info-frame)
(switch-to-buffer-other-window "*info*"))))))
(unless (eq major-mode 'Info-mode)
(if (not info-lookup-other-window-flag)
(info)
(save-window-excursion (info))
(let* ((info-window (get-buffer-window "*info*" t))
(info-frame (and info-window (window-frame info-window))))
(if (and info-frame
(not (eq info-frame (selected-frame)))
(display-multi-frame-p)
(memq info-frame (frames-on-display-list)))
;; *info* is visible in another frame on same display.
;; Raise that frame and select the window.
(progn
(select-window info-window)
(raise-frame info-frame))
;; In any other case, switch to *info* in another window.
(switch-to-buffer-other-window "*info*")))))
(while (and (not found) modes)
(setq doc-spec (info-lookup->doc-spec topic (car modes)))
(while (and (not found) doc-spec)