From b05c12223fe4f7a1132337564707e1bb4159a25d Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Tue, 23 Sep 2014 10:27:26 -0700 Subject: [PATCH] Don't trigger SC2004 for (( $$ )) --- ShellCheck/Analytics.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ShellCheck/Analytics.hs b/ShellCheck/Analytics.hs index 115f5bf..d460104 100644 --- a/ShellCheck/Analytics.hs +++ b/ShellCheck/Analytics.hs @@ -1209,11 +1209,12 @@ prop_checkArithmeticDeref9 = verifyNot checkArithmeticDeref "(( a[foo] ))" prop_checkArithmeticDeref10= verifyNot checkArithmeticDeref "(( a[\\$foo] ))" prop_checkArithmeticDeref11= verifyNot checkArithmeticDeref "a[$foo]=wee" prop_checkArithmeticDeref12= verify checkArithmeticDeref "for ((i=0; $i < 3; i)); do true; done" +prop_checkArithmeticDeref13= verifyNot checkArithmeticDeref "(( $$ ))" checkArithmeticDeref params t@(TA_Expansion _ [T_DollarBraced id l]) = unless (isException $ bracedString l) getWarning where isException [] = True - isException s = any (`elem` "/.:#%?*@") s || isDigit (head s) + isException s = any (`elem` "/.:#%?*@$") s || isDigit (head s) getWarning = fromMaybe noWarning . msum . map warningFor $ parents params t warningFor t = case t of @@ -2160,6 +2161,7 @@ prop_checkSpacefulnessI = verifyNotTree checkSpacefulness "$1 --flags" prop_checkSpacefulnessJ = verifyTree checkSpacefulness "echo $PWD" prop_checkSpacefulnessK = verifyNotTree checkSpacefulness "n+='foo bar'" prop_checkSpacefulnessL = verifyNotTree checkSpacefulness "select foo in $bar; do true; done" +prop_checkSpacefulnessM = verifyNotTree checkSpacefulness "echo $\"$1\"" checkSpacefulness params t = doVariableFlowAnalysis readF writeF (Map.fromList defaults) (variableFlow params)