diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2022-05-07 18:21:29 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-05-07 18:21:29 +0200 |
commit | fc0bd6057c676b9945aa739dd9365a350ca5acef (patch) | |
tree | 70e4587f7fa5831b82b414eb4b64b9ea395d5daf /src/process.c | |
parent | 2e461ab2dcb407c868a38d833f38815c17a28c5a (diff) | |
download | emacs-fc0bd6057c676b9945aa739dd9365a350ca5acef.tar.gz |
Make 'delete-process' into a command
* doc/lispref/processes.texi (Deleting Processes): Document
missing PROCESS value.
* src/process.c (Fdelete_process): Allow calling interactively
(bug#10107).
Diffstat (limited to 'src/process.c')
-rw-r--r-- | src/process.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c index 08a02ad9423..2f8863aef25 100644 --- a/src/process.c +++ b/src/process.c @@ -1071,13 +1071,24 @@ record_deleted_pid (pid_t pid, Lisp_Object filename) } -DEFUN ("delete-process", Fdelete_process, Sdelete_process, 1, 1, 0, +DEFUN ("delete-process", Fdelete_process, Sdelete_process, 0, 1, + "(list 'message)", doc: /* Delete PROCESS: kill it and forget about it immediately. PROCESS may be a process, a buffer, the name of a process or buffer, or -nil, indicating the current buffer's process. */) +nil, indicating the current buffer's process. + +Interactively, it will kill the current buffer's process. */) (register Lisp_Object process) { register struct Lisp_Process *p; + bool mess = false; + + /* We use this to see whether we were called interactively. */ + if (EQ (process, Qmessage)) + { + mess = true; + process = Qnil; + } process = get_process (process); p = XPROCESS (process); @@ -1131,6 +1142,8 @@ nil, indicating the current buffer's process. */) } } remove_process (process); + if (mess) + message ("Deleted process"); return Qnil; } @@ -8637,6 +8650,7 @@ sentinel or a process filter function has an error. */); DEFSYM (Qnull, "null"); DEFSYM (Qpipe_process_p, "pipe-process-p"); + DEFSYM (Qmessage, "message"); defsubr (&Sprocessp); defsubr (&Sget_process); |