summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/ksh/eval.c12
-rw-r--r--bin/ksh/tests/regress.t4
2 files changed, 4 insertions, 12 deletions
diff --git a/bin/ksh/eval.c b/bin/ksh/eval.c
index 60aec522fd8..9ab6a85fccb 100644
--- a/bin/ksh/eval.c
+++ b/bin/ksh/eval.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: eval.c,v 1.39 2013/07/01 17:25:27 jca Exp $ */
+/* $OpenBSD: eval.c,v 1.40 2013/09/14 20:09:30 millert Exp $ */
/*
* Expansion - quoting, separation, substitution, globbing
@@ -869,7 +869,7 @@ comsub(Expand *xp, char *cp)
"%s: cannot open $(<) input", name);
xp->split = 0; /* no waitlast() */
} else {
- int errexit, ofd1, pv[2];
+ int ofd1, pv[2];
openpipe(pv);
shf = shf_fdopen(pv[0], SHF_RD, (struct shf *) 0);
ofd1 = savefd(1);
@@ -877,15 +877,7 @@ comsub(Expand *xp, char *cp)
ksh_dup2(pv[1], 1, false);
close(pv[1]);
}
- /*
- * Clear FERREXIT temporarily while we execute the command.
- * We cannot simply pass XERROK since the tree might include
- * its own "set -e".
- */
- errexit = Flag(FERREXIT);
- Flag(FERREXIT) = 0;
execute(t, XFORK|XXCOM|XPIPEO, NULL);
- Flag(FERREXIT) = errexit;
restfd(1, ofd1);
startlast();
xp->split = 1; /* waitlast() */
diff --git a/bin/ksh/tests/regress.t b/bin/ksh/tests/regress.t
index e77df1a7432..8b4305c6752 100644
--- a/bin/ksh/tests/regress.t
+++ b/bin/ksh/tests/regress.t
@@ -1,4 +1,4 @@
-# $OpenBSD: regress.t,v 1.15 2013/07/01 17:25:27 jca Exp $
+# $OpenBSD: regress.t,v 1.16 2013/09/14 20:09:30 millert Exp $
#
# The first 39 of these tests are from the old Bugs script.
@@ -607,7 +607,7 @@ arguments: !-e!
stdin:
echo `false; echo hi` $(< this-file-does-not-exist)
expected-stdout:
- hi
+
expected-stderr-pattern: /this-file-does-not-exist/
---