summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scsh-process.scm2
-rw-r--r--tests/run.scm7
2 files changed, 5 insertions, 4 deletions
diff --git a/scsh-process.scm b/scsh-process.scm
index e60fb67..1fa12d9 100644
--- a/scsh-process.scm
+++ b/scsh-process.scm
@@ -322,7 +322,7 @@
(duplicate-fileno (file-open (maybe->string `?file-name) open/rdonly)
`?fd))
((_ (<< ?fd ?object))
- (fork/pipe (lambda () (display `?object))))
+ (fork/pipe+ `((1 ?fd)) (lambda () (display `?object (open-output-file* 1)))))
((_ (= ?fd-from ?fd/port-to))
(let* ((fd/port-to ?fd/port-to) ; Evaluate once
(fd-to (if (port? fd/port-to)
diff --git a/tests/run.scm b/tests/run.scm
index 2ad287f..c4deb88 100644
--- a/tests/run.scm
+++ b/tests/run.scm
@@ -1,7 +1,7 @@
(include "../scsh-process.scm")
(import scsh-process)
-(use test posix)
+(use test posix srfi-13)
(test-begin "scsh-process")
@@ -53,8 +53,9 @@
(let ((message "testing, 1 2 3"))
(test "Redirecting from object"
- `("blah" "foo" ,message)
- (run/strings (cat ,tmpfile -) (<< ,message))))
+ `("blah" "foo" ,(string-delete #\t message))
+ (run/strings (pipe (epf (tr -d t) (<< ,message))
+ (cat ,tmpfile -)))))
(delete-file* tmpfile)))
(test-group "Subprocesses"