about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHaitao Li <lihaitao@gmail.com>2011-11-24 14:58:38 +0800
committerMarijn Haverbeke <marijnh@gmail.com>2011-11-24 08:10:11 +0100
commit2253ed5d1c056dac47c2fbd9dfd399a655230db0 (patch)
tree53dd9489af206f288e7fa1c53aeba239c3dff1c4
parent8746ebe2e61f736306793ab24a0370af6eff2785 (diff)
downloadrust-2253ed5d1c056dac47c2fbd9dfd399a655230db0.tar.gz
rust-2253ed5d1c056dac47c2fbd9dfd399a655230db0.zip
rustc: Fix position of diagnostic highlight lines
Diagnostic highlight lines are incorrect placed when the related line
number is 10, 100, etc.

The root cause is line number are treated as 0 based (should be 1 based)
when calculating offset of line number digits.
-rw-r--r--src/comp/syntax/codemap.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/comp/syntax/codemap.rs b/src/comp/syntax/codemap.rs
index cd48deba511..106a4dae46a 100644
--- a/src/comp/syntax/codemap.rs
+++ b/src/comp/syntax/codemap.rs
@@ -193,7 +193,7 @@ fn maybe_highlight_lines(sp: option::t<span>, cm: codemap,
         if vec::len(lines.lines) == 1u {
             let lo = lookup_char_pos(cm, option::get(sp).lo);
             let digits = 0u;
-            let num = lines.lines[0] / 10u;
+            let num = (lines.lines[0] + 1u) / 10u;
 
             // how many digits must be indent past?
             while num > 0u { num /= 10u; digits += 1u; }