Warn about 'for $var in values'.
This commit is contained in:
parent
af1bb93aba
commit
d9dd58bec8
|
@ -1618,11 +1618,12 @@ prop_readForClause8 = isOk readForClause "for ((;;)) ; do echo $i\ndone"
|
||||||
prop_readForClause9 = isOk readForClause "for i do true; done"
|
prop_readForClause9 = isOk readForClause "for i do true; done"
|
||||||
prop_readForClause10= isOk readForClause "for ((;;)) { true; }"
|
prop_readForClause10= isOk readForClause "for ((;;)) { true; }"
|
||||||
prop_readForClause11= isOk readForClause "for a b in *; do echo $a $b; done"
|
prop_readForClause11= isOk readForClause "for a b in *; do echo $a $b; done"
|
||||||
|
prop_readForClause12= isWarning readForClause "for $a in *; do echo \"$a\"; done"
|
||||||
readForClause = called "for loop" $ do
|
readForClause = called "for loop" $ do
|
||||||
pos <- getPosition
|
pos <- getPosition
|
||||||
(T_For id) <- g_For
|
(T_For id) <- g_For
|
||||||
spacing
|
spacing
|
||||||
readRegular id pos <|> readArithmetic id pos
|
readArithmetic id pos <|> readRegular id pos
|
||||||
where
|
where
|
||||||
readArithmetic id pos = called "arithmetic for condition" $ do
|
readArithmetic id pos = called "arithmetic for condition" $ do
|
||||||
try $ string "(("
|
try $ string "(("
|
||||||
|
@ -1643,6 +1644,8 @@ readForClause = called "for loop" $ do
|
||||||
return list
|
return list
|
||||||
|
|
||||||
readRegular id pos = do
|
readRegular id pos = do
|
||||||
|
acceptButWarn (char '$') ErrorC 1086
|
||||||
|
"Don't use $ on the iterator name in for loops."
|
||||||
names <- readNames
|
names <- readNames
|
||||||
readShort names <|> readLong names
|
readShort names <|> readLong names
|
||||||
where
|
where
|
||||||
|
|
Loading…
Reference in New Issue