]> code.delx.au - gnu-emacs/commitdiff
(gdb-var-list-children-regexp)
authorNick Roberts <nickrob@snap.net.nz>
Wed, 6 Sep 2006 02:45:03 +0000 (02:45 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Wed, 6 Sep 2006 02:45:03 +0000 (02:45 +0000)
(gdb-var-list-children-regexp-1): Tweak regexps to catch full
string values.

lisp/progmodes/gdb-ui.el

index 3c0a968f55453620e3445bba87c913c98cfbf60e..3f21e4ac96b7bf8ce9381bcd8960ada223dfcc97 100644 (file)
@@ -782,7 +782,7 @@ With arg, enter name of variable to be watched in the minibuffer."
 
 (defconst gdb-var-list-children-regexp
  "child={.*?name=\"\\(.*?\\)\",.*?exp=\"\\(.*?\\)\",.*?\
-numchild=\"\\(.*?\\)\".*?\\(,type=\"\\(.*?\\)\"\\)?.*?}")
+numchild=\"\\(.*?\\)\"\\(}\\|,.*?\\(type=\"\\(.*?\\)\"\\)?.*?}\\)")
 
 (defun gdb-var-list-children-handler (varnum)
   (goto-char (point-min))
@@ -796,7 +796,7 @@ numchild=\"\\(.*?\\)\".*?\\(,type=\"\\(.*?\\)\"\\)?.*?}")
                (let ((varchild (list (match-string 1)
                                      (match-string 2)
                                      (match-string 3)
-                                     (match-string 5)
+                                     (match-string 6)
                                      nil nil)))
                  (if (assoc (car varchild) gdb-var-list)
                      (throw 'child-already-watched nil))
@@ -3346,7 +3346,8 @@ is set in them."
 
 (defconst gdb-var-list-children-regexp-1
   "child={.*?name=\"\\(.+?\\)\",.*?exp=\"\\(.+?\\)\",.*?\
-numchild=\"\\(.+?\\)\",.*?value=\\(\".*?\"\\).*?\\(,type=\"\\(.+?\\)\"\\)?.*?}")
+numchild=\"\\(.+?\\)\",.*?value=\\(\".*?\"\\)\
+\\(}\\|,.*?\\(type=\"\\(.+?\\)\"\\)?.*?}\\)")
 
 (defun gdb-var-list-children-handler-1 (varnum)
   (goto-char (point-min))
@@ -3360,7 +3361,7 @@ numchild=\"\\(.+?\\)\",.*?value=\\(\".*?\"\\).*?\\(,type=\"\\(.+?\\)\"\\)?.*?}")
                (let ((varchild (list (match-string 1)
                                      (match-string 2)
                                      (match-string 3)
-                                     (match-string 6)
+                                     (match-string 7)
                                      (read (match-string 4))
                                      nil)))
                  (if (assoc (car varchild) gdb-var-list)