From: Robert Griesemer Date: Mon, 9 Nov 2009 17:34:55 +0000 (-0800) Subject: fix for nodeSize computation, used to determine if X-Git-Tag: weekly.2009-11-10~29 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=53f485813e3900c4972337844b44f90f3ebd77d0;p=gostls13.git fix for nodeSize computation, used to determine if a node fits on one line: - for purposes of measuring the node size in text, don't generate html or use a styler that could generate html as it will lead to overly large sizes A consequence of this bug is that source code displayed with godoc may show functions that fit on one line in the source on multiple lines. This change causes no difference to the gofmt formatting of any files in src or misc. R=rsc http://go/go-review/1026034 --- diff --git a/src/pkg/go/printer/nodes.go b/src/pkg/go/printer/nodes.go index 1f863c24b3..f91a34851f 100644 --- a/src/pkg/go/printer/nodes.go +++ b/src/pkg/go/printer/nodes.go @@ -1090,8 +1090,12 @@ func (p *printer) genDecl(d *ast.GenDecl, context declContext, multiLine *bool) // func (p *printer) nodeSize(n ast.Node, maxSize int) (size int) { size = maxSize+1; // assume n doesn't fit + // nodeSize computation must be indendent of particular + // style so that we always get the same decision; print + // in RawFormat + cfg := Config{Mode: RawFormat}; var buf bytes.Buffer; - if _, err := p.Config.Fprint(&buf, n); err != nil { + if _, err := cfg.Fprint(&buf, n); err != nil { return; } if buf.Len() <= maxSize {