diff options
Diffstat (limited to 'src/text/template/template.go')
-rw-r--r-- | src/text/template/template.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/text/template/template.go b/src/text/template/template.go index b6fceb1795..3b4f34b4db 100644 --- a/src/text/template/template.go +++ b/src/text/template/template.go @@ -127,7 +127,7 @@ func (t *Template) AddParseTree(name string, tree *parse.Tree) (*Template, error // Even if nt == t, we need to install it in the common.tmpl map. if replace, err := t.associate(nt, tree); err != nil { return nil, err - } else if replace { + } else if replace || nt.Tree == nil { nt.Tree = tree } return nt, nil @@ -215,7 +215,7 @@ func (t *Template) associate(new *Template, tree *parse.Tree) (bool, error) { if new.common != t.common { panic("internal error: associate not common") } - if t.tmpl[new.name] != nil && parse.IsEmptyTree(tree.Root) && t.Tree != nil { + if old := t.tmpl[new.name]; old != nil && parse.IsEmptyTree(tree.Root) && old.Tree != nil { // If a template by that name exists, // don't replace it with an empty template. return false, nil |