From c35d8f463cf82e22b1ef82e79555e4f00e4d028b Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Mon, 10 Oct 2005 12:25:04 +0000 Subject: [PATCH] (gud-install-speedbar-variables): Add more bindings. (gud-speedbar-buttons): Preserve point if possible. (gud-sentinel): Restore previous speedbar display type. --- lisp/progmodes/gud.el | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index cc6163d6235..d38697a2152 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -352,6 +352,9 @@ t means that there is no stack, and we are in display-file mode.") (define-key gud-speedbar-key-map "j" 'speedbar-edit-line) (define-key gud-speedbar-key-map "e" 'speedbar-edit-line) (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line) + (define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion) + (define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants) + (define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants) (define-key gud-speedbar-key-map "D" 'gdb-var-delete)) (speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items @@ -389,7 +392,9 @@ required by the caller." gud-comint-buffer ;; gud-comint-buffer might be killed (buffer-name gud-comint-buffer)) - (let ((minor-mode (with-current-buffer buffer gud-minor-mode))) + (let* ((minor-mode (with-current-buffer buffer gud-minor-mode)) + (window (get-buffer-window (current-buffer) 0)) + (p (window-point window))) (cond ((memq minor-mode '(gdbmi gdba)) (when (or gdb-var-changed @@ -454,7 +459,8 @@ required by the caller." 'gud-gdb-goto-stackframe) (t (error "Should never be here"))) frame t)))) - (setq gud-last-speedbar-stackframe gud-last-last-frame))))))) + (setq gud-last-speedbar-stackframe gud-last-last-frame)))) + (set-window-point window p)))) ;; ====================================================================== @@ -2569,6 +2575,9 @@ It is saved for when this flag is not set.") ;; Stop displaying an arrow in a source file. (setq gud-overlay-arrow-position nil) (set-process-buffer proc nil) + (if (featurep 'speedbar) + (speedbar-change-initial-expansion-list + speedbar-previously-used-expansion-list-name)) (if (memq gud-minor-mode-type '(gdbmi gdba)) (gdb-reset) (gud-reset))) -- 2.39.2