comparison lisp/progmodes/gdb-ui.el @ 66681:8c0e5dfc2c31

(gdb-buffer-type): Remove duplicate declaration. (gdb-buffer-type): Make it automatically buffer local... (gdb-get-create-buffer): ...and set it accordingly. (gdb-frame-gdb-buffer, gdb-display-gdb-buffer): Make these actually work.
author Nick Roberts <nickrob@snap.net.nz>
date Fri, 04 Nov 2005 02:02:29 +0000
parents ecdb869b880e
children 04a53d446ab1
comparison
equal deleted inserted replaced
66680:97ae15caeb3a 66681:8c0e5dfc2c31
75 ;; of 'info registers'. 75 ;; of 'info registers'.
76 ;; 3) Use tree-widget.el instead of the speedbar for watch-expressions? 76 ;; 3) Use tree-widget.el instead of the speedbar for watch-expressions?
77 ;; 4) Mark breakpoint locations on scroll-bar of source buffer? 77 ;; 4) Mark breakpoint locations on scroll-bar of source buffer?
78 ;; 5) After release of 22.1 use '-var-list-children --all-values' 78 ;; 5) After release of 22.1 use '-var-list-children --all-values'
79 ;; and '-stack-list-locals 2' which need GDB 6.1 onwards. 79 ;; and '-stack-list-locals 2' which need GDB 6.1 onwards.
80 ;; 6) With gud-print and gud-pstar, print the variable name in the GUD
81 ;; buffer instead of the value's history number.
80 82
81 ;;; Code: 83 ;;; Code:
82 84
83 (require 'gud) 85 (require 'gud)
84 86
92 (defvar gdb-frame-number nil) 94 (defvar gdb-frame-number nil)
93 (defvar gdb-current-language nil) 95 (defvar gdb-current-language nil)
94 (defvar gdb-var-list nil "List of variables in watch window.") 96 (defvar gdb-var-list nil "List of variables in watch window.")
95 (defvar gdb-var-changed nil "Non-nil means that `gdb-var-list' has changed.") 97 (defvar gdb-var-changed nil "Non-nil means that `gdb-var-list' has changed.")
96 (defvar gdb-main-file nil "Source file from which program execution begins.") 98 (defvar gdb-main-file nil "Source file from which program execution begins.")
97 (defvar gdb-buffer-type nil)
98 (defvar gdb-overlay-arrow-position nil) 99 (defvar gdb-overlay-arrow-position nil)
99 (defvar gdb-server-prefix nil) 100 (defvar gdb-server-prefix nil)
100 (defvar gdb-flush-pending-output nil) 101 (defvar gdb-flush-pending-output nil)
101 (defvar gdb-location-alist nil 102 (defvar gdb-location-alist nil
102 "Alist of breakpoint numbers and full filenames.") 103 "Alist of breakpoint numbers and full filenames.")
108 "Non-nil if GDB knows that the inferior includes preprocessor macro info.") 109 "Non-nil if GDB knows that the inferior includes preprocessor macro info.")
109 (defvar gdb-buffer-fringe-width nil) 110 (defvar gdb-buffer-fringe-width nil)
110 111
111 (defvar gdb-buffer-type nil 112 (defvar gdb-buffer-type nil
112 "One of the symbols bound in `gdb-buffer-rules'.") 113 "One of the symbols bound in `gdb-buffer-rules'.")
114 (make-variable-buffer-local 'gdb-buffer-type)
113 115
114 (defvar gdb-input-queue () 116 (defvar gdb-input-queue ()
115 "A list of gdb command objects.") 117 "A list of gdb command objects.")
116 118
117 (defvar gdb-prompting nil 119 (defvar gdb-prompting nil
691 (new (get-buffer-create name))) 693 (new (get-buffer-create name)))
692 (with-current-buffer new 694 (with-current-buffer new
693 (let ((trigger)) 695 (let ((trigger))
694 (if (cdr (cdr rules)) 696 (if (cdr (cdr rules))
695 (setq trigger (funcall (car (cdr (cdr rules)))))) 697 (setq trigger (funcall (car (cdr (cdr rules))))))
696 (set (make-local-variable 'gdb-buffer-type) key) 698 (setq gdb-buffer-type key)
697 (set (make-local-variable 'gud-minor-mode) 699 (set (make-local-variable 'gud-minor-mode)
698 (with-current-buffer gud-comint-buffer gud-minor-mode)) 700 (with-current-buffer gud-comint-buffer gud-minor-mode))
699 (set (make-local-variable 'tool-bar-map) gud-tool-bar-map) 701 (set (make-local-variable 'tool-bar-map) gud-tool-bar-map)
700 (if trigger (funcall trigger))) 702 (if trigger (funcall trigger)))
701 new)))) 703 new))))
2365 2367
2366 (defun gdb-frame-gdb-buffer () 2368 (defun gdb-frame-gdb-buffer ()
2367 "Display GUD buffer in a new frame." 2369 "Display GUD buffer in a new frame."
2368 (interactive) 2370 (interactive)
2369 (let ((special-display-regexps (append special-display-regexps '(".*"))) 2371 (let ((special-display-regexps (append special-display-regexps '(".*")))
2370 (special-display-frame-alist gdb-frame-parameters)) 2372 (special-display-frame-alist gdb-frame-parameters)
2371 (display-buffer (gdb-get-create-buffer 'gdb-stack-buffer)))) 2373 (same-window-regexps nil))
2374 (display-buffer gud-comint-buffer)))
2372 2375
2373 (defun gdb-display-gdb-buffer () 2376 (defun gdb-display-gdb-buffer ()
2374 "Display GUD buffer." 2377 "Display GUD buffer."
2375 (interactive) 2378 (interactive)
2376 (gdb-display-buffer 2379 (let ((same-window-regexps nil))
2377 (gdb-get-create-buffer 'gdba))) 2380 (pop-to-buffer gud-comint-buffer)))
2378 2381
2379 (defun gdb-set-window-buffer (name) 2382 (defun gdb-set-window-buffer (name)
2380 (set-window-buffer (selected-window) (get-buffer name)) 2383 (set-window-buffer (selected-window) (get-buffer name))
2381 (set-window-dedicated-p (selected-window) t)) 2384 (set-window-dedicated-p (selected-window) t))
2382 2385