Mercurial > emacs
changeset 64346:ef82d5d73c0d
(gdb-var-update, gdb-var-update-handler):
Don't consider gdbmi (gdb-mi.el has its own update functions).
(gdb-var-delete): Make it work for gdbmi as well.
(gdb-speedbar-expand-node): Move var-update here for gdbmi.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Fri, 15 Jul 2005 14:45:09 +0000 |
parents | 1009f071639a |
children | e99898c983f2 |
files | lisp/progmodes/gdb-ui.el |
diffstat | 1 files changed, 14 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/gdb-ui.el Fri Jul 15 14:44:33 2005 +0000 +++ b/lisp/progmodes/gdb-ui.el Fri Jul 15 14:45:09 2005 +0000 @@ -503,15 +503,11 @@ (setq gdb-var-list (nreverse var-list)))))) (defun gdb-var-update () - (if (not (member 'gdb-var-update gdb-pending-triggers)) - (progn - (gdb-enqueue-input - (list - (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) - "server interpreter mi \"-var-update *\"\n" - "-var-update *\n") - 'gdb-var-update-handler)) - (push 'gdb-var-update gdb-pending-triggers)))) + (when (not (member 'gdb-var-update gdb-pending-triggers)) + (gdb-enqueue-input + (list "server interpreter mi \"-var-update *\"\n" + 'gdb-var-update-handler)) + (push 'gdb-var-update gdb-pending-triggers))) (defconst gdb-var-update-regexp "name=\"\\(.*?\\)\"") @@ -522,13 +518,9 @@ (let ((varnum (match-string 1))) (gdb-enqueue-input (list - (if (with-current-buffer gud-comint-buffer - (eq gud-minor-mode 'gdba)) - (concat "server interpreter mi \"-var-evaluate-expression " - varnum "\"\n") - (concat "-var-evaluate-expression " varnum "\n")) - `(lambda () (gdb-var-evaluate-expression-handler - ,varnum t))))))) + (concat "server interpreter mi \"-var-evaluate-expression " + varnum "\"\n") + `(lambda () (gdb-var-evaluate-expression-handler ,varnum t))))))) (setq gdb-pending-triggers (delq 'gdb-var-update gdb-pending-triggers)) (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame)) @@ -544,9 +536,10 @@ (speedbar-timer-fn))) (defun gdb-var-delete () - "Delete watched expression from the speedbar." + "Delete watch expression at point from the speedbar." (interactive) - (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) + (if (with-current-buffer + gud-comint-buffer (memq gud-minor-mode '(gdbmi gdba))) (let ((text (speedbar-line-text))) (string-match "\\(\\S-+\\)" text) (let* ((expr (match-string 1 text)) @@ -595,7 +588,9 @@ (cond ((string-match "+" text) ;expand this node (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) (gdb-var-list-children token) - (gdbmi-var-list-children token))) + (progn + (gdbmi-var-update) + (gdbmi-var-list-children token)))) ((string-match "-" text) ;contract this node (dolist (var gdb-var-list) (if (string-match (concat token "\\.") (nth 1 var))