summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorNick Roberts <nickrob@snap.net.nz>2009-09-01 10:18:00 +0000
committerNick Roberts <nickrob@snap.net.nz>2009-09-01 10:18:00 +0000
commitdf78c9e35717f800240861fa9221d0bad6e24c45 (patch)
tree51f41adcf7de22291796a547d476b5d73be7c57c /lisp/progmodes
parent83318a6dc0f82fd9469d1518134451e2b6c5e08b (diff)
downloademacs-df78c9e35717f800240861fa9221d0bad6e24c45.tar.gz
(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.
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/gdb-mi.el12
1 files 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)