mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Delete the gdb-inferior pty when the gdb process exits.
* lisp/progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): New function to call delete-process on the gdb-inferior buffer's pty. (gdb-reset): Use it, instead of relying on kill-buffer to kill the pty process. (gdb-update): New arg to suppress talking to the gdb process. (gdb-done-or-error): Use it. (gdb-stopped-functions): Rename from gdb-stopped-hooks. (gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for sentinel not being called. * lisp/comint.el (make-comint-in-buffer, comint-exec): Doc fix. Fixes: debbugs:11273
This commit is contained in:
parent
c5467d73ae
commit
b668fa6eb0
3 changed files with 86 additions and 34 deletions
|
|
@ -699,16 +699,21 @@ BUFFER can be either a buffer or the name of one."
|
|||
(defun make-comint-in-buffer (name buffer program &optional startfile &rest switches)
|
||||
"Make a Comint process NAME in BUFFER, running PROGRAM.
|
||||
If BUFFER is nil, it defaults to NAME surrounded by `*'s.
|
||||
PROGRAM should be either a string denoting an executable program to create
|
||||
via `start-file-process', or a cons pair of the form (HOST . SERVICE) denoting
|
||||
a TCP connection to be opened via `open-network-stream'. If there is already
|
||||
a running process in that buffer, it is not restarted. Optional fourth arg
|
||||
STARTFILE is the name of a file, whose contents are sent to the
|
||||
process as its initial input.
|
||||
If there is a running process in BUFFER, it is not restarted.
|
||||
|
||||
PROGRAM should be one of the following:
|
||||
- a string, denoting an executable program to create via
|
||||
`start-file-process'
|
||||
- a cons pair of the form (HOST . SERVICE), denoting a TCP
|
||||
connection to be opened via `open-network-stream'
|
||||
- nil, denoting a newly-allocated pty.
|
||||
|
||||
Optional fourth arg STARTFILE is the name of a file, whose
|
||||
contents are sent to the process as its initial input.
|
||||
|
||||
If PROGRAM is a string, any more args are arguments to PROGRAM.
|
||||
|
||||
Returns the (possibly newly created) process buffer."
|
||||
Return the (possibly newly created) process buffer."
|
||||
(or (fboundp 'start-file-process)
|
||||
(error "Multi-processing is not supported for this system"))
|
||||
(setq buffer (get-buffer-create (or buffer (concat "*" name "*"))))
|
||||
|
|
@ -752,9 +757,18 @@ See `make-comint' and `comint-exec'."
|
|||
(defun comint-exec (buffer name command startfile switches)
|
||||
"Start up a process named NAME in buffer BUFFER for Comint modes.
|
||||
Runs the given COMMAND with SWITCHES, and initial input from STARTFILE.
|
||||
Blasts any old process running in the buffer. Doesn't set the buffer mode.
|
||||
You can use this to cheaply run a series of processes in the same Comint
|
||||
buffer. The hook `comint-exec-hook' is run after each exec."
|
||||
|
||||
COMMAND should be one of the following:
|
||||
- a string, denoting an executable program to create via
|
||||
`start-file-process'
|
||||
- a cons pair of the form (HOST . SERVICE), denoting a TCP
|
||||
connection to be opened via `open-network-stream'
|
||||
- nil, denoting a newly-allocated pty.
|
||||
|
||||
This function blasts any old process running in the buffer, and
|
||||
does not set the buffer mode. You can use this to cheaply run a
|
||||
series of processes in the same Comint buffer. The hook
|
||||
`comint-exec-hook' is run after each exec."
|
||||
(with-current-buffer buffer
|
||||
(let ((proc (get-buffer-process buffer))) ; Blast any old process.
|
||||
(if proc (delete-process proc)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue