From 33ce9c19d7e2e7b7e38231e96b3378870c3f2069 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 24 Jun 2015 11:11:51 -0400 Subject: text/template: make zero Template work again Fixes #11379. Change-Id: Idbb5c3faad472b77e9867dd2d4551fef5e4ac5f1 Reviewed-on: https://go-review.googlesource.com/11421 Reviewed-by: Rob Pike --- src/text/template/exec.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/text/template/exec.go') diff --git a/src/text/template/exec.go b/src/text/template/exec.go index 8e9edcfbe9..daba788b55 100644 --- a/src/text/template/exec.go +++ b/src/text/template/exec.go @@ -113,7 +113,10 @@ func errRecover(errp *error) { // the output writer. // A template may be executed safely in parallel. func (t *Template) ExecuteTemplate(wr io.Writer, name string, data interface{}) error { - tmpl := t.tmpl[name] + var tmpl *Template + if t.common != nil { + tmpl = t.tmpl[name] + } if tmpl == nil { return fmt.Errorf("template: no template %q associated with template %q", name, t.name) } @@ -146,6 +149,9 @@ func (t *Template) Execute(wr io.Writer, data interface{}) (err error) { // it returns the empty string. For generating an error message here // and in html/template. func (t *Template) DefinedTemplates() string { + if t.common == nil { + return "" + } var b bytes.Buffer for name, tmpl := range t.tmpl { if tmpl.Tree == nil || tmpl.Root == nil { -- cgit v1.3