From 047b02d5bc2675dd993aa2378703cba34a0e35bc Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Wed, 21 Dec 2011 18:05:08 -0800 Subject: [PATCH] More flailing on log syntax due to call-expr ambiguity in previous attempt. --- src/comp/syntax/parse/parser.rs | 5 ++++- src/comp/syntax/print/pprust.rs | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs index d12943202c76..81e476e22c30 100644 --- a/src/comp/syntax/parse/parser.rs +++ b/src/comp/syntax/parse/parser.rs @@ -910,10 +910,13 @@ fn parse_bottom_expr(p: parser) -> @ast::expr { ex = ast::expr_fail(some(e)); } else { ex = ast::expr_fail(none); } } else if eat_word(p, "log_full") { + expect(p, token::LPAREN); let lvl = parse_expr(p); + expect(p, token::COMMA); let e = parse_expr(p); ex = ast::expr_log(2, lvl, e); - hi = e.span.hi; + hi = p.get_hi_pos(); + expect(p, token::RPAREN); } else if eat_word(p, "log") { let e = parse_expr(p); ex = ast::expr_log(1, mk_lit_u32(p, 1u32), e); diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs index eef84757b8a7..ab78023d163b 100644 --- a/src/comp/syntax/print/pprust.rs +++ b/src/comp/syntax/print/pprust.rs @@ -919,8 +919,12 @@ fn print_expr(s: ps, &&expr: @ast::expr) { 0 { word_nbsp(s, "log_err"); print_expr(s, expr); } 2 { word_nbsp(s, "log_full"); - word(s.s, " "); + popen(s); print_expr(s, lexp); + word(s.s, ","); + space_if_not_bol(s); + print_expr(s, expr); + pclose(s); } } }