From: Josh Bleecher Snyder Date: Fri, 8 Jul 2016 14:52:02 +0000 (-0700) Subject: cmd/vet: re-quote struct tags when printing errors X-Git-Tag: go1.8beta1~1746 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=65c5d62420a539f2f0d06b3ea2ba837f0fbdd6cf;p=gostls13.git cmd/vet: re-quote struct tags when printing errors cmd/link/link_test.go contains several multi-line struct tags. Going through an unquote/quote cycle converts `a b c` to "a\nb\nc\n". This keeps all vet error messages for the standard library on a single line. Updates #11041 Change-Id: Ifba1e87297a5174294d1fbf73463fd3db357464f Reviewed-on: https://go-review.googlesource.com/27129 Run-TryBot: Josh Bleecher Snyder TryBot-Result: Gobot Gobot Reviewed-by: Rob Pike --- diff --git a/src/cmd/vet/structtag.go b/src/cmd/vet/structtag.go index abff14fb1d..8134c585b3 100644 --- a/src/cmd/vet/structtag.go +++ b/src/cmd/vet/structtag.go @@ -34,7 +34,8 @@ func checkCanonicalFieldTag(f *File, node ast.Node) { } if err := validateStructTag(tag); err != nil { - f.Badf(field.Pos(), "struct field tag %s not compatible with reflect.StructTag.Get: %s", field.Tag.Value, err) + raw, _ := strconv.Unquote(field.Tag.Value) // field.Tag.Value is known to be a quoted string + f.Badf(field.Pos(), "struct field tag %q not compatible with reflect.StructTag.Get: %s", raw, err) } // Check for use of json or xml tags with unexported fields.