Mercurial > emacs
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 |