diff --git a/expand.go b/expand.go index 6ffe322..1ffd616 100644 --- a/expand.go +++ b/expand.go @@ -136,7 +136,11 @@ func expandSigil(input string, vars map[string][]string) ([]string, int) { c, w := utf8.DecodeRuneInString(input) var offset int var varname string - if c == '{' { + + // escaping of "$" with "$$" + if c == '$' { + return []string{"$"}, 2 + } else if c == '{' { j := strings.IndexRune(input[w:], '}') if j < 0 { return []string{"$" + input}, len(input) diff --git a/parse.go b/parse.go index da25686..350a760 100644 --- a/parse.go +++ b/parse.go @@ -232,7 +232,7 @@ func parseTargets(p *parser, t token) parserStateFun { return parseTargets } -// Consumed one or more strings followed by a first ':'. +// Consume one or more strings followed by a first ':'. func parseAttributesOrPrereqs(p *parser, t token) parserStateFun { switch t.typ { case tokenNewline: