From 36fd2b4920ae926c79b936c29e739e71a6dff2bc Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Fri, 5 May 2023 15:39:23 +0200 Subject: Use /dev/null in 'piped-process' if port is not backed by a fdes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In Guile 3.0.9, 'system*' would no longer open /dev/null for file descriptors 0, 1, and 2 when its 'current-input-port', 'current-output-port', or 'current-output-port' is not bound to a file port. This patch reinstates that behavior. Fixes . * libguile/posix.c (piped_process): Open /dev/null to use as in/out/err if the corresponding port is not backed by a file descriptor. * test-suite/tests/posix.test ("system*")["https://bugs.gnu.org/63024"]: New test. * NEWS: Update. Co-authored-by: Ludovic Courtès --- NEWS | 2 ++ 1 file changed, 2 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index a63b0aa25..f2e00898f 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,8 @@ the compiler reports it as "possibly unused". () ** Adjust 'spawn' test for GNU/Hurd () +** Fix 'system*' with non-file input/output/error port + () ** Hashing of UTF-8 symbols with non-ASCII characters avoids corruption () -- cgit v1.2.1