aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2005-02-19 05:08:49 +0000
committerNick Roberts2005-02-19 05:08:49 +0000
commit9efdfc10ec2c6f8953421aaacf5573b038063807 (patch)
tree5f03b45459a5b6ad95bbeeb35a13bb2847469d1e
parent8c4e7434d23ae46e8961989cdab8d42ac5623a13 (diff)
downloademacs-9efdfc10ec2c6f8953421aaacf5573b038063807.tar.gz
emacs-9efdfc10ec2c6f8953421aaacf5573b038063807.zip
(gdb-var-update-handler)
(gdb-speedbar-timer-fn): Ensure speedbar updates with new values for watch expressions, (gdb-var-create-handler): Don't set speedbar-update-flag. (gdb-post-prompt): Simplify test for speedbar.
-rw-r--r--lisp/progmodes/gdb-ui.el26
1 files changed, 18 insertions, 8 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 4eeb8fa1886..3c1251ba59b 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -338,7 +338,6 @@ detailed description of this mode.
338 (match-string 3) 338 (match-string 3)
339 nil nil))) 339 nil nil)))
340 (push var gdb-var-list) 340 (push var gdb-var-list)
341 (setq speedbar-update-flag t)
342 (speedbar 1) 341 (speedbar 1)
343 (if (equal (nth 2 var) "0") 342 (if (equal (nth 2 var) "0")
344 (gdb-enqueue-input 343 (gdb-enqueue-input
@@ -433,7 +432,18 @@ detailed description of this mode.
433 `(lambda () (gdb-var-evaluate-expression-handler 432 `(lambda () (gdb-var-evaluate-expression-handler
434 ,varnum t))))))) 433 ,varnum t)))))))
435 (setq gdb-pending-triggers 434 (setq gdb-pending-triggers
436 (delq 'gdb-var-update gdb-pending-triggers))) 435 (delq 'gdb-var-update gdb-pending-triggers))
436 (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame))
437 ;; dummy command to update speedbar at right time
438 (gdb-enqueue-input (list "server pwd\n" 'gdb-speedbar-timer-fn))
439 ;; keep gdb-pending-triggers non-nil till end
440 (push 'gdb-speedbar-timer gdb-pending-triggers)))
441
442(defun gdb-speedbar-timer-fn ()
443 (setq gdb-pending-triggers
444 (delq 'gdb-speedbar-timer gdb-pending-triggers))
445 (with-current-buffer gud-comint-buffer
446 (speedbar-timer-fn)))
437 447
438(defun gdb-var-delete () 448(defun gdb-var-delete ()
439 "Delete watched expression from the speedbar." 449 "Delete watched expression from the speedbar."
@@ -882,12 +892,12 @@ happens to be appropriate."
882 (gdb-invalidate-threads) 892 (gdb-invalidate-threads)
883 (unless (eq system-type 'darwin) ;Breaks on Darwin's GDB-5.3. 893 (unless (eq system-type 'darwin) ;Breaks on Darwin's GDB-5.3.
884 ;; FIXME: with GDB-6 on Darwin, this might very well work. 894 ;; FIXME: with GDB-6 on Darwin, this might very well work.
885 (dolist (frame (frame-list)) 895 ;; only needed/used with speedbar/watch expressions
886 (when (string-equal (frame-parameter frame 'name) "Speedbar") 896 (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame))
887 (setq gdb-var-changed t) ; force update 897 (setq gdb-var-changed t) ; force update
888 (dolist (var gdb-var-list) 898 (dolist (var gdb-var-list)
889 (setcar (nthcdr 5 var) nil)))) 899 (setcar (nthcdr 5 var) nil))
890 (gdb-var-update)))) 900 (gdb-var-update)))))
891 (let ((sink gdb-output-sink)) 901 (let ((sink gdb-output-sink))
892 (cond 902 (cond
893 ((eq sink 'user) t) 903 ((eq sink 'user) t)