aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2005-10-31 21:13:15 +0000
committerNick Roberts2005-10-31 21:13:15 +0000
commit671d498f2a9776cdae01dce98eef9bdbf372f191 (patch)
tree190030583cae7f380eb13e4b588e94ddd171db48
parent158a07a81a8aaf532be9ea558778a6cbe38628e3 (diff)
downloademacs-671d498f2a9776cdae01dce98eef9bdbf372f191.tar.gz
emacs-671d498f2a9776cdae01dce98eef9bdbf372f191.zip
(gdb-use-inferior-io-buffer): New function.
(menu, toggle-gdb-use-inferior-io-buffer): Get rid of defadvice. (gdb-many-windows): Doc fix.
-rw-r--r--lisp/progmodes/gdb-ui.el45
1 files changed, 28 insertions, 17 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index c8f1d1db020..c0de676c7a1 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -214,12 +214,6 @@ detailed description of this mode.
214 :group 'gud 214 :group 'gud
215 :version "22.1") 215 :version "22.1")
216 216
217(defcustom gdb-use-inferior-io-buffer nil
218 "Non-nil means display output from the inferior in a separate buffer."
219 :type 'boolean
220 :group 'gud
221 :version "22.1")
222
223(defcustom gdb-cpp-define-alist-program "gcc -E -dM -" 217(defcustom gdb-cpp-define-alist-program "gcc -E -dM -"
224 "Shell command for generating a list of defined macros in a source file. 218 "Shell command for generating a list of defined macros in a source file.
225This list is used to display the #define directive associated 219This list is used to display the #define directive associated
@@ -245,6 +239,29 @@ Also display the main routine in the disassembly buffer if present."
245 :group 'gud 239 :group 'gud
246 :version "22.1") 240 :version "22.1")
247 241
242
243(defcustom gdb-use-inferior-io-buffer nil
244 "Non-nil means display output from the inferior in a separate buffer."
245 :type 'boolean
246 :group 'gud
247 :version "22.1")
248
249(defun gdb-use-inferior-io-buffer (arg)
250 "Toggle separate IO for inferior.
251With arg, use separate IO iff arg is positive."
252 (interactive "P")
253 (setq gdb-use-inferior-io-buffer
254 (if (null arg)
255 (not gdb-use-inferior-io-buffer)
256 (> (prefix-numeric-value arg) 0)))
257 (if (and gud-comint-buffer
258 (buffer-name gud-comint-buffer))
259 (condition-case nil
260 (if gdb-use-inferior-io-buffer
261 (gdb-restore-windows)
262 (kill-buffer (gdb-inferior-io-name)))
263 (error nil))))
264
248(defvar gdb-define-alist nil "Alist of #define directives for GUD tooltips.") 265(defvar gdb-define-alist nil "Alist of #define directives for GUD tooltips.")
249 266
250(defun gdb-create-define-alist () 267(defun gdb-create-define-alist ()
@@ -2315,11 +2332,9 @@ corresponding to the mode line clicked."
2315 (define-key gud-menu-map [ui] 2332 (define-key gud-menu-map [ui]
2316 `(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba))) 2333 `(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba)))
2317 (define-key menu [gdb-use-inferior-io] 2334 (define-key menu [gdb-use-inferior-io]
2318 ;; See defadvice below. 2335 '(menu-item "Separate inferior IO" gdb-use-inferior-io-buffer
2319 (menu-bar-make-toggle toggle-gdb-use-inferior-io-buffer 2336 :help "Toggle separate IO for inferior."
2320 gdb-use-inferior-io-buffer 2337 :button (:toggle . gdb-use-inferior-io-buffer)))
2321 "Separate inferior IO" "Use separate IO %s"
2322 "Toggle separate IO for inferior."))
2323 (define-key menu [gdb-many-windows] 2338 (define-key menu [gdb-many-windows]
2324 '(menu-item "Display Other Windows" gdb-many-windows 2339 '(menu-item "Display Other Windows" gdb-many-windows
2325 :help "Toggle display of locals, stack and breakpoint information" 2340 :help "Toggle display of locals, stack and breakpoint information"
@@ -2328,11 +2343,6 @@ corresponding to the mode line clicked."
2328 '(menu-item "Restore Window Layout" gdb-restore-windows 2343 '(menu-item "Restore Window Layout" gdb-restore-windows
2329 :help "Restore standard layout for debug session."))) 2344 :help "Restore standard layout for debug session.")))
2330 2345
2331;; This function is defined above through a macro.
2332(defadvice toggle-gdb-use-inferior-io-buffer (after gdb-kill-io-buffer activate)
2333 (unless gdb-use-inferior-io-buffer
2334 (kill-buffer (gdb-inferior-io-name))))
2335
2336(defun gdb-frame-gdb-buffer () 2346(defun gdb-frame-gdb-buffer ()
2337 "Display GUD buffer in a new frame." 2347 "Display GUD buffer in a new frame."
2338 (interactive) 2348 (interactive)
@@ -2392,7 +2402,8 @@ of the inferior. Non-nil means display the layout shown for
2392 :version "22.1") 2402 :version "22.1")
2393 2403
2394(defun gdb-many-windows (arg) 2404(defun gdb-many-windows (arg)
2395 "Toggle the number of windows in the basic arrangement." 2405 "Toggle the number of windows in the basic arrangement.
2406With arg, display additional buffers iff arg is positive."
2396 (interactive "P") 2407 (interactive "P")
2397 (setq gdb-many-windows 2408 (setq gdb-many-windows
2398 (if (null arg) 2409 (if (null arg)