1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-29 11:02:01 +00:00

(gdb-use-separate-io-buffer): Remove

variable ...
(gdb-init-1, gdb-display-separate-io-buffer)
(gdb-frame-separate-io-buffer, gdb-setup-windows): ... and
references to it.
(gdb-inferior-io-mode): Use make-comint-in-buffer.
(gdb-inferior-filter): Use comint-output-filter to stop
echoing and remove ^M characters.
This commit is contained in:
Nick Roberts 2009-08-28 10:56:13 +00:00
parent 3f0c2b9205
commit 7e3242e4fc

View File

@ -498,9 +498,6 @@ Also display the main routine in the disassembly buffer if present."
:group 'gdb
:version "22.1")
; Note: This mode requires a separate buffer for inferior IO.
(defconst gdb-use-separate-io-buffer t)
(defun gdb-force-mode-line-update (status)
(let ((buffer gud-comint-buffer))
(if (and buffer (buffer-name buffer))
@ -792,15 +789,15 @@ detailed description of this mode.
;;
(gdb-force-mode-line-update
(propertize "initializing..." 'face font-lock-variable-name-face))
(when gdb-use-separate-io-buffer
(gdb-get-buffer-create 'gdb-inferior-io)
(gdb-clear-inferior-io)
(set-process-filter (get-process "gdb-inferior") 'gdb-inferior-filter)
(gdb-input
;; Needs GDB 6.4 onwards
(list (concat "-inferior-tty-set "
(process-tty-name (get-process "gdb-inferior")))
'ignore)))
(gdb-get-buffer-create 'gdb-inferior-io)
(gdb-clear-inferior-io)
(set-process-filter (get-process "gdb-inferior") 'gdb-inferior-filter)
(gdb-input
;; Needs GDB 6.4 onwards
(list (concat "-inferior-tty-set "
(process-tty-name (get-process "gdb-inferior")))
'ignore))
(if (eq window-system 'w32)
(gdb-input (list "-gdb-set new-console off" 'ignore)))
(gdb-input (list "-gdb-set height 0" 'ignore))
@ -1325,7 +1322,8 @@ DOC is an optional documentation string."
(gdb-get-buffer-create ,buffer thread) t)))
;; Used to display windows with thread-bound buffers
(defmacro def-gdb-preempt-display-buffer (name buffer &optional doc split-horizontal)
(defmacro def-gdb-preempt-display-buffer (name buffer &optional doc
split-horizontal)
`(defun ,name (&optional thread)
,(when doc doc)
(message thread)
@ -1401,9 +1399,8 @@ DOC is an optional documentation string."
(defun gdb-display-separate-io-buffer ()
"Display IO of debugged program in a separate window."
(interactive)
(if gdb-use-separate-io-buffer
(gdb-display-buffer
(gdb-get-buffer-create 'gdb-inferior-io) t)))
(gdb-display-buffer
(gdb-get-buffer-create 'gdb-inferior-io) t))
(defconst gdb-frame-parameters
'((height . 14) (width . 80)
@ -1415,10 +1412,9 @@ DOC is an optional documentation string."
(defun gdb-frame-separate-io-buffer ()
"Display IO of debugged program in a new frame."
(interactive)
(if gdb-use-separate-io-buffer
(let ((special-display-regexps (append special-display-regexps '(".*")))
(special-display-frame-alist gdb-frame-parameters))
(display-buffer (gdb-get-buffer-create 'gdb-inferior-io)))))
(let ((special-display-regexps (append special-display-regexps '(".*")))
(special-display-frame-alist gdb-frame-parameters))
(display-buffer (gdb-get-buffer-create 'gdb-inferior-io))))
(defvar gdb-inferior-io-mode-map
(let ((map (make-sparse-keymap)))
@ -1429,20 +1425,22 @@ DOC is an optional documentation string."
(define-key map "\C-d" 'gdb-separate-io-eof)
map))
;; We want to use comint because it has various nifty and familiar features.
(define-derived-mode gdb-inferior-io-mode comint-mode "Inferior I/O"
"Major mode for gdb inferior-io."
"Major mode for gdb inferior-io.
The following commands are available:
\\{gdb-inferior-io-mode-map}"
:syntax-table nil :abbrev-table nil
;; We want to use comint because it has various nifty and familiar features.
(start-process "gdb-inferior"
;; (concat "*input/output of " (gdb-get-target-string) "*")
(current-buffer)
nil))
(make-comint-in-buffer "gdb-inferior" (current-buffer) nil))
(defun gdb-inferior-filter (proc string)
(unless (string-equal string "")
(gdb-display-buffer (gdb-get-buffer-create 'gdb-inferior-io) t))
(with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io)
(insert-before-markers string)))
(comint-output-filter proc string)))
(defun gdb-separate-io-interrupt ()
"Interrupt the program being debugged."
@ -3949,11 +3947,10 @@ window is dedicated."
;; can't find a source file.
(list-buffers-noselect))))
(setq gdb-source-window (selected-window))
(when gdb-use-separate-io-buffer
(split-window-horizontally)
(other-window 1)
(gdb-set-window-buffer
(gdb-get-buffer-create 'gdb-inferior-io)))
(split-window-horizontally)
(other-window 1)
(gdb-set-window-buffer
(gdb-get-buffer-create 'gdb-inferior-io))
(other-window 1)
(gdb-set-window-buffer (gdb-stack-buffer-name))
(split-window-horizontally)