summaryrefslogtreecommitdiff
path: root/lisp/progmodes/gdb-ui.el
diff options
context:
space:
mode:
authorNick Roberts <nickrob@snap.net.nz>2008-04-22 05:57:37 +0000
committerNick Roberts <nickrob@snap.net.nz>2008-04-22 05:57:37 +0000
commit4eb1954463a04ddaaeb56f6dc256201cffaaef32 (patch)
tree981d9a21f9ffe6fc321ef10adf41e1ff9d17d486 /lisp/progmodes/gdb-ui.el
parentaf0ca4f21724c26607bfc0dbe7f9544e9348877f (diff)
downloademacs-4eb1954463a04ddaaeb56f6dc256201cffaaef32.tar.gz
(gdb-locals-header): New variable.
(gdb-locals-mode, gdb-registers-mode): Use it for header line.
Diffstat (limited to 'lisp/progmodes/gdb-ui.el')
-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
(defconst gdb-error-regexp "\\^error,msg=\"\\(.+\\)\"")
(defvar gdb-locals-font-lock-keywords-1
- '(
- ;; var = (struct struct_tag) value
+ '(;; var = (struct struct_tag) value
( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)"
(1 font-lock-variable-name-face)
(3 font-lock-keyword-face)
@@ -208,17 +207,14 @@ gdba (gdb-ui.el) uses all five values, gdbmi (gdb-mi.el) only two
(3 font-lock-type-face))
;; var = val
( "\\(^\\(\\sw\\|[_.]\\)+\\) += +[^(]"
- (1 font-lock-variable-name-face))
- )
+ (1 font-lock-variable-name-face)))
"Font lock keywords used in `gdb-local-mode'.")
(defvar gdb-locals-font-lock-keywords-2
- '(
- ;; var = type value
+ '(;; var = type value
( "\\(^\\(\\sw\\|[_.]\\)+\\)\t+\\(\\(\\sw\\|[_.]\\)+\\)"
(1 font-lock-variable-name-face)
- (3 font-lock-type-face))
- )
+ (3 font-lock-type-face)))
"Font lock keywords used in `gdb-local-mode'.")
;; Variables for GDB 6.4+
@@ -2553,6 +2549,37 @@ another GDB command e.g pwd, to see new frames")
(define-key map "q" 'kill-this-buffer)
map))
+(defvar gdb-locals-header
+ `(,(propertize "Locals"
+ 'help-echo "mouse-1: select"
+ 'mouse-face 'mode-line-highlight
+ 'face 'mode-line
+ 'local-map
+ (gdb-make-header-line-mouse-map
+ 'mouse-1
+ (lambda (event) (interactive "e")
+ (save-selected-window
+ (select-window (posn-window (event-start event)))
+ (set-window-dedicated-p (selected-window) nil)
+ (switch-to-buffer
+ (gdb-get-buffer-create 'gdb-locals-buffer))
+ (set-window-dedicated-p (selected-window) t)))))
+ " "
+ ,(propertize "Registers"
+ 'help-echo "mouse-1: select"
+ 'mouse-face 'mode-line-highlight
+ 'face 'mode-line
+ 'local-map
+ (gdb-make-header-line-mouse-map
+ 'mouse-1
+ (lambda (event) (interactive "e")
+ (save-selected-window
+ (select-window (posn-window (event-start event)))
+ (set-window-dedicated-p (selected-window) nil)
+ (switch-to-buffer
+ (gdb-get-buffer-create 'gdb-registers-buffer))
+ (set-window-dedicated-p (selected-window) t)))))))
+
(defun gdb-registers-mode ()
"Major mode for gdb registers.
@@ -2560,6 +2587,7 @@ another GDB command e.g pwd, to see new frames")
(kill-all-local-variables)
(setq major-mode 'gdb-registers-mode)
(setq mode-name "Registers")
+ (setq header-line-format gdb-locals-header)
(setq buffer-read-only t)
(gdb-thread-identification)
(use-local-map gdb-registers-mode-map)
@@ -2985,9 +3013,10 @@ another GDB command e.g pwd, to see new frames")
(kill-all-local-variables)
(setq major-mode 'gdb-locals-mode)
(setq mode-name (concat "Locals:" gdb-selected-frame))
+ (use-local-map gdb-locals-mode-map)
(setq buffer-read-only t)
+ (setq header-line-format gdb-locals-header)
(gdb-thread-identification)
- (use-local-map gdb-locals-mode-map)
(set (make-local-variable 'font-lock-defaults)
'(gdb-locals-font-lock-keywords))
(run-mode-hooks 'gdb-locals-mode-hook)