diff options
| author | Nick Roberts | 2008-04-29 11:02:22 +0000 |
|---|---|---|
| committer | Nick Roberts | 2008-04-29 11:02:22 +0000 |
| commit | 05dfe89a804fcd96aba533577efc2f4caf1e8f7c (patch) | |
| tree | 497556255db3710f5e4c909692c8f0b151aece88 | |
| parent | 0715a53151a20aadc3dbd0df6b30848f418d7156 (diff) | |
| download | emacs-05dfe89a804fcd96aba533577efc2f4caf1e8f7c.tar.gz emacs-05dfe89a804fcd96aba533577efc2f4caf1e8f7c.zip | |
(gdb-display-buffer): Don't pop up GUD buffer.
Always split windows.
(gdb-speedbar-timer-fn): Only raise frame after user input.
(gdb-same-frame): Reverse initial value.
(gdb-display-gdb-buffer): Check for GUD buffer in other frames.
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 63d48fb9fde..a4e53c47fe1 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -814,6 +814,8 @@ With arg, enter name of variable to be watched in the minibuffer." | |||
| 814 | (push 'gdb-speedbar-timer gdb-pending-triggers))) | 814 | (push 'gdb-speedbar-timer gdb-pending-triggers))) |
| 815 | 815 | ||
| 816 | (defun gdb-speedbar-timer-fn () | 816 | (defun gdb-speedbar-timer-fn () |
| 817 | (if gdb-speedbar-auto-raise | ||
| 818 | (raise-frame speedbar-frame)) | ||
| 817 | (setq gdb-pending-triggers | 819 | (setq gdb-pending-triggers |
| 818 | (delq 'gdb-speedbar-timer gdb-pending-triggers)) | 820 | (delq 'gdb-speedbar-timer gdb-pending-triggers)) |
| 819 | (speedbar-timer-fn)) | 821 | (speedbar-timer-fn)) |
| @@ -1472,7 +1474,7 @@ directives." | |||
| 1472 | (gdb-resync) | 1474 | (gdb-resync) |
| 1473 | (error "Unexpected frame-begin annotation (%S)" sink))))) | 1475 | (error "Unexpected frame-begin annotation (%S)" sink))))) |
| 1474 | 1476 | ||
| 1475 | (defcustom gdb-same-frame focus-follows-mouse | 1477 | (defcustom gdb-same-frame (not focus-follows-mouse) |
| 1476 | "Non-nil means pop up GUD buffer in same frame." | 1478 | "Non-nil means pop up GUD buffer in same frame." |
| 1477 | :group 'gdb | 1479 | :group 'gdb |
| 1478 | :type 'boolean | 1480 | :type 'boolean |
| @@ -3056,28 +3058,15 @@ another GDB command e.g pwd, to see new frames") | |||
| 3056 | 3058 | ||
| 3057 | ;;;; Window management | 3059 | ;;;; Window management |
| 3058 | (defun gdb-display-buffer (buf dedicated &optional frame) | 3060 | (defun gdb-display-buffer (buf dedicated &optional frame) |
| 3059 | (let ((answer (get-buffer-window buf (or frame 0))) | 3061 | (let ((answer (get-buffer-window buf (or frame 0)))) |
| 3060 | (must-split nil)) | ||
| 3061 | (if answer | 3062 | (if answer |
| 3062 | (display-buffer buf nil (or frame 0)) ;Deiconify the frame if necessary. | 3063 | (display-buffer buf nil (or frame 0)) ;Deiconify the frame if necessary. |
| 3063 | (if (get-buffer-window gud-comint-buffer) | ||
| 3064 | (select-window (get-buffer-window gud-comint-buffer)) | ||
| 3065 | ;; If the buffer is not yet displayed, select the right frame. | ||
| 3066 | (pop-to-buffer gud-comint-buffer)) | ||
| 3067 | (let ((window (get-lru-window))) | 3064 | (let ((window (get-lru-window))) |
| 3068 | (if (and window | 3065 | (let* ((largest (get-largest-window)) |
| 3069 | (not (memq window `(,(get-buffer-window gud-comint-buffer) | 3066 | (cur-size (window-height largest))) |
| 3070 | ,gdb-source-window)))) | 3067 | (setq answer (split-window largest)) |
| 3071 | (progn | 3068 | (set-window-buffer answer buf) |
| 3072 | (set-window-buffer window buf) | 3069 | (set-window-dedicated-p answer dedicated))) |
| 3073 | (setq answer window)) | ||
| 3074 | (setq must-split t))) | ||
| 3075 | (if must-split | ||
| 3076 | (let* ((largest (get-largest-window)) | ||
| 3077 | (cur-size (window-height largest))) | ||
| 3078 | (setq answer (split-window largest)) | ||
| 3079 | (set-window-buffer answer buf) | ||
| 3080 | (set-window-dedicated-p answer dedicated))) | ||
| 3081 | answer))) | 3070 | answer))) |
| 3082 | 3071 | ||
| 3083 | 3072 | ||
| @@ -3159,7 +3148,7 @@ another GDB command e.g pwd, to see new frames") | |||
| 3159 | "Display GUD buffer." | 3148 | "Display GUD buffer." |
| 3160 | (interactive) | 3149 | (interactive) |
| 3161 | (let ((same-window-regexps nil)) | 3150 | (let ((same-window-regexps nil)) |
| 3162 | (pop-to-buffer gud-comint-buffer))) | 3151 | (select-window (display-buffer gud-comint-buffer nil 0)))) |
| 3163 | 3152 | ||
| 3164 | (defun gdb-set-window-buffer (name) | 3153 | (defun gdb-set-window-buffer (name) |
| 3165 | (set-window-buffer (selected-window) (get-buffer name)) | 3154 | (set-window-buffer (selected-window) (get-buffer name)) |