From c8987c4e9736b10bb5448666381ec57aa544a9ff Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Thu, 17 Apr 2014 10:35:07 -0700 Subject: [PATCH] Actually fix variable expansion. --- expand.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/expand.go b/expand.go index afc232d..2349a1c 100644 --- a/expand.go +++ b/expand.go @@ -59,11 +59,16 @@ func expand(input string, vars map[string][]string, expandBackticks bool) []stri var outparts []string outparts, off = expandSigil(input[i:], vars) if len(outparts) > 0 { - parts = append(parts, expanded+outparts[0]) + firstpart := expanded + outparts[0] if len(outparts) > 1 { - parts = append(parts, outparts[1:len(outparts)-1]...) + parts = append(parts, firstpart) + if len(outparts) > 2 { + parts = append(parts, outparts[1:len(outparts)-1]...) + } + expanded = outparts[len(outparts)-1] + } else { + expanded = firstpart } - expanded = parts[len(parts)-1] } }