338 |
(match-string 3) |
(match-string 3) |
339 |
nil nil))) |
nil nil))) |
340 |
(push var gdb-var-list) |
(push var gdb-var-list) |
|
(setq speedbar-update-flag t) |
|
341 |
(speedbar 1) |
(speedbar 1) |
342 |
(if (equal (nth 2 var) "0") |
(if (equal (nth 2 var) "0") |
343 |
(gdb-enqueue-input |
(gdb-enqueue-input |
432 |
`(lambda () (gdb-var-evaluate-expression-handler |
`(lambda () (gdb-var-evaluate-expression-handler |
433 |
,varnum t))))))) |
,varnum t))))))) |
434 |
(setq gdb-pending-triggers |
(setq gdb-pending-triggers |
435 |
(delq 'gdb-var-update gdb-pending-triggers))) |
(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))) |
447 |
|
|
448 |
(defun gdb-var-delete () |
(defun gdb-var-delete () |
449 |
"Delete watched expression from the speedbar." |
"Delete watched expression from the speedbar." |
892 |
(gdb-invalidate-threads) |
(gdb-invalidate-threads) |
893 |
(unless (eq system-type 'darwin) ;Breaks on Darwin's GDB-5.3. |
(unless (eq system-type 'darwin) ;Breaks on Darwin's GDB-5.3. |
894 |
;; FIXME: with GDB-6 on Darwin, this might very well work. |
;; FIXME: with GDB-6 on Darwin, this might very well work. |
895 |
(dolist (frame (frame-list)) |
;; only needed/used with speedbar/watch expressions |
896 |
(when (string-equal (frame-parameter frame 'name) "Speedbar") |
(when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame)) |
897 |
(setq gdb-var-changed t) ; force update |
(setq gdb-var-changed t) ; force update |
898 |
(dolist (var gdb-var-list) |
(dolist (var gdb-var-list) |
899 |
(setcar (nthcdr 5 var) nil)))) |
(setcar (nthcdr 5 var) nil)) |
900 |
(gdb-var-update)))) |
(gdb-var-update))))) |
901 |
(let ((sink gdb-output-sink)) |
(let ((sink gdb-output-sink)) |
902 |
(cond |
(cond |
903 |
((eq sink 'user) t) |
((eq sink 'user) t) |