Before, the computed byte range would include the trailing newline.
clang-format on the other hand counts whitespace as belonging to the
following token, so that git-clang-format inadvertendly reformats the
first unmodified line as well.
It is not entirely clear whether clang-format's behavior itself should
be modified, but for now this seems to be a safe change.
llvm-svn: 185423
if linenum == r.start:
byte_start = byte_idx
if linenum == r.start + r.count:
- byte_ranges.append(Range(byte_start, byte_idx - byte_start))
+ byte_ranges.append(Range(byte_start, byte_idx - byte_start - 1))
r = next(line_ranges_iter)
linenum += 1
byte_idx += len(line)
if r is not None:
# FIXME: Detect and warn if line ranges go past the end of file?
- byte_ranges.append(Range(byte_start, byte_idx - byte_start))
+ byte_ranges.append(Range(byte_start, byte_idx - byte_start - 1))
return byte_ranges