about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorKevin Ballard <kevin@sb.org>2013-08-15 21:16:40 -0700
committerKevin Ballard <kevin@sb.org>2013-08-15 21:16:40 -0700
commitfdaae344785f11ff4226c6eaaacd7b8c954ca013 (patch)
tree46eb82262350328414bbd3b8e10b7bce9ea5934a /src/libsyntax/parse
parentc4656cfd045ef436377b3dfeebaa265c2c92a00f (diff)
downloadrust-fdaae344785f11ff4226c6eaaacd7b8c954ca013.tar.gz
rust-fdaae344785f11ff4226c6eaaacd7b8c954ca013.zip
Better error message for unknown start of token
The span was fixed at some point to point to the correct character, but
the error message is still bad. Update it to emit the actual character
in question (potentially escaped).

Fixes #3747.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/lexer.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs
index d0041021f7c..c7b247f2dd2 100644
--- a/src/libsyntax/parse/lexer.rs
+++ b/src/libsyntax/parse/lexer.rs
@@ -782,7 +782,9 @@ fn next_token_inner(rdr: @mut StringReader) -> token::Token {
       c => {
           // So the error span points to the unrecognized character
           rdr.peek_span = codemap::mk_sp(rdr.last_pos, rdr.pos);
-          rdr.fatal(fmt!("unknown start of token: %d", c as int));
+          let mut cs = ~"";
+          char::escape_default(c, |c| cs.push_char(c));
+          rdr.fatal(fmt!("unknown start of token: %s", cs));
       }
     }
 }