Fix ranges computed by git clang-format.

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
This commit is contained in:
Daniel Jasper 2013-07-02 13:20:35 +00:00
parent c931fce404
commit a3fc21a0f1
1 changed files with 2 additions and 2 deletions

View File

@ -329,13 +329,13 @@ def lines_to_bytes_single_file(file, line_ranges):
if linenum == r.start: if linenum == r.start:
byte_start = byte_idx byte_start = byte_idx
if linenum == r.start + r.count: 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) r = next(line_ranges_iter)
linenum += 1 linenum += 1
byte_idx += len(line) byte_idx += len(line)
if r is not None: if r is not None:
# FIXME: Detect and warn if line ranges go past the end of file? # 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 return byte_ranges