diff options
| author | Nick Roberts | 2008-04-29 00:41:23 +0000 |
|---|---|---|
| committer | Nick Roberts | 2008-04-29 00:41:23 +0000 |
| commit | 72ba4f36c6711f9186a4cb8916f89f8a321f202f (patch) | |
| tree | e5df302fbee2ca9748bfdcd63d405506c42bda38 | |
| parent | 4b23c5eb69364aed19fc5ce7edc4bafca755d864 (diff) | |
| download | emacs-72ba4f36c6711f9186a4cb8916f89f8a321f202f.tar.gz emacs-72ba4f36c6711f9186a4cb8916f89f8a321f202f.zip | |
(gdb-info-stack-custom): Use
gud-tool-bar-item-visible-no-fringe.
(gdb-display-buffer): Don't pop new buffer if gud-comint-buffer
is already visible in frame. Remove optional size parameter
and add optional frame parameter.
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index ccb11a2f7e2..63285802973 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -97,7 +97,10 @@ | |||
| 97 | ;;; TODO: | 97 | ;;; TODO: |
| 98 | 98 | ||
| 99 | ;; 1) Use MI command -data-read-memory for memory window. | 99 | ;; 1) Use MI command -data-read-memory for memory window. |
| 100 | ;; 2) Use tree-widget.el instead of the speedbar for watch-expressions? | 100 | ;; 2) Use tree-buffer.el (from ECB) instead of the speedbar for |
| 101 | ;; watch-expressions? Handling of watch-expressions needs to be | ||
| 102 | ;; overhauled to work for large arrays/structures by creating variable | ||
| 103 | ;; objects for visible watch-expressions only. | ||
| 101 | ;; 3) Mark breakpoint locations on scroll-bar of source buffer? | 104 | ;; 3) Mark breakpoint locations on scroll-bar of source buffer? |
| 102 | 105 | ||
| 103 | ;;; Code: | 106 | ;;; Code: |
| @@ -2256,20 +2259,20 @@ corresponding to the mode line clicked." | |||
| 2256 | el (line-end-position)) | 2259 | el (line-end-position)) |
| 2257 | (when (looking-at "#") | 2260 | (when (looking-at "#") |
| 2258 | (add-text-properties bl el | 2261 | (add-text-properties bl el |
| 2259 | '(mouse-face highlight | 2262 | '(mouse-face highlight |
| 2260 | help-echo "mouse-2, RET: Select frame"))) | 2263 | help-echo "mouse-2, RET: Select frame"))) |
| 2261 | (goto-char bl) | 2264 | (goto-char bl) |
| 2262 | (when (looking-at "^#\\([0-9]+\\)") | 2265 | (when (looking-at "^#\\([0-9]+\\)") |
| 2263 | (when (string-equal (match-string 1) gdb-frame-number) | 2266 | (when (string-equal (match-string 1) gdb-frame-number) |
| 2264 | (if (> (car (window-fringes)) 0) | 2267 | (if (gud-tool-bar-item-visible-no-fringe) |
| 2265 | (progn | 2268 | (progn |
| 2266 | (or gdb-stack-position | 2269 | (put-text-property bl (+ bl 4) |
| 2267 | (setq gdb-stack-position (make-marker))) | 2270 | 'face '(:inverse-video t)) |
| 2268 | (set-marker gdb-stack-position (point)) | 2271 | (setq move-to bl)) |
| 2269 | (setq move-to gdb-stack-position)) | 2272 | (or gdb-stack-position |
| 2270 | (put-text-property bl (+ bl 4) | 2273 | (setq gdb-stack-position (make-marker))) |
| 2271 | 'face '(:inverse-video t)) | 2274 | (set-marker gdb-stack-position (point)) |
| 2272 | (setq move-to bl))) | 2275 | (setq move-to gdb-stack-position))) |
| 2273 | (when (re-search-forward "\\([^ ]+\\) (" el t) | 2276 | (when (re-search-forward "\\([^ ]+\\) (" el t) |
| 2274 | (put-text-property (match-beginning 1) (match-end 1) | 2277 | (put-text-property (match-beginning 1) (match-end 1) |
| 2275 | 'face font-lock-function-name-face) | 2278 | 'face font-lock-function-name-face) |
| @@ -3005,8 +3008,7 @@ another GDB command e.g pwd, to see new frames") | |||
| 3005 | (insert-buffer-substring (gdb-get-buffer-create | 3008 | (insert-buffer-substring (gdb-get-buffer-create |
| 3006 | 'gdb-partial-output-buffer)) | 3009 | 'gdb-partial-output-buffer)) |
| 3007 | (set-window-start window start) | 3010 | (set-window-start window start) |
| 3008 | (set-window-point window p)) | 3011 | (set-window-point window p))))) |
| 3009 | ))) | ||
| 3010 | (run-hooks 'gdb-info-locals-hook)) | 3012 | (run-hooks 'gdb-info-locals-hook)) |
| 3011 | 3013 | ||
| 3012 | (defvar gdb-locals-mode-map | 3014 | (defvar gdb-locals-mode-map |
| @@ -3054,13 +3056,15 @@ another GDB command e.g pwd, to see new frames") | |||
| 3054 | 3056 | ||
| 3055 | 3057 | ||
| 3056 | ;;;; Window management | 3058 | ;;;; Window management |
| 3057 | (defun gdb-display-buffer (buf dedicated &optional size) | 3059 | (defun gdb-display-buffer (buf dedicated &optional frame) |
| 3058 | (let ((answer (get-buffer-window buf 0)) | 3060 | (let ((answer (get-buffer-window buf (or frame 0))) |
| 3059 | (must-split nil)) | 3061 | (must-split nil)) |
| 3060 | (if answer | 3062 | (if answer |
| 3061 | (display-buffer buf nil 0) ;Deiconify the frame if necessary. | 3063 | (display-buffer buf nil (or frame 0)) ;Deiconify the frame if necessary. |
| 3062 | ;; The buffer is not yet displayed. | 3064 | (if (get-buffer-window gud-comint-buffer) |
| 3063 | (pop-to-buffer gud-comint-buffer) ;Select the right frame. | 3065 | (select-window (get-buffer-window gud-comint-buffer)) |
| 3066 | ;; If the buffer is not yet displayed, select the right frame. | ||
| 3067 | (pop-to-buffer gud-comint-buffer)) | ||
| 3064 | (let ((window (get-lru-window))) | 3068 | (let ((window (get-lru-window))) |
| 3065 | (if (and window | 3069 | (if (and window |
| 3066 | (not (memq window `(,(get-buffer-window gud-comint-buffer) | 3070 | (not (memq window `(,(get-buffer-window gud-comint-buffer) |
| @@ -3071,9 +3075,8 @@ another GDB command e.g pwd, to see new frames") | |||
| 3071 | (setq must-split t))) | 3075 | (setq must-split t))) |
| 3072 | (if must-split | 3076 | (if must-split |
| 3073 | (let* ((largest (get-largest-window)) | 3077 | (let* ((largest (get-largest-window)) |
| 3074 | (cur-size (window-height largest)) | 3078 | (cur-size (window-height largest))) |
| 3075 | (new-size (and size (< size cur-size) (- cur-size size)))) | 3079 | (setq answer (split-window largest)) |
| 3076 | (setq answer (split-window largest new-size)) | ||
| 3077 | (set-window-buffer answer buf) | 3080 | (set-window-buffer answer buf) |
| 3078 | (set-window-dedicated-p answer dedicated))) | 3081 | (set-window-dedicated-p answer dedicated))) |
| 3079 | answer))) | 3082 | answer))) |