Mercurial > emacs
diff lisp/progmodes/gdb-ui.el @ 83383:2a679c81f552
Merged from miles@gnu.org--gnu-2005 (patch 118-132, 551-577)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-551
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-552
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-553
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-554
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-555
Remove CVS keywords from newsticker files
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-556
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-557
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-558
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-559
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-560
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-561
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-562
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-563
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-564
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-565
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-566
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-567
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-568
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-569
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-570
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-571
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-572
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-573
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-574
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-575
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-576
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-577
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-118
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-119
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-120
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-121
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-122
Update from CVS: lisp/mm-url.el (mm-url-decode-entities): Fix regexp.
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-123
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-124
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-125
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-126
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-127
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-128
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-129
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-130
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-131
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-132
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-423
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sun, 09 Oct 2005 20:00:17 +0000 |
parents | 532e0a9335a9 97ab21c68453 |
children | 08b4dd6a6e87 |
line wrap: on
line diff
--- a/lisp/progmodes/gdb-ui.el Mon Sep 19 21:25:51 2005 +0000 +++ b/lisp/progmodes/gdb-ui.el Sun Oct 09 20:00:17 2005 +0000 @@ -1337,8 +1337,11 @@ (setq bptno (match-string 1)) (setq flag (char-after (match-beginning 2))) (beginning-of-line) - (if (re-search-forward " in .* at\\s-+" nil t) + (if (re-search-forward " in \\(.*\\) at\\s-+" nil t) (progn + (let ((buffer-read-only nil)) + (add-text-properties (match-beginning 1) (match-end 1) + '(face font-lock-function-name-face))) (looking-at "\\(\\S-+\\):\\([0-9]+\\)") (let ((line (match-string 2)) (buffer-read-only nil) (file (match-string 1))) @@ -1531,17 +1534,31 @@ (defun gdb-info-frames-custom () (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer) (save-excursion - (let ((buffer-read-only nil)) + (let ((buffer-read-only nil) + bl el) (goto-char (point-min)) (while (< (point) (point-max)) - (add-text-properties (line-beginning-position) (line-end-position) + (setq bl (line-beginning-position) + el (line-end-position)) + (add-text-properties bl el '(mouse-face highlight help-echo "mouse-2, RET: Select frame")) - (beginning-of-line) - (when (and (looking-at "^#\\([0-9]+\\)") - (equal (match-string 1) gdb-frame-number)) - (put-text-property (line-beginning-position) (line-end-position) - 'face '(:inverse-video t))) + (goto-char bl) + (when (looking-at "^#\\([0-9]+\\)") + (if (equal (match-string 1) gdb-frame-number) + (put-text-property bl el 'face '(:inverse-video t)) + (when (re-search-forward " in \\([^ ]+\\) (" el t) + (put-text-property (match-beginning 1) (match-end 1) + 'face font-lock-function-name-face) + (setq bl (match-end 0)) + (while (re-search-forward "<\\([^>]+\\)>" el t) + (put-text-property (match-beginning 1) (match-end 1) + 'face font-lock-function-name-face)) + (goto-char bl) + (while (re-search-forward "\\(\\(\\sw\\|[_.]\\)+\\)=" el t) + (put-text-property (match-beginning 1) (match-end 1) + 'face font-lock-variable-name-face)) + ))) (forward-line 1)))))) (defun gdb-stack-buffer-name () @@ -1648,6 +1665,14 @@ (define-key map [mouse-2] 'gdb-threads-select) map)) +(defvar gdb-threads-font-lock-keywords + '( + (") +\\([^ ]+\\) (" (1 font-lock-function-name-face)) + ("in \\([^ ]+\\) (" (1 font-lock-function-name-face)) + ("\\(\\(\\sw\\|[_.]\\)+\\)=" (1 font-lock-variable-name-face)) + ) + "Font lock keywords used in `gdb-threads-mode'.") + (defun gdb-threads-mode () "Major mode for gdb frames. @@ -1657,6 +1682,8 @@ (setq mode-name "Threads") (setq buffer-read-only t) (use-local-map gdb-threads-mode-map) + (set (make-local-variable 'font-lock-defaults) + '(gdb-threads-font-lock-keywords)) (run-mode-hooks 'gdb-threads-mode-hook) 'gdb-invalidate-threads) @@ -1702,6 +1729,12 @@ (define-key map "q" 'kill-this-buffer) map)) +(defvar gdb-registers-font-lock-keywords + '( + ("^[^ ]+" . font-lock-variable-name-face) + ) + "Font lock keywords used in `gdb-registers-mode'.") + (defun gdb-registers-mode () "Major mode for gdb registers. @@ -1711,6 +1744,8 @@ (setq mode-name "Registers:") (setq buffer-read-only t) (use-local-map gdb-registers-mode-map) + (set (make-local-variable 'font-lock-defaults) + '(gdb-registers-font-lock-keywords)) (run-mode-hooks 'gdb-registers-mode-hook) (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 'gdb-invalidate-registers @@ -1955,6 +1990,12 @@ (define-key map (vector 'header-line 'down-mouse-1) 'ignore) map)) +(defvar gdb-memory-font-lock-keywords + '(;; <__function.name+n> + ("<\\(\\(\\sw\\|[_.]\\)+\\)\\(\\+[0-9]+\\)?>" (1 font-lock-function-name-face)) + ) + "Font lock keywords used in `gdb-memory-mode'.") + (defun gdb-memory-mode () "Major mode for examining memory. @@ -2026,6 +2067,8 @@ 'help-echo "mouse-3: Select unit size" 'mouse-face 'mode-line-highlight 'local-map gdb-memory-unit-keymap)))) + (set (make-local-variable 'font-lock-defaults) + '(gdb-memory-font-lock-keywords)) (run-mode-hooks 'gdb-memory-mode-hook) 'gdb-invalidate-memory) @@ -2094,6 +2137,23 @@ (define-key map "q" 'kill-this-buffer) map)) +(defvar gdb-local-font-lock-keywords + '( + ;; var = (struct struct_tag) value + ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)" + (1 font-lock-variable-name-face) + (3 font-lock-keyword-face) + (4 font-lock-type-face)) + ;; var = (type) value + ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(\\(\\sw\\|[_.]\\)+\\)" + (1 font-lock-variable-name-face) + (3 font-lock-type-face)) + ;; var = val + ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +[^(]" + (1 font-lock-variable-name-face)) + ) + "Font lock keywords used in `gdb-local-mode'.") + (defun gdb-locals-mode () "Major mode for gdb locals. @@ -2103,6 +2163,8 @@ (setq mode-name (concat "Locals:" gdb-selected-frame)) (setq buffer-read-only t) (use-local-map gdb-locals-mode-map) + (set (make-local-variable 'font-lock-defaults) + '(gdb-local-font-lock-keywords)) (run-mode-hooks 'gdb-locals-mode-hook) (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 'gdb-invalidate-locals