Mercurial > emacs
comparison lisp/progmodes/gdb-ui.el @ 71877:28ec37c2aa2c
(gdb-display-buffer): Check for gdb-source-window. Add dedicated argument.
(gdb-display-separate-io-buffer, gdb-append-to-inferior-io)
(gdb-display-breakpoints-buffer, gdb-display-stack-buffer)
(gdb-display-threads-buffer, gdb-display-memory-buffer)
(gdb-display-locals-buffer): Use it.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Thu, 13 Jul 2006 21:56:26 +0000 |
parents | f723aa5cf2de |
children | 3d39ae4ce1b6 b19aaf4ab0ee 8a8e69664178 |
comparison
equal
deleted
inserted
replaced
71876:2f32aa94faff | 71877:28ec37c2aa2c |
---|---|
1017 (defun gdb-display-separate-io-buffer () | 1017 (defun gdb-display-separate-io-buffer () |
1018 "Display IO of debugged program in a separate window." | 1018 "Display IO of debugged program in a separate window." |
1019 (interactive) | 1019 (interactive) |
1020 (if gdb-use-separate-io-buffer | 1020 (if gdb-use-separate-io-buffer |
1021 (gdb-display-buffer | 1021 (gdb-display-buffer |
1022 (gdb-get-buffer-create 'gdb-inferior-io)))) | 1022 (gdb-get-buffer-create 'gdb-inferior-io) t))) |
1023 | 1023 |
1024 (defconst gdb-frame-parameters | 1024 (defconst gdb-frame-parameters |
1025 '((height . 14) (width . 80) | 1025 '((height . 14) (width . 80) |
1026 (unsplittable . t) | 1026 (unsplittable . t) |
1027 (tool-bar-lines . nil) | 1027 (tool-bar-lines . nil) |
1554 (defun gdb-append-to-inferior-io (string) | 1554 (defun gdb-append-to-inferior-io (string) |
1555 (with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io) | 1555 (with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io) |
1556 (goto-char (point-max)) | 1556 (goto-char (point-max)) |
1557 (insert-before-markers string)) | 1557 (insert-before-markers string)) |
1558 (if (not (string-equal string "")) | 1558 (if (not (string-equal string "")) |
1559 (gdb-display-buffer (gdb-get-buffer-create 'gdb-inferior-io)))) | 1559 (gdb-display-buffer (gdb-get-buffer-create 'gdb-inferior-io) t))) |
1560 | 1560 |
1561 (defun gdb-clear-inferior-io () | 1561 (defun gdb-clear-inferior-io () |
1562 (with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io) | 1562 (with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io) |
1563 (erase-buffer))) | 1563 (erase-buffer))) |
1564 | 1564 |
1863 | 1863 |
1864 (defun gdb-display-breakpoints-buffer () | 1864 (defun gdb-display-breakpoints-buffer () |
1865 "Display status of user-settable breakpoints." | 1865 "Display status of user-settable breakpoints." |
1866 (interactive) | 1866 (interactive) |
1867 (gdb-display-buffer | 1867 (gdb-display-buffer |
1868 (gdb-get-buffer-create 'gdb-breakpoints-buffer))) | 1868 (gdb-get-buffer-create 'gdb-breakpoints-buffer) t)) |
1869 | 1869 |
1870 (defun gdb-frame-breakpoints-buffer () | 1870 (defun gdb-frame-breakpoints-buffer () |
1871 "Display status of user-settable breakpoints in a new frame." | 1871 "Display status of user-settable breakpoints in a new frame." |
1872 (interactive) | 1872 (interactive) |
1873 (let ((special-display-regexps (append special-display-regexps '(".*"))) | 1873 (let ((special-display-regexps (append special-display-regexps '(".*"))) |
2039 | 2039 |
2040 (defun gdb-display-stack-buffer () | 2040 (defun gdb-display-stack-buffer () |
2041 "Display backtrace of current stack." | 2041 "Display backtrace of current stack." |
2042 (interactive) | 2042 (interactive) |
2043 (gdb-display-buffer | 2043 (gdb-display-buffer |
2044 (gdb-get-buffer-create 'gdb-stack-buffer))) | 2044 (gdb-get-buffer-create 'gdb-stack-buffer) t)) |
2045 | 2045 |
2046 (defun gdb-frame-stack-buffer () | 2046 (defun gdb-frame-stack-buffer () |
2047 "Display backtrace of current stack in a new frame." | 2047 "Display backtrace of current stack in a new frame." |
2048 (interactive) | 2048 (interactive) |
2049 (let ((special-display-regexps (append special-display-regexps '(".*"))) | 2049 (let ((special-display-regexps (append special-display-regexps '(".*"))) |
2120 | 2120 |
2121 (defun gdb-display-threads-buffer () | 2121 (defun gdb-display-threads-buffer () |
2122 "Display IDs of currently known threads." | 2122 "Display IDs of currently known threads." |
2123 (interactive) | 2123 (interactive) |
2124 (gdb-display-buffer | 2124 (gdb-display-buffer |
2125 (gdb-get-buffer-create 'gdb-threads-buffer))) | 2125 (gdb-get-buffer-create 'gdb-threads-buffer) t)) |
2126 | 2126 |
2127 (defun gdb-frame-threads-buffer () | 2127 (defun gdb-frame-threads-buffer () |
2128 "Display IDs of currently known threads in a new frame." | 2128 "Display IDs of currently known threads in a new frame." |
2129 (interactive) | 2129 (interactive) |
2130 (let ((special-display-regexps (append special-display-regexps '(".*"))) | 2130 (let ((special-display-regexps (append special-display-regexps '(".*"))) |
2254 | 2254 |
2255 (defun gdb-display-registers-buffer () | 2255 (defun gdb-display-registers-buffer () |
2256 "Display integer register contents." | 2256 "Display integer register contents." |
2257 (interactive) | 2257 (interactive) |
2258 (gdb-display-buffer | 2258 (gdb-display-buffer |
2259 (gdb-get-buffer-create 'gdb-registers-buffer))) | 2259 (gdb-get-buffer-create 'gdb-registers-buffer) t)) |
2260 | 2260 |
2261 (defun gdb-frame-registers-buffer () | 2261 (defun gdb-frame-registers-buffer () |
2262 "Display integer register contents in a new frame." | 2262 "Display integer register contents in a new frame." |
2263 (interactive) | 2263 (interactive) |
2264 (let ((special-display-regexps (append special-display-regexps '(".*"))) | 2264 (let ((special-display-regexps (append special-display-regexps '(".*"))) |
2578 | 2578 |
2579 (defun gdb-display-memory-buffer () | 2579 (defun gdb-display-memory-buffer () |
2580 "Display memory contents." | 2580 "Display memory contents." |
2581 (interactive) | 2581 (interactive) |
2582 (gdb-display-buffer | 2582 (gdb-display-buffer |
2583 (gdb-get-buffer-create 'gdb-memory-buffer))) | 2583 (gdb-get-buffer-create 'gdb-memory-buffer) t)) |
2584 | 2584 |
2585 (defun gdb-frame-memory-buffer () | 2585 (defun gdb-frame-memory-buffer () |
2586 "Display memory contents in a new frame." | 2586 "Display memory contents in a new frame." |
2587 (interactive) | 2587 (interactive) |
2588 (let ((special-display-regexps (append special-display-regexps '(".*"))) | 2588 (let ((special-display-regexps (append special-display-regexps '(".*"))) |
2685 | 2685 |
2686 (defun gdb-display-locals-buffer () | 2686 (defun gdb-display-locals-buffer () |
2687 "Display local variables of current stack and their values." | 2687 "Display local variables of current stack and their values." |
2688 (interactive) | 2688 (interactive) |
2689 (gdb-display-buffer | 2689 (gdb-display-buffer |
2690 (gdb-get-buffer-create 'gdb-locals-buffer))) | 2690 (gdb-get-buffer-create 'gdb-locals-buffer) t)) |
2691 | 2691 |
2692 (defun gdb-frame-locals-buffer () | 2692 (defun gdb-frame-locals-buffer () |
2693 "Display local variables of current stack and their values in a new frame." | 2693 "Display local variables of current stack and their values in a new frame." |
2694 (interactive) | 2694 (interactive) |
2695 (let ((special-display-regexps (append special-display-regexps '(".*"))) | 2695 (let ((special-display-regexps (append special-display-regexps '(".*"))) |
2696 (special-display-frame-alist gdb-frame-parameters)) | 2696 (special-display-frame-alist gdb-frame-parameters)) |
2697 (display-buffer (gdb-get-buffer-create 'gdb-locals-buffer)))) | 2697 (display-buffer (gdb-get-buffer-create 'gdb-locals-buffer)))) |
2698 | 2698 |
2699 | 2699 |
2700 ;;;; Window management | 2700 ;;;; Window management |
2701 (defun gdb-display-buffer (buf &optional size) | 2701 (defun gdb-display-buffer (buf dedicated &optional size) |
2702 (let ((answer (get-buffer-window buf 0)) | 2702 (let ((answer (get-buffer-window buf 0)) |
2703 (must-split nil)) | 2703 (must-split nil)) |
2704 (if answer | 2704 (if answer |
2705 (display-buffer buf nil 0) ;Raise the frame if necessary. | 2705 (display-buffer buf nil 0) ;Raise the frame if necessary. |
2706 ;; The buffer is not yet displayed. | 2706 ;; The buffer is not yet displayed. |
2707 (pop-to-buffer gud-comint-buffer) ;Select the right frame. | 2707 (pop-to-buffer gud-comint-buffer) ;Select the right frame. |
2708 (let ((window (get-lru-window))) | 2708 (let ((window (get-lru-window))) |
2709 (if (and window | 2709 (if (and window |
2710 (not (eq window (get-buffer-window gud-comint-buffer)))) | 2710 (not (memq window `(,(get-buffer-window gud-comint-buffer) |
2711 ,gdb-source-window)))) | |
2711 (progn | 2712 (progn |
2712 (set-window-buffer window buf) | 2713 (set-window-buffer window buf) |
2713 (setq answer window)) | 2714 (setq answer window)) |
2714 (setq must-split t))) | 2715 (setq must-split t))) |
2715 (if must-split | 2716 (if must-split |
2716 (let* ((largest (get-largest-window)) | 2717 (let* ((largest (get-largest-window)) |
2717 (cur-size (window-height largest)) | 2718 (cur-size (window-height largest)) |
2718 (new-size (and size (< size cur-size) (- cur-size size)))) | 2719 (new-size (and size (< size cur-size) (- cur-size size)))) |
2719 (setq answer (split-window largest new-size)) | 2720 (setq answer (split-window largest new-size)) |
2720 (set-window-buffer answer buf) | 2721 (set-window-buffer answer buf) |
2721 (set-window-dedicated-p answer t))) | 2722 (set-window-dedicated-p answer dedicated))) |
2722 answer))) | 2723 answer))) |
2723 | 2724 |
2724 | 2725 |
2725 ;;; Shared keymap initialization: | 2726 ;;; Shared keymap initialization: |
2726 | 2727 |
3160 (defun gdb-display-assembler-buffer () | 3161 (defun gdb-display-assembler-buffer () |
3161 "Display disassembly view." | 3162 "Display disassembly view." |
3162 (interactive) | 3163 (interactive) |
3163 (setq gdb-previous-frame nil) | 3164 (setq gdb-previous-frame nil) |
3164 (gdb-display-buffer | 3165 (gdb-display-buffer |
3165 (gdb-get-buffer-create 'gdb-assembler-buffer))) | 3166 (gdb-get-buffer-create 'gdb-assembler-buffer) t)) |
3166 | 3167 |
3167 (defun gdb-frame-assembler-buffer () | 3168 (defun gdb-frame-assembler-buffer () |
3168 "Display disassembly view in a new frame." | 3169 "Display disassembly view in a new frame." |
3169 (interactive) | 3170 (interactive) |
3170 (setq gdb-previous-frame nil) | 3171 (setq gdb-previous-frame nil) |