]> granicus.if.org Git - clang/commitdiff
Fix bug in clang-format's vim integration cause by r186789.
authorDaniel Jasper <djasper@google.com>
Mon, 22 Jul 2013 16:22:13 +0000 (16:22 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 22 Jul 2013 16:22:13 +0000 (16:22 +0000)
After the first operation, the buffer contents has changed and thus all
other operations would be invalid. Executing the operations in reversed
order should fix this.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186840 91177308-0d34-0410-b5e6-96231b3b80d8

tools/clang-format/clang-format.py

index bf84ed0f5cfd0799a7b52dbaae0e0fd44acc45f4..1d27985ea085dc6597e1e06ea058472d755ceff5 100644 (file)
@@ -69,7 +69,7 @@ else:
   output = json.loads(lines[0])
   lines = lines[1:]
   sequence = difflib.SequenceMatcher(None, vim.current.buffer, lines)
-  for op in sequence.get_opcodes():
+  for op in reversed(sequence.get_opcodes()):
     if op[0] is not 'equal':
       vim.current.buffer[op[1]:op[2]] = lines[op[3]:op[4]]
   vim.command('goto %d' % (output['Cursor'] + 1))