about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2014-11-10 21:54:42 +1100
committerHuon Wilson <dbau.pp+github@gmail.com>2014-11-13 13:43:00 +1100
commite621e3216bfb074b03ddeb045dc467d9ec4641f8 (patch)
tree06a041758876e30f0420f5e72992073c910d8d8f /src/libsyntax/parse
parentceff2ca1fc57d60fa3af2372d49a23055aa441bc (diff)
downloadrust-e621e3216bfb074b03ddeb045dc467d9ec4641f8.tar.gz
rust-e621e3216bfb074b03ddeb045dc467d9ec4641f8.zip
Add error message specific to \<carriage return>.
This can crop-up with a misconfigured editor or an unexpected
interaction between version control and certain operating systems.

Closes #11669.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/lexer/mod.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs
index 35d56440b50..01a66243a96 100644
--- a/src/libsyntax/parse/lexer/mod.rs
+++ b/src/libsyntax/parse/lexer/mod.rs
@@ -806,6 +806,13 @@ impl<'a> StringReader<'a> {
                                     if ascii_only { "unknown byte escape" }
                                     else { "unknown character escape" },
                                     c);
+                                if e == '\r' {
+                                    let sp = codemap::mk_sp(escaped_pos, last_pos);
+                                    self.span_diagnostic.span_help(
+                                        sp,
+                                        "this is an isolated carriage return; consider checking \
+                                         your editor and version control settings.")
+                                }
                                 false
                             }
                         }