aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2007-01-28 09:42:23 +0000
committerNick Roberts2007-01-28 09:42:23 +0000
commit5754d11f61a8495c71fc5c666d926aff87095183 (patch)
treedc0f7800944956b4771cbe001bbf161a711551ac
parent306c24b561bdf8bcedfe8ceb2d9c1625d2fada46 (diff)
downloademacs-5754d11f61a8495c71fc5c666d926aff87095183.tar.gz
emacs-5754d11f61a8495c71fc5c666d926aff87095183.zip
(gdb-breakpoint-regexp): Declare earlier to
avoid compiler warning. (gdb-var-update-handler-1): Consider that the MI field `in_scope' might have values other than "true" or "false".
-rw-r--r--lisp/progmodes/gdb-ui.el34
1 files changed, 23 insertions, 11 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 01e4fe7abe7..c2811a9658a 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -1788,6 +1788,9 @@ static char *magick[] = {
1788 "Face for disabled breakpoint icon in fringe." 1788 "Face for disabled breakpoint icon in fringe."
1789 :group 'gud) 1789 :group 'gud)
1790 1790
1791(defconst gdb-breakpoint-regexp
1792 "\\([0-9]+\\).*?\\(?:point\\|catch\\s-+\\S-+\\)\\s-+\\S-+\\s-+\\(.\\)\\s-+")
1793
1791;; Put breakpoint icons in relevant margins (even those set in the GUD buffer). 1794;; Put breakpoint icons in relevant margins (even those set in the GUD buffer).
1792(defun gdb-info-breakpoints-custom () 1795(defun gdb-info-breakpoints-custom ()
1793 (let ((flag) (bptno)) 1796 (let ((flag) (bptno))
@@ -1981,9 +1984,6 @@ static char *magick[] = {
1981 'gdb-invalidate-breakpoints 1984 'gdb-invalidate-breakpoints
1982 'gdbmi-invalidate-breakpoints)) 1985 'gdbmi-invalidate-breakpoints))
1983 1986
1984(defconst gdb-breakpoint-regexp
1985 "\\([0-9]+\\).*?\\(?:point\\|catch\\s-+\\S-+\\)\\s-+\\S-+\\s-+\\(.\\)\\s-+")
1986
1987(defun gdb-toggle-breakpoint () 1987(defun gdb-toggle-breakpoint ()
1988 "Enable/disable breakpoint at current line." 1988 "Enable/disable breakpoint at current line."
1989 (interactive) 1989 (interactive)
@@ -3436,14 +3436,26 @@ in_scope=\"\\(.*?\\)\".*?}")
3436 (let* ((varnum (match-string 1)) 3436 (let* ((varnum (match-string 1))
3437 (var (assoc varnum gdb-var-list))) 3437 (var (assoc varnum gdb-var-list)))
3438 (when var 3438 (when var
3439 (if (string-equal (match-string 3) "false") 3439 (let ((match (match-string 3)))
3440 (setcar (nthcdr 5 var) 'out-of-scope) 3440 (cond ((string-equal match "false")
3441 (setcar (nthcdr 5 var) 'changed) 3441 (setcar (nthcdr 5 var) 'out-of-scope))
3442 (setcar (nthcdr 4 var) 3442 ((string-equal match "true")
3443 (read (match-string 2))))))) 3443 (setcar (nthcdr 5 var) 'changed)
3444 (setq gdb-pending-triggers 3444 (setcar (nthcdr 4 var)
3445 (delq 'gdb-var-update gdb-pending-triggers)) 3445 (read (match-string 2))))
3446 (gdb-speedbar-update)) 3446;; ((string-equal match "invalid")
3447;; (gdb-enqueue-input
3448;; (list
3449;; (if (eq (buffer-local-value
3450;; 'gud-minor-mode gud-comint-buffer) 'gdba)
3451;; (concat "server interpreter mi \"-var-delete "
3452;; varnum "\"\n")
3453;; (concat "-var-delete " varnum "\n"))
3454;; 'ignore)))
3455 )))))
3456 (setq gdb-pending-triggers
3457 (delq 'gdb-var-update gdb-pending-triggers))
3458 (gdb-speedbar-update))
3447 3459
3448;; Registers buffer. 3460;; Registers buffer.
3449;; 3461;;