Mercurial > emacs
changeset 61564:2e1a9a226cee
(gud-goto-info): Use existing Info buffer, if
possible.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Fri, 15 Apr 2005 10:35:09 +0000 |
parents | 29ab534fa991 |
children | 19480ce3528d |
files | lisp/progmodes/gud.el |
diffstat | 1 files changed, 18 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/gud.el Fri Apr 15 10:33:50 2005 +0000 +++ b/lisp/progmodes/gud.el Fri Apr 15 10:35:09 2005 +0000 @@ -89,16 +89,27 @@ (defvar gud-running nil "Non-nil if debuggee is running. -Used to grey out relevant toolbar icons.") - +Used to grey out relevant togolbar icons.") + +;; Use existing Info buffer, if possible. (defun gud-goto-info () "Go to relevant Emacs info node." (interactive) - (select-frame (make-frame)) - (require 'info) - (if (memq gud-minor-mode '(gdbmi gdba)) - (Info-goto-node "(emacs)GDB Graphical Interface") - (Info-goto-node "(emacs)Debuggers"))) + (let ((same-window-regexps same-window-regexps) + (display-buffer-reuse-frames t)) + (catch 'info-found + (walk-windows + '(lambda (window) + (if (eq (window-buffer window) (get-buffer "*info*")) + (progn + (setq same-window-regexps nil) + (throw 'info-found nil)))) + nil 0) + (require 'info) + (select-frame (make-frame))) + (if (memq gud-minor-mode '(gdbmi gdba)) + (Info-goto-node "(emacs)GDB Graphical Interface") + (Info-goto-node "(emacs)Debuggers")))) (easy-mmode-defmap gud-menu-map '(([help] "Info" . gud-goto-info)