diff options
| author | Haitao Li <lihaitao@gmail.com> | 2011-11-24 14:58:38 +0800 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2011-11-24 08:10:11 +0100 |
| commit | 2253ed5d1c056dac47c2fbd9dfd399a655230db0 (patch) | |
| tree | 53dd9489af206f288e7fa1c53aeba239c3dff1c4 | |
| parent | 8746ebe2e61f736306793ab24a0370af6eff2785 (diff) | |
| download | rust-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.rs | 2 |
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; } |
