From b1af7bb8f2393b7d8f972bfc1556f983ff9b7f96 Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Fri, 11 Oct 2013 20:03:55 -0700 Subject: [PATCH] Fixed parser error for 'for ((;;)) ; do' --- ShellCheck/Parser.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ShellCheck/Parser.hs b/ShellCheck/Parser.hs index 0212dc1..51afcd5 100644 --- a/ShellCheck/Parser.hs +++ b/ShellCheck/Parser.hs @@ -1364,6 +1364,7 @@ prop_readForClause4 = isOk readForClause "for((i=0; i<10; i++)); do echo $i; don prop_readForClause5 = isOk readForClause "for ((i=0;i<10 && n>x;i++,--n))\ndo \necho $i\ndone" prop_readForClause6 = isOk readForClause "for ((;;))\ndo echo $i\ndone" prop_readForClause7 = isOk readForClause "for ((;;)) do echo $i\ndone" +prop_readForClause8 = isOk readForClause "for ((;;)) ; do echo $i\ndone" readForClause = called "for loop" $ do pos <- getPosition (T_For id) <- g_For @@ -1381,7 +1382,8 @@ readForClause = called "for loop" $ do z <- readArithmeticContents spacing string "))" - readSequentialSep <|> disregard spacing + spacing + optional $ readSequentialSep >> spacing return $ \id group -> (return $ T_ForArithmetic id x y z group) readRegular = do