# HG changeset patch # User Nick Roberts # Date 1251800280 0 # Node ID 7d4483022eb4e39ed646260c55fb1fdc14cc1fee # Parent fba3984b43f5555b63280320852b36b8a86b7664 (gdb-var-create-handler): Remove redundant 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. diff -r fba3984b43f5 -r 7d4483022eb4 lisp/progmodes/gdb-mi.el --- a/lisp/progmodes/gdb-mi.el Tue Sep 01 10:16:44 2009 +0000 +++ b/lisp/progmodes/gdb-mi.el Tue Sep 01 10:18:00 2009 +0000 @@ -1031,12 +1031,7 @@ (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 @@ (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 @@ (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)