[clang] [clang-format] Do not update cursor pos if no includes replacement (PR #77456)

Björn Schäpers via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 19 12:14:35 PST 2024


================
@@ -3132,20 +3133,24 @@ static void sortCppIncludes(const FormatStyle &Style,
     }
     result += Includes[Index].Text;
     if (Cursor && CursorIndex == Index)
-      *Cursor = IncludesBeginOffset + result.size() - CursorToEOLOffset;
+      NewCursor = IncludesBeginOffset + result.size() - CursorToEOLOffset;
     CurrentCategory = Includes[Index].Category;
   }
 
-  if (Cursor && *Cursor >= IncludesEndOffset)
-    *Cursor += result.size() - IncludesBlockSize;
-
   // If the #includes are out of order, we generate a single replacement fixing
   // the entire range of blocks. Otherwise, no replacement is generated.
   if (replaceCRLF(result) == replaceCRLF(std::string(Code.substr(
                                  IncludesBeginOffset, IncludesBlockSize)))) {
     return;
   }
 
+  if (Cursor) {
+    if (UINT_MAX != NewCursor)
----------------
HazardyKnusperkeks wrote:

```suggestion
    if (NewCursor != UINT_MAX)
```
Still that. :)

https://github.com/llvm/llvm-project/pull/77456


More information about the cfe-commits mailing list