aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2005-10-10 12:25:04 +0000
committerNick Roberts2005-10-10 12:25:04 +0000
commitc35d8f463cf82e22b1ef82e79555e4f00e4d028b (patch)
tree70fdc1d742d02ff1acd73b22fcdfc639e822f5b4
parent4e5f12ee1d678252e2fac41824fd9c13c6c0ce51 (diff)
downloademacs-c35d8f463cf82e22b1ef82e79555e4f00e4d028b.tar.gz
emacs-c35d8f463cf82e22b1ef82e79555e4f00e4d028b.zip
(gud-install-speedbar-variables): Add more
bindings. (gud-speedbar-buttons): Preserve point if possible. (gud-sentinel): Restore previous speedbar display type.
-rw-r--r--lisp/progmodes/gud.el13
1 files 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.")
352 (define-key gud-speedbar-key-map "j" 'speedbar-edit-line) 352 (define-key gud-speedbar-key-map "j" 'speedbar-edit-line)
353 (define-key gud-speedbar-key-map "e" 'speedbar-edit-line) 353 (define-key gud-speedbar-key-map "e" 'speedbar-edit-line)
354 (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line) 354 (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line)
355 (define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion)
356 (define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants)
357 (define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants)
355 (define-key gud-speedbar-key-map "D" 'gdb-var-delete)) 358 (define-key gud-speedbar-key-map "D" 'gdb-var-delete))
356 359
357 (speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items 360 (speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items
@@ -389,7 +392,9 @@ required by the caller."
389 gud-comint-buffer 392 gud-comint-buffer
390 ;; gud-comint-buffer might be killed 393 ;; gud-comint-buffer might be killed
391 (buffer-name gud-comint-buffer)) 394 (buffer-name gud-comint-buffer))
392 (let ((minor-mode (with-current-buffer buffer gud-minor-mode))) 395 (let* ((minor-mode (with-current-buffer buffer gud-minor-mode))
396 (window (get-buffer-window (current-buffer) 0))
397 (p (window-point window)))
393 (cond 398 (cond
394 ((memq minor-mode '(gdbmi gdba)) 399 ((memq minor-mode '(gdbmi gdba))
395 (when (or gdb-var-changed 400 (when (or gdb-var-changed
@@ -454,7 +459,8 @@ required by the caller."
454 'gud-gdb-goto-stackframe) 459 'gud-gdb-goto-stackframe)
455 (t (error "Should never be here"))) 460 (t (error "Should never be here")))
456 frame t)))) 461 frame t))))
457 (setq gud-last-speedbar-stackframe gud-last-last-frame))))))) 462 (setq gud-last-speedbar-stackframe gud-last-last-frame))))
463 (set-window-point window p))))
458 464
459 465
460;; ====================================================================== 466;; ======================================================================
@@ -2569,6 +2575,9 @@ It is saved for when this flag is not set.")
2569 ;; Stop displaying an arrow in a source file. 2575 ;; Stop displaying an arrow in a source file.
2570 (setq gud-overlay-arrow-position nil) 2576 (setq gud-overlay-arrow-position nil)
2571 (set-process-buffer proc nil) 2577 (set-process-buffer proc nil)
2578 (if (featurep 'speedbar)
2579 (speedbar-change-initial-expansion-list
2580 speedbar-previously-used-expansion-list-name))
2572 (if (memq gud-minor-mode-type '(gdbmi gdba)) 2581 (if (memq gud-minor-mode-type '(gdbmi gdba))
2573 (gdb-reset) 2582 (gdb-reset)
2574 (gud-reset))) 2583 (gud-reset)))