aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2004-05-24 21:59:08 +0000
committerNick Roberts2004-05-24 21:59:08 +0000
commit39043abb833e639ecb1a79867f108aeec6be1830 (patch)
tree90c64a95dd4deb3f9773a5f85f3b8dabad300232
parentc98583470faafc01532a84fe8e621438eb1c2bf4 (diff)
downloademacs-39043abb833e639ecb1a79867f108aeec6be1830.tar.gz
emacs-39043abb833e639ecb1a79867f108aeec6be1830.zip
(gdb-var-update, gdb-var-update-handler, gdb-var-delete)
(gdb-edit-value, gdb-speedbar-expand-node): Handle new value for gud-minor-mode (gdbmi).
-rw-r--r--lisp/progmodes/gdb-ui.el31
1 files changed, 23 insertions, 8 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index b376c380e98..6fce273f6ee 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -319,7 +319,11 @@ speedbar."
319(defun gdb-var-update () 319(defun gdb-var-update ()
320 (if (not (member 'gdb-var-update gdb-pending-triggers)) 320 (if (not (member 'gdb-var-update gdb-pending-triggers))
321 (progn 321 (progn
322 (gdb-enqueue-input (list "server interpreter mi \"-var-update *\"\n" 322 (gdb-enqueue-input
323 (list
324 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
325 "server interpreter mi \"-var-update *\"\n"
326 "-var-update *\n")
323 'gdb-var-update-handler)) 327 'gdb-var-update-handler))
324 (push 'gdb-var-update gdb-pending-triggers)))) 328 (push 'gdb-var-update gdb-pending-triggers))))
325 329
@@ -331,8 +335,11 @@ speedbar."
331 (while (re-search-forward gdb-var-update-regexp nil t) 335 (while (re-search-forward gdb-var-update-regexp nil t)
332 (let ((varnum (match-string 1))) 336 (let ((varnum (match-string 1)))
333 (gdb-enqueue-input 337 (gdb-enqueue-input
334 (list (concat "server interpreter mi \"-var-evaluate-expression " 338 (list
335 varnum "\"\n") 339 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
340 (concat "server interpreter mi \"-var-evaluate-expression "
341 varnum "\"\n")
342 (concat "-var-evaluate-expression " varnum "\n"))
336 `(lambda () (gdb-var-evaluate-expression-handler 343 `(lambda () (gdb-var-evaluate-expression-handler
337 ,varnum t))))))) 344 ,varnum t)))))))
338 (setq gdb-pending-triggers 345 (setq gdb-pending-triggers
@@ -349,8 +356,11 @@ speedbar."
349 (varnum (cadr var))) 356 (varnum (cadr var)))
350 (unless (string-match "\\." varnum) 357 (unless (string-match "\\." varnum)
351 (gdb-enqueue-input 358 (gdb-enqueue-input
352 (list (concat "server interpreter mi \"-var-delete " 359 (list
353 varnum "\"\n") 360 (if (with-current-buffer gud-comint-buffer
361 (eq gud-minor-mode 'gdba))
362 (concat "server interpreter mi \"-var-delete " varnum "\"\n")
363 (concat "-var-delete " varnum "\n"))
354 'ignore)) 364 'ignore))
355 (setq gdb-var-list (delq var gdb-var-list)) 365 (setq gdb-var-list (delq var gdb-var-list))
356 (dolist (varchild gdb-var-list) 366 (dolist (varchild gdb-var-list)
@@ -364,8 +374,11 @@ speedbar."
364 (varnum (cadr var)) (value)) 374 (varnum (cadr var)) (value))
365 (setq value (read-string "New value: ")) 375 (setq value (read-string "New value: "))
366 (gdb-enqueue-input 376 (gdb-enqueue-input
367 (list (concat "server interpreter mi \"-var-assign " 377 (list
368 varnum " " value "\"\n") 378 (if (with-current-buffer gud-comint-buffer
379 (eq gud-minor-mode 'gdba))
380 (concat "server interpreter mi \"-var-assign " varnum " " value "\"\n")
381 (concat "-var-assign " varnum " " value "\n"))
369 'ignore)))) 382 'ignore))))
370 383
371(defcustom gdb-show-changed-values t 384(defcustom gdb-show-changed-values t
@@ -380,7 +393,9 @@ TEXT is the text of the button we clicked on, a + or - item.
380TOKEN is data related to this node. 393TOKEN is data related to this node.
381INDENT is the current indentation depth." 394INDENT is the current indentation depth."
382 (cond ((string-match "+" text) ;expand this node 395 (cond ((string-match "+" text) ;expand this node
383 (gdb-var-list-children token)) 396 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
397 (gdb-var-list-children token)
398 (gdbmi-var-list-children token)))
384 ((string-match "-" text) ;contract this node 399 ((string-match "-" text) ;contract this node
385 (dolist (var gdb-var-list) 400 (dolist (var gdb-var-list)
386 (if (string-match (concat token "\\.") (nth 1 var)) 401 (if (string-match (concat token "\\.") (nth 1 var))