From e6f2ee1f88629f025e8dff63feb5c1d7de8a7e16 Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Wed, 10 Jul 2013 17:41:38 -0700 Subject: [PATCH] Don't try to parse $'..' in "" --- ShellCheck/Parser.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ShellCheck/Parser.hs b/ShellCheck/Parser.hs index d565bde..f52bb0c 100644 --- a/ShellCheck/Parser.hs +++ b/ShellCheck/Parser.hs @@ -692,6 +692,7 @@ readBackTicked = called "backtick expansion" $ do prop_readDoubleQuoted = isOk readDoubleQuoted "\"Hello $FOO\"" +prop_readDoubleQuoted2 = isOk readDoubleQuoted "\"$'\"" readDoubleQuoted = called "double quoted string" $ do id <- getNextId doubleQuote @@ -846,9 +847,9 @@ readBraced = try $ do char '}' return $ T_BraceExpansion id $ concat str -readNormalDollar = readDollarExpression <|> readDollarLonely <|> readDollarDoubleQuote +readNormalDollar = readDollarExpression <|> readDollarLonely <|> readDollarDoubleQuote <|> readDollarSingleQuote readDoubleQuotedDollar = readDollarExpression <|> readDollarLonely -readDollarExpression = readDollarArithmetic <|> readDollarBracket <|> readDollarBraced <|> readDollarExpansion <|> readDollarVariable <|> readDollarSingleQuote +readDollarExpression = readDollarArithmetic <|> readDollarBracket <|> readDollarBraced <|> readDollarExpansion <|> readDollarVariable prop_readDollarSingleQuote = isOk readDollarSingleQuote "$'foo\\\'lol'" readDollarSingleQuote = called "$'..' expression" $ do