From: Russ Cox Date: Wed, 26 Oct 2016 17:12:17 +0000 (-0400) Subject: html/template, text/template: drop defined template list from errors X-Git-Tag: go1.8beta1~519 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ef3a9f2dd410ec1672988a72c72919eab2d58e6c;p=gostls13.git html/template, text/template: drop defined template list from errors The report in #17414 points out that if you have many many templates, then this is an overwhelming list and just hurts the signal-to-noise ratio of the error. Even the test of the old behavior also supports the idea that this is noise: template: empty: "empty" is an incomplete or empty template; defined templates are: "secondary" The chance that someone mistyped "secondary" as "empty" is slim at best. Similarly, the compiler does not augment an error like 'unknown variable x' by dumping the full list of all the known variables. For all these reasons, drop the list. Fixes #17414. Change-Id: I78f92d2c591df7218385fe723a4abc497913acf8 Reviewed-on: https://go-review.googlesource.com/32116 Run-TryBot: Russ Cox TryBot-Result: Gobot Gobot Reviewed-by: Rob Pike --- diff --git a/src/html/template/template.go b/src/html/template/template.go index 9eaab4be6a..a98d151c50 100644 --- a/src/html/template/template.go +++ b/src/html/template/template.go @@ -96,7 +96,7 @@ func (t *Template) escape() error { t.nameSpace.escaped = true if t.escapeErr == nil { if t.Tree == nil { - return fmt.Errorf("template: %q is an incomplete or empty template%s", t.Name(), t.DefinedTemplates()) + return fmt.Errorf("template: %q is an incomplete or empty template", t.Name()) } if err := escapeTemplate(t, t.text.Root, t.Name()); err != nil { return err diff --git a/src/text/template/exec.go b/src/text/template/exec.go index 5a6e454ec6..7db4a87d2e 100644 --- a/src/text/template/exec.go +++ b/src/text/template/exec.go @@ -190,7 +190,7 @@ func (t *Template) execute(wr io.Writer, data interface{}) (err error) { vars: []variable{{"$", value}}, } if t.Tree == nil || t.Root == nil { - state.errorf("%q is an incomplete or empty template%s", t.Name(), t.DefinedTemplates()) + state.errorf("%q is an incomplete or empty template", t.Name()) } state.walk(value, t.Root) return diff --git a/src/text/template/exec_test.go b/src/text/template/exec_test.go index 1c7e115554..99b9434b78 100644 --- a/src/text/template/exec_test.go +++ b/src/text/template/exec_test.go @@ -932,7 +932,7 @@ func TestMessageForExecuteEmpty(t *testing.T) { t.Fatal("expected second error") } got = err.Error() - want = `template: empty: "empty" is an incomplete or empty template; defined templates are: "secondary"` + want = `template: empty: "empty" is an incomplete or empty template` if got != want { t.Errorf("expected error %s got %s", want, got) }