From 113be53df357c4e678d750c2a62b2949117954ab Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 18 Aug 2011 21:07:07 -0700 Subject: [PATCH] Do better at preserving blank lines during pretty-printing --- src/comp/syntax/print/pprust.rs | 6 +++++- src/test/pretty/blank-lines.rs | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/test/pretty/blank-lines.rs diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs index 07cd7537f5ec..0ca54fceddc2 100644 --- a/src/comp/syntax/print/pprust.rs +++ b/src/comp/syntax/print/pprust.rs @@ -1563,7 +1563,11 @@ fn print_comment(s: &ps, cmnt: lexer::cmnt) { } lexer::blank_line. { // We need to do at least one, possibly two hardbreaks. - if is_begin(s) || is_end(s) { hardbreak(s.s) } + let is_semi = alt s.s.last_token() { + pp::STRING(s, _) { s == ";" } + _ { false } + }; + if is_semi || is_begin(s) || is_end(s) { hardbreak(s.s) } hardbreak(s.s); } } diff --git a/src/test/pretty/blank-lines.rs b/src/test/pretty/blank-lines.rs new file mode 100644 index 000000000000..13cf815e80d1 --- /dev/null +++ b/src/test/pretty/blank-lines.rs @@ -0,0 +1,15 @@ +// pp-exact +fn f() -> [int] { + let picard = 0; + + let data = 1; + + let worf = 2; + + + let enterprise = [picard, data, worf]; + + + + ret enterprise; +}