Mercurial > emacs
diff lisp/progmodes/gdb-mi.el @ 104782:7d4483022eb4
(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.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Tue, 01 Sep 2009 10:18:00 +0000 |
parents | 468b7fa34d2c |
children | 6c9368500317 |
line wrap: on
line diff
--- 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)