about summary refs log tree commit diff
path: root/Src/lex.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-01-19 21:36:00 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-01-19 21:36:00 +0000
commitde272e0309bc1739f13cc8271a2f94bcde7ba23c (patch)
treed094cb847e41520af34ef250e4c82eea66f52016 /Src/lex.c
parenta5729be83502b3d2ba93e38a485393c9af13a935 (diff)
downloadzsh-de272e0309bc1739f13cc8271a2f94bcde7ba23c.tar.gz
zsh-de272e0309bc1739f13cc8271a2f94bcde7ba23c.tar.xz
zsh-de272e0309bc1739f13cc8271a2f94bcde7ba23c.zip
23115: ";|" at end of case clause causes later patterns to be tested
Diffstat (limited to 'Src/lex.c')
-rw-r--r--Src/lex.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Src/lex.c b/Src/lex.c
index 7a0bf2b1c..095d58150 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -155,6 +155,7 @@ mod_export char *tokstrings[WHILE + 1] = {
     "))",	/* DOUTPAR	     */
     "&|",	/* AMPERBANG	  30 */
     ";&",	/* SEMIAMP	     */
+    ";|",	/* SEMIBAR	     */
 };
 
 /* lexical state */
@@ -381,6 +382,7 @@ ctxtlex(void)
     case SEMI:
     case DSEMI:
     case SEMIAMP:
+    case SEMIBAR:
     case AMPER:
     case AMPERBANG:
     case INPAR:
@@ -713,6 +715,8 @@ gettok(void)
 	    return DSEMI;
 	else if(d == '&')
 	    return SEMIAMP;
+	else if (d == '|')
+	    return SEMIBAR;
 	hungetc(d);
 	lexstop = 0;
 	return SEMI;