r185423 - Fix ranges computed by git clang-format.

Daniel Jasper djasper at google.com
Tue Jul 2 09:14:58 PDT 2013


No, I don't. I actually don't think we properly support "\r\n" at all. I'll
investigate.


On Tue, Jul 2, 2013 at 5:20 PM, Nico Weber <thakis at chromium.org> wrote:

> Thanks!
>
> Do you happen to know if this does the right thing for windows-style line
> endings (\r\n) too? Maybe clang-format doesn't format the next line if the
> last char covered by offset is \r?
>
>
> On Tue, Jul 2, 2013 at 6:20 AM, Daniel Jasper <djasper at google.com> wrote:
>
>> Author: djasper
>> Date: Tue Jul  2 08:20:35 2013
>> New Revision: 185423
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=185423&view=rev
>> Log:
>> 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.
>>
>> Modified:
>>     cfe/trunk/tools/clang-format/git-clang-format
>>
>> Modified: cfe/trunk/tools/clang-format/git-clang-format
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/git-clang-format?rev=185423&r1=185422&r2=185423&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/tools/clang-format/git-clang-format (original)
>> +++ cfe/trunk/tools/clang-format/git-clang-format Tue Jul  2 08:20:35 2013
>> @@ -329,13 +329,13 @@ def lines_to_bytes_single_file(file, lin
>>      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
>>
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130702/35e6b184/attachment.html>


More information about the cfe-commits mailing list