aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasatake YAMATO2005-10-05 17:20:04 +0000
committerMasatake YAMATO2005-10-05 17:20:04 +0000
commit20ef86730cca82a1a2e212a665c0b119ed2d70b2 (patch)
tree06f94faa397f0352562f61fd6b064df73442a36d
parent21c3ef84cc73ded6aa4882afe3e93bc7bd81aca7 (diff)
downloademacs-20ef86730cca82a1a2e212a665c0b119ed2d70b2.tar.gz
emacs-20ef86730cca82a1a2e212a665c0b119ed2d70b2.zip
2005-10-06 Masatake YAMATO <jet@gyve.org>
* progmodes/gdb-ui.el (gdb-info-breakpoints-custom): Put `font-lock-function-name-face'. (gdb-info-frames-custom): Put `font-lock-function-name-face' and `font-lock-variable-name-face' (gdb-registers-font-lock-keywords): New font lock keywords definition. (gdb-registers-mode): Use `gdb-registers-font-lock-keywords`. (gdb-memory-font-lock-keywords): New font lock keywords definition. (gdb-memory-mode): Use `gdb-memory-font-lock-keywords'. (gdb-local-font-lock-keywords): New font lock keywords definition. (gdb-locals-mode): Use `gdb-local-font-lock-keywords' (gdb-threads-font-lock-keywords): New font lock keywords definition. (gdb-threads-mode): Use `gdb-threads-font-lock-keywords'.
-rw-r--r--lisp/ChangeLog15
-rw-r--r--lisp/progmodes/gdb-ui.el78
2 files changed, 85 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a9d8a3923d6..4e1ffe963d1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,18 @@
12005-10-06 Masatake YAMATO <jet@gyve.org>
2
3 * progmodes/gdb-ui.el (gdb-info-breakpoints-custom): Put
4 `font-lock-function-name-face'.
5 (gdb-info-frames-custom): Put `font-lock-function-name-face'
6 and `font-lock-variable-name-face'
7 (gdb-registers-font-lock-keywords): New font lock keywords definition.
8 (gdb-registers-mode): Use `gdb-registers-font-lock-keywords`.
9 (gdb-memory-font-lock-keywords): New font lock keywords definition.
10 (gdb-memory-mode): Use `gdb-memory-font-lock-keywords'.
11 (gdb-local-font-lock-keywords): New font lock keywords definition.
12 (gdb-locals-mode): Use `gdb-local-font-lock-keywords'
13 (gdb-threads-font-lock-keywords): New font lock keywords definition.
14 (gdb-threads-mode): Use `gdb-threads-font-lock-keywords'.
15
12005-10-05 Stefan Monnier <monnier@iro.umontreal.ca> 162005-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
2 17
3 * progmodes/scheme.el (scheme-mode-syntax-table): Mark ; as being 18 * progmodes/scheme.el (scheme-mode-syntax-table): Mark ; as being
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 6c960c4c5d5..c8d99dbe3e2 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -1337,8 +1337,11 @@ static char *magick[] = {
1337 (setq bptno (match-string 1)) 1337 (setq bptno (match-string 1))
1338 (setq flag (char-after (match-beginning 2))) 1338 (setq flag (char-after (match-beginning 2)))
1339 (beginning-of-line) 1339 (beginning-of-line)
1340 (if (re-search-forward " in .* at\\s-+" nil t) 1340 (if (re-search-forward " in \\(.*\\) at\\s-+" nil t)
1341 (progn 1341 (progn
1342 (let ((buffer-read-only nil))
1343 (add-text-properties (match-beginning 1) (match-end 1)
1344 '(face font-lock-function-name-face)))
1342 (looking-at "\\(\\S-+\\):\\([0-9]+\\)") 1345 (looking-at "\\(\\S-+\\):\\([0-9]+\\)")
1343 (let ((line (match-string 2)) (buffer-read-only nil) 1346 (let ((line (match-string 2)) (buffer-read-only nil)
1344 (file (match-string 1))) 1347 (file (match-string 1)))
@@ -1531,17 +1534,31 @@ static char *magick[] = {
1531(defun gdb-info-frames-custom () 1534(defun gdb-info-frames-custom ()
1532 (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer) 1535 (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer)
1533 (save-excursion 1536 (save-excursion
1534 (let ((buffer-read-only nil)) 1537 (let ((buffer-read-only nil)
1538 bl el)
1535 (goto-char (point-min)) 1539 (goto-char (point-min))
1536 (while (< (point) (point-max)) 1540 (while (< (point) (point-max))
1537 (add-text-properties (line-beginning-position) (line-end-position) 1541 (setq bl (line-beginning-position)
1542 el (line-end-position))
1543 (add-text-properties bl el
1538 '(mouse-face highlight 1544 '(mouse-face highlight
1539 help-echo "mouse-2, RET: Select frame")) 1545 help-echo "mouse-2, RET: Select frame"))
1540 (beginning-of-line) 1546 (goto-char bl)
1541 (when (and (looking-at "^#\\([0-9]+\\)") 1547 (when (looking-at "^#\\([0-9]+\\)")
1542 (equal (match-string 1) gdb-frame-number)) 1548 (if (equal (match-string 1) gdb-frame-number)
1543 (put-text-property (line-beginning-position) (line-end-position) 1549 (put-text-property bl el 'face '(:inverse-video t))
1544 'face '(:inverse-video t))) 1550 (when (re-search-forward " in \\([^ ]+\\) (" el t)
1551 (put-text-property (match-beginning 1) (match-end 1)
1552 'face font-lock-function-name-face)
1553 (setq bl (match-end 0))
1554 (while (re-search-forward "<\\([^>]+\\)>" el t)
1555 (put-text-property (match-beginning 1) (match-end 1)
1556 'face font-lock-function-name-face))
1557 (goto-char bl)
1558 (while (re-search-forward "\\(\\(\\sw\\|[_.]\\)+\\)=" el t)
1559 (put-text-property (match-beginning 1) (match-end 1)
1560 'face font-lock-variable-name-face))
1561 )))
1545 (forward-line 1)))))) 1562 (forward-line 1))))))
1546 1563
1547(defun gdb-stack-buffer-name () 1564(defun gdb-stack-buffer-name ()
@@ -1648,6 +1665,14 @@ static char *magick[] = {
1648 (define-key map [mouse-2] 'gdb-threads-select) 1665 (define-key map [mouse-2] 'gdb-threads-select)
1649 map)) 1666 map))
1650 1667
1668(defvar gdb-threads-font-lock-keywords
1669 '(
1670 (") +\\([^ ]+\\) (" (1 font-lock-function-name-face))
1671 ("in \\([^ ]+\\) (" (1 font-lock-function-name-face))
1672 ("\\(\\(\\sw\\|[_.]\\)+\\)=" (1 font-lock-variable-name-face))
1673 )
1674 "Font lock keywords used in `gdb-threads-mode'.")
1675
1651(defun gdb-threads-mode () 1676(defun gdb-threads-mode ()
1652 "Major mode for gdb frames. 1677 "Major mode for gdb frames.
1653 1678
@@ -1657,6 +1682,8 @@ static char *magick[] = {
1657 (setq mode-name "Threads") 1682 (setq mode-name "Threads")
1658 (setq buffer-read-only t) 1683 (setq buffer-read-only t)
1659 (use-local-map gdb-threads-mode-map) 1684 (use-local-map gdb-threads-mode-map)
1685 (set (make-local-variable 'font-lock-defaults)
1686 '(gdb-threads-font-lock-keywords))
1660 (run-mode-hooks 'gdb-threads-mode-hook) 1687 (run-mode-hooks 'gdb-threads-mode-hook)
1661 'gdb-invalidate-threads) 1688 'gdb-invalidate-threads)
1662 1689
@@ -1702,6 +1729,12 @@ static char *magick[] = {
1702 (define-key map "q" 'kill-this-buffer) 1729 (define-key map "q" 'kill-this-buffer)
1703 map)) 1730 map))
1704 1731
1732(defvar gdb-registers-font-lock-keywords
1733 '(
1734 ("^[^ ]+" . font-lock-variable-name-face)
1735 )
1736 "Font lock keywords used in `gdb-registers-mode'.")
1737
1705(defun gdb-registers-mode () 1738(defun gdb-registers-mode ()
1706 "Major mode for gdb registers. 1739 "Major mode for gdb registers.
1707 1740
@@ -1711,6 +1744,8 @@ static char *magick[] = {
1711 (setq mode-name "Registers:") 1744 (setq mode-name "Registers:")
1712 (setq buffer-read-only t) 1745 (setq buffer-read-only t)
1713 (use-local-map gdb-registers-mode-map) 1746 (use-local-map gdb-registers-mode-map)
1747 (set (make-local-variable 'font-lock-defaults)
1748 '(gdb-registers-font-lock-keywords))
1714 (run-mode-hooks 'gdb-registers-mode-hook) 1749 (run-mode-hooks 'gdb-registers-mode-hook)
1715 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 1750 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
1716 'gdb-invalidate-registers 1751 'gdb-invalidate-registers
@@ -1955,6 +1990,12 @@ corresponding to the mode line clicked."
1955 (define-key map (vector 'header-line 'down-mouse-1) 'ignore) 1990 (define-key map (vector 'header-line 'down-mouse-1) 'ignore)
1956 map)) 1991 map))
1957 1992
1993(defvar gdb-memory-font-lock-keywords
1994 '(;; <__function.name+n>
1995 ("<\\(\\(\\sw\\|[_.]\\)+\\)\\(\\+[0-9]+\\)?>" (1 font-lock-function-name-face))
1996 )
1997 "Font lock keywords used in `gdb-memory-mode'.")
1998
1958(defun gdb-memory-mode () 1999(defun gdb-memory-mode ()
1959 "Major mode for examining memory. 2000 "Major mode for examining memory.
1960 2001
@@ -2026,6 +2067,8 @@ corresponding to the mode line clicked."
2026 'help-echo "mouse-3: Select unit size" 2067 'help-echo "mouse-3: Select unit size"
2027 'mouse-face 'mode-line-highlight 2068 'mouse-face 'mode-line-highlight
2028 'local-map gdb-memory-unit-keymap)))) 2069 'local-map gdb-memory-unit-keymap))))
2070 (set (make-local-variable 'font-lock-defaults)
2071 '(gdb-memory-font-lock-keywords))
2029 (run-mode-hooks 'gdb-memory-mode-hook) 2072 (run-mode-hooks 'gdb-memory-mode-hook)
2030 'gdb-invalidate-memory) 2073 'gdb-invalidate-memory)
2031 2074
@@ -2094,6 +2137,23 @@ corresponding to the mode line clicked."
2094 (define-key map "q" 'kill-this-buffer) 2137 (define-key map "q" 'kill-this-buffer)
2095 map)) 2138 map))
2096 2139
2140(defvar gdb-local-font-lock-keywords
2141 '(
2142 ;; var = (struct struct_tag) value
2143 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)"
2144 (1 font-lock-variable-name-face)
2145 (3 font-lock-keyword-face)
2146 (4 font-lock-type-face))
2147 ;; var = (type) value
2148 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(\\(\\sw\\|[_.]\\)+\\)"
2149 (1 font-lock-variable-name-face)
2150 (3 font-lock-type-face))
2151 ;; var = val
2152 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +[^(]"
2153 (1 font-lock-variable-name-face))
2154 )
2155 "Font lock keywords used in `gdb-local-mode'.")
2156
2097(defun gdb-locals-mode () 2157(defun gdb-locals-mode ()
2098 "Major mode for gdb locals. 2158 "Major mode for gdb locals.
2099 2159
@@ -2103,6 +2163,8 @@ corresponding to the mode line clicked."
2103 (setq mode-name (concat "Locals:" gdb-selected-frame)) 2163 (setq mode-name (concat "Locals:" gdb-selected-frame))
2104 (setq buffer-read-only t) 2164 (setq buffer-read-only t)
2105 (use-local-map gdb-locals-mode-map) 2165 (use-local-map gdb-locals-mode-map)
2166 (set (make-local-variable 'font-lock-defaults)
2167 '(gdb-local-font-lock-keywords))
2106 (run-mode-hooks 'gdb-locals-mode-hook) 2168 (run-mode-hooks 'gdb-locals-mode-hook)
2107 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 2169 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
2108 'gdb-invalidate-locals 2170 'gdb-invalidate-locals