From fd595d1058a7991a3e925922be2da96c3c023faa Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Fri, 6 May 2022 10:06:12 -0700 Subject: [PATCH] Only trigger SC2316 on unquoted words. --- src/ShellCheck/Checks/Commands.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ShellCheck/Checks/Commands.hs b/src/ShellCheck/Checks/Commands.hs index bad4cf2..e65dc68 100644 --- a/src/ShellCheck/Checks/Commands.hs +++ b/src/ShellCheck/Checks/Commands.hs @@ -948,10 +948,11 @@ prop_checkMultipleDeclaring3 = verify (checkMultipleDeclaring "readonly") "reado prop_checkMultipleDeclaring4 = verify (checkMultipleDeclaring "export") "export readonly foo=5" prop_checkMultipleDeclaring5 = verifyNot (checkMultipleDeclaring "local") "f() { local -r foo=5; }" prop_checkMultipleDeclaring6 = verifyNot (checkMultipleDeclaring "declare") "declare -rx foo=5" +prop_checkMultipleDeclaring7 = verifyNot (checkMultipleDeclaring "readonly") "readonly 'local' foo=5" checkMultipleDeclaring cmd = CommandCheck (Exactly cmd) (mapM_ check . arguments) where check t = sequence_ $ do - lit <- getLiteralString t + lit <- getUnquotedLiteral t guard $ lit `elem` declaringCommands return $ err (getId $ getCommandTokenOrThis t) 2316 $ "This applies " ++ cmd ++ " to the variable named " ++ lit ++