]> git.lizzy.rs Git - rust.git/commitdiff
Fix trace_macros so that it works.
authorPaul Stansifer <paul.stansifer@gmail.com>
Tue, 27 Nov 2012 03:12:31 +0000 (22:12 -0500)
committerGraydon Hoare <graydon@mozilla.com>
Thu, 29 Nov 2012 20:09:11 +0000 (12:09 -0800)
src/libsyntax/ext/trace_macros.rs

index a4e768aa7dcc3008a8c19bd3babc47d357049f39..f8c85fa01b7645946290ff831fed7ecd9a82ff0d 100644 (file)
@@ -15,12 +15,16 @@ fn expand_trace_macros(cx: ext_ctxt, sp: span,
     let rdr = tt_rdr as reader;
     let rust_parser = Parser(sess, cfg, rdr.dup());
 
-    let arg = cx.str_of(rust_parser.parse_ident());
-    match arg {
-      ~"true"  => cx.set_trace_macros(true),
-      ~"false" => cx.set_trace_macros(false),
-      _ => cx.span_fatal(sp, ~"trace_macros! only accepts `true` or `false`")
+    if rust_parser.is_keyword(~"true") {
+        cx.set_trace_macros(true);
+    } else if rust_parser.is_keyword(~"false") {
+        cx.set_trace_macros(false);
+    } else {
+        cx.span_fatal(sp, ~"trace_macros! only accepts `true` or `false`")
     }
+
+    rust_parser.bump();
+
     let rust_parser = Parser(sess, cfg, rdr.dup());
     let result = rust_parser.parse_expr();
     base::mr_expr(result)