diff options
| author | Nick Roberts | 2006-10-07 23:37:20 +0000 |
|---|---|---|
| committer | Nick Roberts | 2006-10-07 23:37:20 +0000 |
| commit | 02974d02ac76b4403341fa2fa3c8b6054b76fbfe (patch) | |
| tree | 4fcc9626e879bf76e4609facddfab87f76a7f9f7 | |
| parent | ad05d59accfcfc933b9c87cdc30d2db4ddf01143 (diff) | |
| download | emacs-02974d02ac76b4403341fa2fa3c8b6054b76fbfe.tar.gz emacs-02974d02ac76b4403341fa2fa3c8b6054b76fbfe.zip | |
(gdb-speedbar-expand-node): Burp if
GUD buffer has been killed.
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 3f21e4ac96b..52360a73970 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -902,20 +902,23 @@ Changed values are highlighted with the face `font-lock-warning-face'." | |||
| 902 | TEXT is the text of the button we clicked on, a + or - item. | 902 | TEXT is the text of the button we clicked on, a + or - item. |
| 903 | TOKEN is data related to this node. | 903 | TOKEN is data related to this node. |
| 904 | INDENT is the current indentation depth." | 904 | INDENT is the current indentation depth." |
| 905 | (cond ((string-match "+" text) ;expand this node | 905 | (if (and gud-comint-buffer (buffer-name gud-comint-buffer)) |
| 906 | (if (and | 906 | (progn |
| 907 | (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) | 907 | (cond ((string-match "+" text) ;expand this node |
| 908 | (string-equal gdb-version "pre-6.4")) | 908 | (if (and (eq (buffer-local-value |
| 909 | (gdb-var-list-children token) | 909 | 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 910 | (gdb-var-list-children-1 token))) | 910 | (string-equal gdb-version "pre-6.4")) |
| 911 | ((string-match "-" text) ;contract this node | 911 | (gdb-var-list-children token) |
| 912 | (dolist (var gdb-var-list) | 912 | (gdb-var-list-children-1 token))) |
| 913 | (if (string-match (concat token "\\.") (car var)) | 913 | ((string-match "-" text) ;contract this node |
| 914 | (setq gdb-var-list (delq var gdb-var-list)))) | 914 | (dolist (var gdb-var-list) |
| 915 | (speedbar-change-expand-button-char ?+) | 915 | (if (string-match (concat token "\\.") (car var)) |
| 916 | (speedbar-delete-subblock indent)) | 916 | (setq gdb-var-list (delq var gdb-var-list)))) |
| 917 | (t (error "Ooops... not sure what to do"))) | 917 | (speedbar-change-expand-button-char ?+) |
| 918 | (speedbar-center-buffer-smartly)) | 918 | (speedbar-delete-subblock indent)) |
| 919 | (t (error "Ooops... not sure what to do"))) | ||
| 920 | (speedbar-center-buffer-smartly)) | ||
| 921 | (message-box "GUD session has been killed"))) | ||
| 919 | 922 | ||
| 920 | (defun gdb-get-target-string () | 923 | (defun gdb-get-target-string () |
| 921 | (with-current-buffer gud-comint-buffer | 924 | (with-current-buffer gud-comint-buffer |
| @@ -1132,7 +1135,7 @@ This filter may simply queue input for a later time." | |||
| 1132 | (if gdb-prompting | 1135 | (if gdb-prompting |
| 1133 | (progn | 1136 | (progn |
| 1134 | (gdb-send-item item) | 1137 | (gdb-send-item item) |
| 1135 | (setq gdb-prompting nil)) | 1138 | (setq gdb-prompting nil)) |
| 1136 | (push item gdb-input-queue)))) | 1139 | (push item gdb-input-queue)))) |
| 1137 | 1140 | ||
| 1138 | (defun gdb-dequeue-input () | 1141 | (defun gdb-dequeue-input () |