aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2005-11-24 20:45:50 +0000
committerNick Roberts2005-11-24 20:45:50 +0000
commitf3220d3a39b4a04e15ea387166d804e3b61f1e2a (patch)
treecf08282db830ef36a08db9b44f4ba37ca146afea
parente5a690f115a4f8fa678314ab08f33497862ae704 (diff)
downloademacs-f3220d3a39b4a04e15ea387166d804e3b61f1e2a.tar.gz
emacs-f3220d3a39b4a04e15ea387166d804e3b61f1e2a.zip
(gdb-var-create-handler, gdb-var-list-children-handler):
Find values for all variable objects. gud-speedbar-buttons decides whether to display them.
-rw-r--r--lisp/progmodes/gdb-ui.el40
1 files changed, 17 insertions, 23 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 3010d3e6561..433252757f5 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -532,19 +532,16 @@ With arg, use separate IO iff arg is positive."
532 (unless (string-equal 532 (unless (string-equal
533 speedbar-initial-expansion-list-name "GUD") 533 speedbar-initial-expansion-list-name "GUD")
534 (speedbar-change-initial-expansion-list "GUD")) 534 (speedbar-change-initial-expansion-list "GUD"))
535 (if (or (equal (nth 2 var) "0") 535 (gdb-enqueue-input
536 (and (equal (nth 2 var) "1") 536 (list
537 (string-match "char \\*$" (nth 3 var)))) 537 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
538 (gdb-enqueue-input 538 'gdba)
539 (list 539 (concat "server interpreter mi \"-var-evaluate-expression "
540 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 540 (nth 1 var) "\"\n")
541 'gdba) 541 (concat "-var-evaluate-expression " (nth 1 var) "\n"))
542 (concat "server interpreter mi \"-var-evaluate-expression " 542 `(lambda () (gdb-var-evaluate-expression-handler
543 (nth 1 var) "\"\n") 543 ,(nth 1 var) nil))))
544 (concat "-var-evaluate-expression " (nth 1 var) "\n")) 544 (setq gdb-var-changed t))
545 `(lambda () (gdb-var-evaluate-expression-handler
546 ,(nth 1 var) nil))))
547 (setq gdb-var-changed t)))
548 (if (re-search-forward "Undefined command" nil t) 545 (if (re-search-forward "Undefined command" nil t)
549 (message-box "Watching expressions requires gdb 6.0 onwards") 546 (message-box "Watching expressions requires gdb 6.0 onwards")
550 (message "No symbol \"%s\" in current context." expr))))) 547 (message "No symbol \"%s\" in current context." expr)))))
@@ -593,16 +590,13 @@ type=\"\\(.*?\\)\"")
593 (if (string-equal (cadr var1) (cadr varchild)) 590 (if (string-equal (cadr var1) (cadr varchild))
594 (throw 'child-already-watched nil))) 591 (throw 'child-already-watched nil)))
595 (push varchild var-list) 592 (push varchild var-list)
596 (if (or (equal (nth 2 varchild) "0") 593 (gdb-enqueue-input
597 (and (equal (nth 2 varchild) "1") 594 (list
598 (string-match "char \\*$" (nth 3 varchild)))) 595 (concat
599 (gdb-enqueue-input 596 "server interpreter mi \"-var-evaluate-expression "
600 (list 597 (nth 1 varchild) "\"\n")
601 (concat 598 `(lambda () (gdb-var-evaluate-expression-handler
602 "server interpreter mi \"-var-evaluate-expression " 599 ,(nth 1 varchild) nil)))))))
603 (nth 1 varchild) "\"\n")
604 `(lambda () (gdb-var-evaluate-expression-handler
605 ,(nth 1 varchild) nil))))))))
606 (push var var-list))) 600 (push var var-list)))
607 (setq gdb-var-list (nreverse var-list)))))) 601 (setq gdb-var-list (nreverse var-list))))))
608 602