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 ef1aa36..a19ca31 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 0000000..bdbbb82 --- /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 0000000..31d85d4 --- /dev/null +++ b/tools/regression/bin/sh/expansion/cmdsubst15.0 @@ -0,0 +1,5 @@ +# $FreeBSD$ + +! v=`false; + +` |