diff options
Diffstat (limited to 'src/pkg/go/printer/printer.go')
-rw-r--r-- | src/pkg/go/printer/printer.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pkg/go/printer/printer.go b/src/pkg/go/printer/printer.go index f35663eb8..0d5760ff5 100644 --- a/src/pkg/go/printer/printer.go +++ b/src/pkg/go/printer/printer.go @@ -1002,6 +1002,11 @@ func (cfg *Config) Fprint(output io.Writer, node interface{}) (int, os.Error) { p.expr(n, ignoreMultiLine) case ast.Stmt: p.useNodeComments = true + // A labeled statement will un-indent to position the + // label. Set indent to 1 so we don't get indent "underflow". + if _, labeledStmt := n.(*ast.LabeledStmt); labeledStmt { + p.indent = 1 + } p.stmt(n, ignoreMultiLine) case ast.Decl: p.useNodeComments = true |