aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2006-02-17 11:51:38 +0000
committerNick Roberts2006-02-17 11:51:38 +0000
commitbbcc52157b92f2950779158274a30fd78c23534c (patch)
tree9c70e95aa38950da7c628013be3907a69b9ff04b
parent2ec58220f82be030565fd74fa3e42d300f442e73 (diff)
downloademacs-bbcc52157b92f2950779158274a30fd78c23534c.tar.gz
emacs-bbcc52157b92f2950779158274a30fd78c23534c.zip
(gdb-var-list): Update doc string.
(gdb-init-1, gdb-var-changed): Set gdb-var-changed to t initially. (gdb-show-changed-values): Also use for out of scope variables. (gdb-var-update-handler-1): Note if variable goes out of scope.
-rw-r--r--lisp/progmodes/gdb-ui.el23
1 files changed, 13 insertions, 10 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 2e7fa41d622..dfcefceb152 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -107,8 +107,9 @@
107(defvar gdb-current-language nil) 107(defvar gdb-current-language nil)
108(defvar gdb-var-list nil 108(defvar gdb-var-list nil
109 "List of variables in watch window. 109 "List of variables in watch window.
110Each element has the form (EXPRESSION VARNUM NUMCHILD TYPE VALUE CHANGED-P).") 110Each element has the form (EXPRESSION VARNUM NUMCHILD TYPE VALUE STATUS) where
111(defvar gdb-var-changed nil "Non-nil means that `gdb-var-list' has changed.") 111STATUS is nil (unchanged), `changed' or `out-of-scope'.")
112(defvar gdb-var-changed t "Non-nil means that `gdb-var-list' has changed.")
112(defvar gdb-main-file nil "Source file from which program execution begins.") 113(defvar gdb-main-file nil "Source file from which program execution begins.")
113(defvar gdb-overlay-arrow-position nil) 114(defvar gdb-overlay-arrow-position nil)
114(defvar gdb-server-prefix nil) 115(defvar gdb-server-prefix nil)
@@ -454,7 +455,8 @@ With arg, use separate IO iff arg is positive."
454 gdb-current-language nil 455 gdb-current-language nil
455 gdb-frame-number nil 456 gdb-frame-number nil
456 gdb-var-list nil 457 gdb-var-list nil
457 gdb-var-changed nil 458 ;; Set initially to t to force update.
459 gdb-var-changed t
458 gdb-first-post-prompt t 460 gdb-first-post-prompt t
459 gdb-prompting nil 461 gdb-prompting nil
460 gdb-input-queue nil 462 gdb-input-queue nil
@@ -739,8 +741,9 @@ type=\"\\(.*?\\)\"")
739 'ignore)))) 741 'ignore))))
740 742
741(defcustom gdb-show-changed-values t 743(defcustom gdb-show-changed-values t
742 "If non-nil highlight values that have recently changed in the speedbar. 744 "If non-nil change the face of out of scope variables and changed values.
743The highlighting is done with `font-lock-warning-face'." 745Out of scope variables are suppressed with `shadow' face.
746Changed values are highlighted with the face `font-lock-warning-face'."
744 :type 'boolean 747 :type 'boolean
745 :group 'gud 748 :group 'gud
746 :version "22.1") 749 :version "22.1")
@@ -3049,11 +3052,11 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}")
3049 (dolist (var gdb-var-list) 3052 (dolist (var gdb-var-list)
3050 (if (string-equal varnum (cadr var)) 3053 (if (string-equal varnum (cadr var))
3051 (progn 3054 (progn
3052 (setcar (nthcdr 5 var) t) 3055 (if (string-equal (match-string 3) "false")
3053 (setcar (nthcdr 4 var) 3056 (setcar (nthcdr 5 var) 'out-of-scope)
3054 (if (string-equal (match-string 3) "true") 3057 (setcar (nthcdr 5 var) 'changed)
3055 (read (match-string 2)) 3058 (setcar (nthcdr 4 var)
3056 "*changed*")) 3059 (read (match-string 2))))
3057 (setcar (nthcdr num gdb-var-list) var) 3060 (setcar (nthcdr num gdb-var-list) var)
3058 (throw 'var-found1 nil))) 3061 (throw 'var-found1 nil)))
3059 (setq num (+ num 1)))))) 3062 (setq num (+ num 1))))))