diff options
| -rw-r--r-- | bin/sh/parser.c | 3 | ||||
| -rw-r--r-- | tools/regression/bin/sh/expansion/cmdsubst14.0 | 5 | ||||
| -rw-r--r-- | tools/regression/bin/sh/expansion/cmdsubst15.0 | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/bin/sh/parser.c b/bin/sh/parser.c index ef1aa360abbb..a19ca3127bd3 100644 --- a/bin/sh/parser.c +++ b/bin/sh/parser.c @@ -286,7 +286,8 @@ list(int nlflag, int erflag) tokpushback++; } checkkwd = CHKNL | CHKKWD | CHKALIAS; - if (!nlflag && !erflag && tokendlist[peektoken()]) + if (!nlflag && (erflag ? peektoken() == TEOF : + tokendlist[peektoken()])) return ntop; break; case TEOF: diff --git a/tools/regression/bin/sh/expansion/cmdsubst14.0 b/tools/regression/bin/sh/expansion/cmdsubst14.0 new file mode 100644 index 000000000000..bdbbb823e2b2 --- /dev/null +++ b/tools/regression/bin/sh/expansion/cmdsubst14.0 @@ -0,0 +1,5 @@ +# $FreeBSD$ + +! v=`false + +` diff --git a/tools/regression/bin/sh/expansion/cmdsubst15.0 b/tools/regression/bin/sh/expansion/cmdsubst15.0 new file mode 100644 index 000000000000..31d85d497e23 --- /dev/null +++ b/tools/regression/bin/sh/expansion/cmdsubst15.0 @@ -0,0 +1,5 @@ +# $FreeBSD$ + +! v=`false; + +` |
