]> code.delx.au - gnu-emacs/commitdiff
(gdb-var-create-handler): Remove redundant
authorNick Roberts <nickrob@snap.net.nz>
Tue, 1 Sep 2009 10:18:00 +0000 (10:18 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Tue, 1 Sep 2009 10:18:00 +0000 (10:18 +0000)
MI command -var-evaluate-expression.
(gdb-var-list-children-regexp): Update from regexp-1 in gdb-ui.el
and tweak for case of string child.
(gdb-var-list-children-handler): Update from handler-1 in
gdb-ui.el.

lisp/progmodes/gdb-mi.el

index 63896d4a77a2ae3d315d6ae0655752e00980828b..43cb614632e60c58f1439051c2e4983dc26d6266 100644 (file)
@@ -1031,12 +1031,7 @@ With arg, enter name of variable to be watched in the minibuffer."
        (speedbar 1)
        (unless (string-equal
                 speedbar-initial-expansion-list-name "GUD")
-         (speedbar-change-initial-expansion-list "GUD"))
-       (gdb-input
-        (list
-         (concat "-var-evaluate-expression " (car var))
-         `(lambda () (gdb-var-evaluate-expression-handler
-                      ,(car var) nil)))))
+         (speedbar-change-initial-expansion-list "GUD")))
     (message-box "No symbol \"%s\" in current context." expr))))
 
 (defun gdb-speedbar-update ()
@@ -1073,7 +1068,8 @@ With arg, enter name of variable to be watched in the minibuffer."
 
 (defconst gdb-var-list-children-regexp
   "child={.*?name=\"\\(.+?\\)\".*?,exp=\"\\(.+?\\)\".*?,\
-numchild=\"\\(.+?\\)\".*?,value=\\(\".*?\"\\).*?,type=\"\\(.+?\\)\".*?}")
+numchild=\"\\(.+?\\)\".*?,value=\\(\"\"\\|\".*?[^\\]\"\\)\
+\\(}\\|.*?,\\(type=\"\\(.+?\\)\"\\)?.*?}\\)")
 
 (defun gdb-var-list-children-handler (varnum)
   (goto-char (point-min))
@@ -1087,7 +1083,7 @@ numchild=\"\\(.+?\\)\".*?,value=\\(\".*?\"\\).*?,type=\"\\(.+?\\)\".*?}")
                (let ((varchild (list (match-string 1)
                                      (match-string 2)
                                      (match-string 3)
-                                     (match-string 5)
+                                     (match-string 7)
                                      (read (match-string 4))
                                      nil)))
                  (if (assoc (car varchild) gdb-var-list)