diff --git a/src/line_parser.rs b/src/line_parser.rs index d54731d598..562d327d12 100644 --- a/src/line_parser.rs +++ b/src/line_parser.rs @@ -152,7 +152,7 @@ pub(crate) fn change_positions(lhs_src: &str, rhs_src: &str) -> Vec // have a very large number of words, don't diff // individual words. if lhs_words.len() > MAX_WORDS_IN_LINE || rhs_words.len() > MAX_WORDS_IN_LINE { - for lhs_pos in lhs_lp.from_region(lhs_offset, lhs_offset + lhs_part.len()) { + for lhs_pos in lhs_lp.from_region(lhs_offset, lhs_offset + line_len_in_bytes(&lhs_part)) { mps.push(MatchedPos { kind: MatchKind::NovelWord { highlight: TokenKind::Atom(AtomKind::Normal),