[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 9c2b114: Inherit query-on-exit flag to stderr pro
From: |
Philipp Stephani |
Subject: |
[Emacs-diffs] emacs-26 9c2b114: Inherit query-on-exit flag to stderr process (Bug#30031) |
Date: |
Wed, 10 Jan 2018 10:17:03 -0500 (EST) |
branch: emacs-26
commit 9c2b11484f8a5a07c748a18a872947c5c062883b
Author: Philipp Stephani <address@hidden>
Commit: Philipp Stephani <address@hidden>
Inherit query-on-exit flag to stderr process (Bug#30031)
* src/process.c (Fmake_process): Have the pipe process honor the
parent's query-on-exit flag.
* test/src/process-tests.el (make-process/noquery-stderr): New test.
---
src/process.c | 8 ++++++--
test/src/process-tests.el | 19 +++++++++++++++++++
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/src/process.c b/src/process.c
index 94d9f8c..36fb8a7 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1686,6 +1686,8 @@ usage: (make-process &rest ARGS) */)
if (!NILP (program))
CHECK_STRING (program);
+ bool query_on_exit = NILP (Fplist_get (contact, QCnoquery));
+
stderrproc = Qnil;
xstderr = Fplist_get (contact, QCstderr);
if (PROCESSP (xstderr))
@@ -1701,7 +1703,9 @@ usage: (make-process &rest ARGS) */)
QCname,
concat2 (name, build_string (" stderr")),
QCbuffer,
- Fget_buffer_create (xstderr));
+ Fget_buffer_create (xstderr),
+ QCnoquery,
+ query_on_exit ? Qnil : Qt);
}
proc = make_process (name);
@@ -1715,7 +1719,7 @@ usage: (make-process &rest ARGS) */)
pset_filter (XPROCESS (proc), Fplist_get (contact, QCfilter));
pset_command (XPROCESS (proc), Fcopy_sequence (command));
- if (tem = Fplist_get (contact, QCnoquery), !NILP (tem))
+ if (!query_on_exit)
XPROCESS (proc)->kill_without_query = 1;
if (tem = Fplist_get (contact, QCstop), !NILP (tem))
pset_command (XPROCESS (proc), Qt);
diff --git a/test/src/process-tests.el b/test/src/process-tests.el
index 34309a5..7d35560 100644
--- a/test/src/process-tests.el
+++ b/test/src/process-tests.el
@@ -162,5 +162,24 @@
(error nil))))
(should (equal path samepath))))
+(ert-deftest make-process/noquery-stderr ()
+ "Checks that Bug#30031 is fixed."
+ (skip-unless (executable-find "sleep"))
+ (with-temp-buffer
+ (let* ((previous-processes (process-list))
+ (process (make-process :name "sleep"
+ :command '("sleep" "1h")
+ :noquery t
+ :connection-type 'pipe
+ :stderr (current-buffer))))
+ (unwind-protect
+ (let ((new-processes (cl-set-difference (process-list)
+ previous-processes
+ :test #'eq)))
+ (should new-processes)
+ (dolist (process new-processes)
+ (should-not (process-query-on-exit-flag process))))
+ (kill-process process)))))
+
(provide 'process-tests)
;; process-tests.el ends here.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-26 9c2b114: Inherit query-on-exit flag to stderr process (Bug#30031),
Philipp Stephani <=