diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-08-02 15:25:06 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-08-02 17:49:11 -0700 |
| commit | 3eef9993af9dc04f5e9d489e3234e5b4060ff893 (patch) | |
| tree | 8864c0e25fc541d9a8ba6217d67d18f5a669d156 /src/comp/syntax | |
| parent | 731797d075e8bd9d0e3d21c917c3c7028278a7d4 (diff) | |
| download | rust-3eef9993af9dc04f5e9d489e3234e5b4060ff893.tar.gz rust-3eef9993af9dc04f5e9d489e3234e5b4060ff893.zip | |
Don't pp extra lines after block open when preserving whitespace. Closes #759
Diffstat (limited to 'src/comp/syntax')
| -rw-r--r-- | src/comp/syntax/print/pprust.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs index 7533eced7cf..11e13d6ebe0 100644 --- a/src/comp/syntax/print/pprust.rs +++ b/src/comp/syntax/print/pprust.rs @@ -172,6 +172,20 @@ fn bclose_(s: &ps, span: codemap::span, indented: uint) { } fn bclose(s: &ps, span: codemap::span) { bclose_(s, span, indent_unit); } +fn is_begin(s: &ps) -> bool { + alt s.s.last_token() { + pp::BEGIN(_) { true } + _ { false } + } +} + +fn is_end(s: &ps) -> bool { + alt s.s.last_token() { + pp::END. { true } + _ { false } + } +} + fn is_bol(s: &ps) -> bool { ret s.s.last_token() == pp::EOF || s.s.last_token() == pp::hardbreak_tok(); @@ -1403,7 +1417,7 @@ fn print_comment(s: &ps, cmnt: lexer::cmnt) { } lexer::blank_line. { // We need to do at least one, possibly two hardbreaks. - pprust::hardbreak_if_not_bol(s); + if is_begin(s) || is_end(s) { hardbreak(s.s) } hardbreak(s.s); } } |
