diff options
| author | Nick Roberts | 2008-04-22 05:57:37 +0000 |
|---|---|---|
| committer | Nick Roberts | 2008-04-22 05:57:37 +0000 |
| commit | 4eb1954463a04ddaaeb56f6dc256201cffaaef32 (patch) | |
| tree | 981d9a21f9ffe6fc321ef10adf41e1ff9d17d486 | |
| parent | af0ca4f21724c26607bfc0dbe7f9544e9348877f (diff) | |
| download | emacs-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.el | 47 |
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) |