From df78c9e35717f800240861fa9221d0bad6e24c45 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Tue, 1 Sep 2009 10:18:00 +0000 Subject: [PATCH] (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. --- lisp/progmodes/gdb-mi.el | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index 63896d4a77a..43cb614632e 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el @@ -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) -- 2.39.2