Merge pull request #1876 from fork-graveyard/master

recognize `: ${parameter=word}` as assignment
This commit is contained in:
Vidar Holen
2020-04-01 18:52:53 -07:00
committed by GitHub
2 changed files with 2 additions and 1 deletions

View File

@@ -2204,6 +2204,7 @@ prop_checkUnassignedReferences36= verifyNotTree checkUnassignedReferences "read
prop_checkUnassignedReferences37= verifyNotTree checkUnassignedReferences "var=howdy; printf -v 'array[0]' %s \"$var\"; printf %s \"${array[0]}\";" prop_checkUnassignedReferences37= verifyNotTree checkUnassignedReferences "var=howdy; printf -v 'array[0]' %s \"$var\"; printf %s \"${array[0]}\";"
prop_checkUnassignedReferences38= verifyTree (checkUnassignedReferences' True) "echo $VAR" prop_checkUnassignedReferences38= verifyTree (checkUnassignedReferences' True) "echo $VAR"
prop_checkUnassignedReferences39= verifyNotTree checkUnassignedReferences "builtin export var=4; echo $var" prop_checkUnassignedReferences39= verifyNotTree checkUnassignedReferences "builtin export var=4; echo $var"
prop_checkUnassignedReferences40= verifyNotTree checkUnassignedReferences ": ${foo=bar}"
checkUnassignedReferences = checkUnassignedReferences' False checkUnassignedReferences = checkUnassignedReferences' False
checkUnassignedReferences' includeGlobals params t = warnings checkUnassignedReferences' includeGlobals params t = warnings

View File

@@ -508,7 +508,7 @@ getModifiedVariables t =
T_DollarBraced _ _ l -> maybeToList $ do T_DollarBraced _ _ l -> maybeToList $ do
let string = bracedString t let string = bracedString t
let modifier = getBracedModifier string let modifier = getBracedModifier string
guard $ ":=" `isPrefixOf` modifier guard $ any (`isPrefixOf` modifier) ["=", ":="]
return (t, t, getBracedReference string, DataString $ SourceFrom [l]) return (t, t, getBracedReference string, DataString $ SourceFrom [l])
t@(T_FdRedirect _ ('{':var) op) -> -- {foo}>&2 modifies foo t@(T_FdRedirect _ ('{':var) op) -> -- {foo}>&2 modifies foo