Mercurial > emacs
changeset 105073:3d8175dd6918
(gud-speedbar-item-info): Adjust for change to
gdb-var-list.
(gud-speedbar-buttons): Make node expandable if expression "has more"
children.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Fri, 18 Sep 2009 02:01:26 +0000 |
parents | 28bf710f9221 |
children | 45b5d5aae703 |
files | lisp/progmodes/gud.el |
diffstat | 1 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/gud.el Fri Sep 18 02:00:59 2009 +0000 +++ b/lisp/progmodes/gud.el Fri Sep 18 02:01:26 2009 +0000 @@ -438,8 +438,8 @@ (defun gud-speedbar-item-info () "Display the data type of the watch expression element." (let ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list))) - (if (nth 6 var) - (speedbar-message "%s: %s" (nth 6 var) (nth 3 var)) + (if (nth 7 var) + (speedbar-message "%s: %s" (nth 7 var) (nth 3 var)) (speedbar-message "%s" (nth 3 var))))) (defun gud-install-speedbar-variables () @@ -517,7 +517,8 @@ (let* (char (depth 0) (start 0) (var (car var-list)) (varnum (car var)) (expr (nth 1 var)) (type (if (nth 3 var) (nth 3 var) " ")) - (value (nth 4 var)) (status (nth 5 var))) + (value (nth 4 var)) (status (nth 5 var)) + (has-more (nth 6 var))) (put-text-property 0 (length expr) 'face font-lock-variable-name-face expr) (put-text-property @@ -526,9 +527,10 @@ (setq depth (1+ depth) start (1+ (match-beginning 0)))) (if (eq depth 0) (setq parent nil)) - (if (or (equal (nth 2 var) "0") - (and (equal (nth 2 var) "1") - (string-match "char \\*$" type))) + (if (and (or (not has-more) (string-equal has-more "0")) + (or (equal (nth 2 var) "0") + (and (equal (nth 2 var) "1") + (string-match "char \\*$" type)) )) (speedbar-make-tag-line 'bracket ?? nil nil (concat expr "\t" value) @@ -2625,7 +2627,9 @@ (setq gud-overlay-arrow-position nil) (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdbmi) - (gdb-reset) + (progn + (delete-process "gdb-inferior") + (gdb-reset)) (gud-reset)) (let* ((obuf (current-buffer))) ;; save-excursion isn't the right thing if