Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Annlix
ShellCheck
提交
5ba382d7
S
ShellCheck
项目概览
Annlix
/
ShellCheck
与 Fork 源项目一致
Fork自
镜像 / koalaman / ShellCheck
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
ShellCheck
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5ba382d7
编写于
7月 23, 2013
作者:
V
Vidar Holen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed parsing of IFS= read as single assignment
上级
d28f1fff
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
8 deletion
+14
-8
ShellCheck/Parser.hs
ShellCheck/Parser.hs
+14
-8
未找到文件。
ShellCheck/Parser.hs
浏览文件 @
5ba382d7
...
...
@@ -1474,7 +1474,7 @@ prop_readAssignmentWord5 = isOk readAssignmentWord "b+=lol"
prop_readAssignmentWord6
=
isWarning
readAssignmentWord
"b += (1 2 3)"
prop_readAssignmentWord7
=
isOk
readAssignmentWord
"a[3$n'']=42"
prop_readAssignmentWord8
=
isOk
readAssignmentWord
"a[4''$(cat foo)]=42"
prop_readAssignmentWord9
=
isOk
readAssignmentWord
"IFS=
read
"
prop_readAssignmentWord9
=
isOk
readAssignmentWord
"IFS= "
prop_readAssignmentWord0
=
isWarning
readAssignmentWord
"foo$n=42"
readAssignmentWord
=
try
$
do
id
<-
getNextId
...
...
@@ -1488,16 +1488,22 @@ readAssignmentWord = try $ do
pos
<-
getPosition
op
<-
string
"+="
<|>
string
"="
-- analysis doesn't treat += as a reference. fixme?
space2
<-
spacing
value
<-
readArray
<|>
readNormalWord
spacing
if
space
==
""
&&
space2
/=
""
then
then
do
when
(
variable
/=
"IFS"
)
$
parseNoteAt
pos
InfoC
$
"Because of the space after '=', this is equivalent to '"
++
variable
++
"=
\"\"
..'"
else
when
(
space
/=
""
&&
space2
/=
""
)
$
parseNoteAt
pos
InfoC
$
"Note that 'var= value' (with space after equals sign) is similar to 'var=
\"\"
; value'."
value
<-
readEmptyLiteral
return
$
T_Assignment
id
variable
value
else
do
when
(
space
/=
""
||
space2
/=
""
)
$
parseNoteAt
pos
ErrorC
"Don't put spaces around the = in assignments."
return
$
T_Assignment
id
variable
value
value
<-
readArray
<|>
readNormalWord
spacing
return
$
T_Assignment
id
variable
value
where
readEmptyLiteral
=
do
id
<-
getNextId
return
$
T_Literal
id
""
-- This is only approximate. Fixme?
readArrayIndex
=
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录