mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
(gdba): Don't call gdb-init-1 explicitly as
it gets called in gdb-prompt anyway. (gdb-use-separate-io-buffer): Only restore window arrangement for gdb-many-windows. (gdb-enqueue-input): Make it harder to send GDB input when program is running. (gdb-buffer-list): New variable. (gdb-remove-mouse-face): New function. (gdb-starting): Use it when GDB input won't get sent.
This commit is contained in:
parent
05c31df2ea
commit
4a7d75e8b2
1 changed files with 16 additions and 4 deletions
|
|
@ -257,8 +257,7 @@ detailed description of this mode.
|
|||
(interactive (list (gud-query-cmdline 'gdba)))
|
||||
;;
|
||||
;; Let's start with a basic gud-gdb buffer and then modify it a bit.
|
||||
(gdb command-line)
|
||||
(gdb-init-1))
|
||||
(gdb command-line))
|
||||
|
||||
(defcustom gdb-debug-ring-max 128
|
||||
"Maximum size of `gdb-debug-ring'."
|
||||
|
|
@ -322,7 +321,7 @@ With arg, use separate IO iff arg is positive."
|
|||
(buffer-name gud-comint-buffer))
|
||||
(condition-case nil
|
||||
(if gdb-use-separate-io-buffer
|
||||
(gdb-restore-windows)
|
||||
(if gdb-many-windows (gdb-restore-windows))
|
||||
(kill-buffer (gdb-inferior-io-name)))
|
||||
(error nil))))
|
||||
|
||||
|
|
@ -1037,7 +1036,7 @@ This filter may simply queue input for a later time."
|
|||
;; is a query, or other non-top-level prompt.
|
||||
|
||||
(defun gdb-enqueue-input (item)
|
||||
(if gdb-prompting
|
||||
(if (and gdb-prompting (not gud-running))
|
||||
(progn
|
||||
(gdb-send-item item)
|
||||
(setq gdb-prompting nil))
|
||||
|
|
@ -1192,6 +1191,7 @@ not GDB."
|
|||
((eq sink 'user)
|
||||
(progn
|
||||
(setq gud-running t)
|
||||
(gdb-remove-mouse-face)
|
||||
(if gdb-use-separate-io-buffer
|
||||
(setq gdb-output-sink 'inferior))))
|
||||
(t
|
||||
|
|
@ -1299,6 +1299,18 @@ happens to be appropriate."
|
|||
(gdb-resync)
|
||||
(error "Phase error in gdb-post-prompt (got %s)" sink)))))
|
||||
|
||||
(defconst gdb-buffer-list
|
||||
'(gdb-stack-buffer gdb-locals-buffer gdb-registers-buffer gdb-threads-buffer))
|
||||
|
||||
(defun gdb-remove-mouse-face ()
|
||||
(dolist (buffertype gdb-buffer-list)
|
||||
(let ((buffer (gdb-get-buffer buffertype)))
|
||||
(if buffer
|
||||
(with-current-buffer buffer
|
||||
(let ((inhibit-read-only t))
|
||||
(remove-text-properties
|
||||
(point-min) (point-max) '(mouse-face))))))))
|
||||
|
||||
;; GUD displays the selected GDB frame. This might might not be the current
|
||||
;; GDB frame (after up, down etc). If no GDB frame is visible but the last
|
||||
;; visited breakpoint is, use that window.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue