summaryrefslogtreecommitdiffstats
path: root/stream.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-05-31 01:58:40 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-05-31 01:58:40 -0700
commit01b8820c28320434d3ef69bde1cf646d9592f590 (patch)
tree34637f08434aad4206c087438757b74631fa8064 /stream.c
parentc552f56aefca032aee55824bf17969040ae0060b (diff)
downloadtxr-01b8820c28320434d3ef69bde1cf646d9592f590.tar.gz
txr-01b8820c28320434d3ef69bde1cf646d9592f590.tar.bz2
txr-01b8820c28320434d3ef69bde1cf646d9592f590.zip
cygwin: bug: sh always uses cmd.exe.
* stream.c (sh): Use a single definition for this function, which uses the shell and shell_arg variables to use either /bin/sh -c or cmd.exe /c. We only want to use cmd.exe when running as a Windows native program on Cygnal. * tests/018/process.tl: Remove workaround from test case. This is what was causing the weirdness.
Diffstat (limited to 'stream.c')
-rw-r--r--stream.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/stream.c b/stream.c
index 0740dda1..be6262b1 100644
--- a/stream.c
+++ b/stream.c
@@ -4871,11 +4871,6 @@ static val run(val command, val args)
return (status < 0) ? nil : num(status);
}
-static val sh(val command)
-{
- return run(lit("cmd.exe"), list(lit("/C"), command, nao));
-}
-
#elif HAVE_FORK_STUFF
static val run(val name, val args)
@@ -4948,15 +4943,15 @@ out:
return ret;
}
+#else
+#error port me!
+#endif
+
static val sh(val command)
{
return run(shell, list(shell_arg, command, nao));
}
-#else
-#error port me!
-#endif
-
val remove_path(val path, val throw_on_error)
{
val self = lit("remove-path");