From 5a959bc340d2701db2edd8527b5ec1e3e9408c03 Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Sat, 21 Sep 2013 16:27:17 -0700 Subject: [PATCH] Fix parser errors for unclosed $( in here docs --- ShellCheck/Parser.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ShellCheck/Parser.hs b/ShellCheck/Parser.hs index 7e84bcf..ed1c592 100644 --- a/ShellCheck/Parser.hs +++ b/ShellCheck/Parser.hs @@ -978,6 +978,8 @@ readDollarLonely = do prop_readHereDoc = isOk readHereDoc "<< foo\nlol\ncow\nfoo" prop_readHereDoc2 = isWarning readHereDoc "<<- EOF\n cow\n EOF" +prop_readHereDoc3 = isOk readHereDoc "<< foo\n$\"\nfoo" +prop_readHereDoc4 = isOk readHereDoc "<< foo\n`\nfoo" readHereDoc = called "here document" $ do let stripLiteral (T_Literal _ x) = x stripLiteral (T_SingleQuoted _ x) = x @@ -1017,7 +1019,7 @@ readHereDoc = called "here document" $ do parseHereData Unquoted startPos hereData = do subParse startPos readHereData hereData - readHereData = many $ readNormalDollar <|> readBackTicked <|> readHereLiteral + readHereData = many $ try readNormalDollar <|> try readBackTicked <|> readHereLiteral readHereLiteral = do id <- getNextId