From: Robert Griesemer Date: Sat, 28 Feb 2009 00:28:36 +0000 (-0800) Subject: fix a bug: do not print a ';' after a label if there wasn't one X-Git-Tag: weekly.2009-11-06~2132 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=fadf159a8190b0b4dee3d508056dd30e4f5698de;p=gostls13.git fix a bug: do not print a ';' after a label if there wasn't one R=r OCL=25526 CL=25528 --- diff --git a/usr/gri/pretty/printer.go b/usr/gri/pretty/printer.go index 8f270216ef..f08e70ccdb 100644 --- a/usr/gri/pretty/printer.go +++ b/usr/gri/pretty/printer.go @@ -760,7 +760,7 @@ func (P *Printer) StatementList(list *vector.Vector) { if i == 0 { P.newlines = 1; } else { // i > 0 - if !P.opt_semi { + if !P.opt_semi || *optsemicolons { // semicolon is required P.separator = semicolon; } @@ -806,6 +806,10 @@ func (P *Printer) DoLabelDecl(s *AST.LabelDecl) { P.indentation--; P.Expr(s.Label); P.Token(s.Pos, Scanner.COLON); + // TODO not quite correct: + // - we must not print this optional semicolon, as it may invalidate code. + // - this will change once the AST reflects the LabelStatement change + P.opt_semi = true; P.indentation++; }