aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2005-10-30 12:10:14 +0000
committerNick Roberts2005-10-30 12:10:14 +0000
commit7c8bd6a4a0af6a1b1846b359795eaa091cf750ad (patch)
tree4e5d0370ee7baaff060efeae2d456f9c13d79b80
parentf3be774b2b3865a42ce14f0587e978fb53792704 (diff)
downloademacs-7c8bd6a4a0af6a1b1846b359795eaa091cf750ad.tar.gz
emacs-7c8bd6a4a0af6a1b1846b359795eaa091cf750ad.zip
(gdb-tooltip-print-1): Fix regexp.
(gdb-registers-font-lock-keywords): Delete. (gdb-registers-mode): Don't fontify. (gdb-info-registers-custom): Use text properties instead as, in future, changed register values will use font-lock-warning-face. (gdb-local-font-lock-keywords): Rename to... (gdb-locals-font-lock-keywords): ...for consistency.
-rw-r--r--lisp/progmodes/gdb-ui.el32
1 files changed, 19 insertions, 13 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 91ace236dbb..5255b69e08d 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -50,6 +50,9 @@
50;; still under development and is part of a process to migrate Emacs from 50;; still under development and is part of a process to migrate Emacs from
51;; annotations to GDB/MI. 51;; annotations to GDB/MI.
52;; 52;;
53;; This mode SHOULD WORK WITH GDB 5.0 ONWARDS but you will NEED GDB 6.0
54;; ONWARDS TO USE WATCH EXPRESSIONS.
55;;
53;; Windows Platforms: 56;; Windows Platforms:
54;; 57;;
55;; If you are using Emacs and GDB on Windows you will need to flush the buffer 58;; If you are using Emacs and GDB on Windows you will need to flush the buffer
@@ -277,7 +280,7 @@ Also display the main routine in the disassembly buffer if present."
277 (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer) 280 (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer)
278 (goto-char (point-min)) 281 (goto-char (point-min))
279 (if (search-forward "expands to: " nil t) 282 (if (search-forward "expands to: " nil t)
280 (unless (looking-at "\\S+.*(.*).*") 283 (unless (looking-at "\\S-+.*(.*).*")
281 (gdb-enqueue-input 284 (gdb-enqueue-input
282 (list (concat gdb-server-prefix "print " expr "\n") 285 (list (concat gdb-server-prefix "print " expr "\n")
283 'gdb-tooltip-print)))))) 286 'gdb-tooltip-print))))))
@@ -1777,7 +1780,18 @@ static char *magick[] = {
1777 gdb-info-registers-handler 1780 gdb-info-registers-handler
1778 gdb-info-registers-custom) 1781 gdb-info-registers-custom)
1779 1782
1780(defun gdb-info-registers-custom ()) 1783(defun gdb-info-registers-custom ()
1784 (with-current-buffer (gdb-get-buffer 'gdb-registers-buffer)
1785 (save-excursion
1786 (let ((buffer-read-only nil)
1787 bl)
1788 (goto-char (point-min))
1789 (while (< (point) (point-max))
1790 (setq bl (line-beginning-position))
1791 (when (looking-at "^[^ ]+")
1792 (put-text-property bl (match-end 0)
1793 'face font-lock-variable-name-face))
1794 (forward-line 1))))))
1781 1795
1782(defvar gdb-registers-mode-map 1796(defvar gdb-registers-mode-map
1783 (let ((map (make-sparse-keymap))) 1797 (let ((map (make-sparse-keymap)))
@@ -1786,12 +1800,6 @@ static char *magick[] = {
1786 (define-key map "q" 'kill-this-buffer) 1800 (define-key map "q" 'kill-this-buffer)
1787 map)) 1801 map))
1788 1802
1789(defvar gdb-registers-font-lock-keywords
1790 '(
1791 ("^[^ ]+" . font-lock-variable-name-face)
1792 )
1793 "Font lock keywords used in `gdb-registers-mode'.")
1794
1795(defun gdb-registers-mode () 1803(defun gdb-registers-mode ()
1796 "Major mode for gdb registers. 1804 "Major mode for gdb registers.
1797 1805
@@ -1801,8 +1809,6 @@ static char *magick[] = {
1801 (setq mode-name "Registers:") 1809 (setq mode-name "Registers:")
1802 (setq buffer-read-only t) 1810 (setq buffer-read-only t)
1803 (use-local-map gdb-registers-mode-map) 1811 (use-local-map gdb-registers-mode-map)
1804 (set (make-local-variable 'font-lock-defaults)
1805 '(gdb-registers-font-lock-keywords))
1806 (run-mode-hooks 'gdb-registers-mode-hook) 1812 (run-mode-hooks 'gdb-registers-mode-hook)
1807 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 1813 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
1808 'gdb-invalidate-registers 1814 'gdb-invalidate-registers
@@ -2160,7 +2166,7 @@ corresponding to the mode line clicked."
2160 2166
2161;; Abbreviate for arrays and structures. 2167;; Abbreviate for arrays and structures.
2162;; These can be expanded using gud-display. 2168;; These can be expanded using gud-display.
2163(defun gdb-info-locals-handler nil 2169(defun gdb-info-locals-handler ()
2164 (setq gdb-pending-triggers (delq 'gdb-invalidate-locals 2170 (setq gdb-pending-triggers (delq 'gdb-invalidate-locals
2165 gdb-pending-triggers)) 2171 gdb-pending-triggers))
2166 (let ((buf (gdb-get-buffer 'gdb-partial-output-buffer))) 2172 (let ((buf (gdb-get-buffer 'gdb-partial-output-buffer)))
@@ -2192,7 +2198,7 @@ corresponding to the mode line clicked."
2192 (define-key map "q" 'kill-this-buffer) 2198 (define-key map "q" 'kill-this-buffer)
2193 map)) 2199 map))
2194 2200
2195(defvar gdb-local-font-lock-keywords 2201(defvar gdb-locals-font-lock-keywords
2196 '( 2202 '(
2197 ;; var = (struct struct_tag) value 2203 ;; var = (struct struct_tag) value
2198 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)" 2204 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)"
@@ -2219,7 +2225,7 @@ corresponding to the mode line clicked."
2219 (setq buffer-read-only t) 2225 (setq buffer-read-only t)
2220 (use-local-map gdb-locals-mode-map) 2226 (use-local-map gdb-locals-mode-map)
2221 (set (make-local-variable 'font-lock-defaults) 2227 (set (make-local-variable 'font-lock-defaults)
2222 '(gdb-local-font-lock-keywords)) 2228 '(gdb-locals-font-lock-keywords))
2223 (run-mode-hooks 'gdb-locals-mode-hook) 2229 (run-mode-hooks 'gdb-locals-mode-hook)
2224 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 2230 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
2225 'gdb-invalidate-locals 2231 'gdb-invalidate-locals