aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2008-04-22 05:57:37 +0000
committerNick Roberts2008-04-22 05:57:37 +0000
commit4eb1954463a04ddaaeb56f6dc256201cffaaef32 (patch)
tree981d9a21f9ffe6fc321ef10adf41e1ff9d17d486
parentaf0ca4f21724c26607bfc0dbe7f9544e9348877f (diff)
downloademacs-4eb1954463a04ddaaeb56f6dc256201cffaaef32.tar.gz
emacs-4eb1954463a04ddaaeb56f6dc256201cffaaef32.zip
(gdb-locals-header): New variable.
(gdb-locals-mode, gdb-registers-mode): Use it for header line.
-rw-r--r--lisp/progmodes/gdb-ui.el47
1 files changed, 38 insertions, 9 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index ac98c906e28..9c1d2c9762e 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -196,8 +196,7 @@ gdba (gdb-ui.el) uses all five values, gdbmi (gdb-mi.el) only two
196(defconst gdb-error-regexp "\\^error,msg=\"\\(.+\\)\"") 196(defconst gdb-error-regexp "\\^error,msg=\"\\(.+\\)\"")
197 197
198(defvar gdb-locals-font-lock-keywords-1 198(defvar gdb-locals-font-lock-keywords-1
199 '( 199 '(;; var = (struct struct_tag) value
200 ;; var = (struct struct_tag) value
201 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)" 200 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)"
202 (1 font-lock-variable-name-face) 201 (1 font-lock-variable-name-face)
203 (3 font-lock-keyword-face) 202 (3 font-lock-keyword-face)
@@ -208,17 +207,14 @@ gdba (gdb-ui.el) uses all five values, gdbmi (gdb-mi.el) only two
208 (3 font-lock-type-face)) 207 (3 font-lock-type-face))
209 ;; var = val 208 ;; var = val
210 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +[^(]" 209 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +[^(]"
211 (1 font-lock-variable-name-face)) 210 (1 font-lock-variable-name-face)))
212 )
213 "Font lock keywords used in `gdb-local-mode'.") 211 "Font lock keywords used in `gdb-local-mode'.")
214 212
215(defvar gdb-locals-font-lock-keywords-2 213(defvar gdb-locals-font-lock-keywords-2
216 '( 214 '(;; var = type value
217 ;; var = type value
218 ( "\\(^\\(\\sw\\|[_.]\\)+\\)\t+\\(\\(\\sw\\|[_.]\\)+\\)" 215 ( "\\(^\\(\\sw\\|[_.]\\)+\\)\t+\\(\\(\\sw\\|[_.]\\)+\\)"
219 (1 font-lock-variable-name-face) 216 (1 font-lock-variable-name-face)
220 (3 font-lock-type-face)) 217 (3 font-lock-type-face)))
221 )
222 "Font lock keywords used in `gdb-local-mode'.") 218 "Font lock keywords used in `gdb-local-mode'.")
223 219
224;; Variables for GDB 6.4+ 220;; Variables for GDB 6.4+
@@ -2553,6 +2549,37 @@ another GDB command e.g pwd, to see new frames")
2553 (define-key map "q" 'kill-this-buffer) 2549 (define-key map "q" 'kill-this-buffer)
2554 map)) 2550 map))
2555 2551
2552(defvar gdb-locals-header
2553 `(,(propertize "Locals"
2554 'help-echo "mouse-1: select"
2555 'mouse-face 'mode-line-highlight
2556 'face 'mode-line
2557 'local-map
2558 (gdb-make-header-line-mouse-map
2559 'mouse-1
2560 (lambda (event) (interactive "e")
2561 (save-selected-window
2562 (select-window (posn-window (event-start event)))
2563 (set-window-dedicated-p (selected-window) nil)
2564 (switch-to-buffer
2565 (gdb-get-buffer-create 'gdb-locals-buffer))
2566 (set-window-dedicated-p (selected-window) t)))))
2567 " "
2568 ,(propertize "Registers"
2569 'help-echo "mouse-1: select"
2570 'mouse-face 'mode-line-highlight
2571 'face 'mode-line
2572 'local-map
2573 (gdb-make-header-line-mouse-map
2574 'mouse-1
2575 (lambda (event) (interactive "e")
2576 (save-selected-window
2577 (select-window (posn-window (event-start event)))
2578 (set-window-dedicated-p (selected-window) nil)
2579 (switch-to-buffer
2580 (gdb-get-buffer-create 'gdb-registers-buffer))
2581 (set-window-dedicated-p (selected-window) t)))))))
2582
2556(defun gdb-registers-mode () 2583(defun gdb-registers-mode ()
2557 "Major mode for gdb registers. 2584 "Major mode for gdb registers.
2558 2585
@@ -2560,6 +2587,7 @@ another GDB command e.g pwd, to see new frames")
2560 (kill-all-local-variables) 2587 (kill-all-local-variables)
2561 (setq major-mode 'gdb-registers-mode) 2588 (setq major-mode 'gdb-registers-mode)
2562 (setq mode-name "Registers") 2589 (setq mode-name "Registers")
2590 (setq header-line-format gdb-locals-header)
2563 (setq buffer-read-only t) 2591 (setq buffer-read-only t)
2564 (gdb-thread-identification) 2592 (gdb-thread-identification)
2565 (use-local-map gdb-registers-mode-map) 2593 (use-local-map gdb-registers-mode-map)
@@ -2985,9 +3013,10 @@ another GDB command e.g pwd, to see new frames")
2985 (kill-all-local-variables) 3013 (kill-all-local-variables)
2986 (setq major-mode 'gdb-locals-mode) 3014 (setq major-mode 'gdb-locals-mode)
2987 (setq mode-name (concat "Locals:" gdb-selected-frame)) 3015 (setq mode-name (concat "Locals:" gdb-selected-frame))
3016 (use-local-map gdb-locals-mode-map)
2988 (setq buffer-read-only t) 3017 (setq buffer-read-only t)
3018 (setq header-line-format gdb-locals-header)
2989 (gdb-thread-identification) 3019 (gdb-thread-identification)
2990 (use-local-map gdb-locals-mode-map)
2991 (set (make-local-variable 'font-lock-defaults) 3020 (set (make-local-variable 'font-lock-defaults)
2992 '(gdb-locals-font-lock-keywords)) 3021 '(gdb-locals-font-lock-keywords))
2993 (run-mode-hooks 'gdb-locals-mode-hook) 3022 (run-mode-hooks 'gdb-locals-mode-hook)