Skip to content

Commit

Permalink
parser: properly use "local" in error messages
Browse files Browse the repository at this point in the history
We were hard-coding "declare".
  • Loading branch information
mvdan committed Oct 13, 2016
1 parent 6d560f0 commit 5c2b6f3
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
5 changes: 3 additions & 2 deletions parser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -1444,7 +1444,8 @@ func testBinaryOp(val string) token.Token {
}

func (p *parser) declClause() *ast.DeclClause {
ds := &ast.DeclClause{Declare: p.pos, Local: p.val == "local"}
name := p.val
ds := &ast.DeclClause{Declare: p.pos, Local: name == "local"}
p.next()
for p.tok == token.LITWORD && p.val[0] == '-' {
ds.Opts = append(ds.Opts, p.word())
Expand All @@ -1454,7 +1455,7 @@ func (p *parser) declClause() *ast.DeclClause {
p.asPos > 0 && validIdent(p.val[:p.asPos]) {
ds.Assigns = append(ds.Assigns, p.getAssign())
} else if w := p.word(); w.Parts == nil {
p.followErr(p.pos, "declare", "words")
p.followErr(p.pos, name, "words")
} else {
ds.Assigns = append(ds.Assigns, &ast.Assign{Value: w})
}
Expand Down
4 changes: 2 additions & 2 deletions parser/parser_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -745,8 +745,8 @@ var bashTests = []struct {
`1:12: parentheses must enclose an expression`,
},
{
"declare (",
`1:9: "declare" must be followed by words`,
"local (",
`1:7: "local" must be followed by words`,
},
{
"declare 0=${o})",
Expand Down

0 comments on commit 5c2b6f3

Please sign in to comment.