diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 366954ad9..5af103b96 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -1812,6 +1812,8 @@ class Coder: try: edits = self.get_edits() edits = self.prepare_to_edit(edits) + + # ai: handle the case where apply_edits returns an updated edits array (it may just return None, meaning use the existing edits array)! edited = set(edit[0] for edit in edits) self.apply_edits(edits) except ValueError as err: diff --git a/aider/coders/editblock_coder.py b/aider/coders/editblock_coder.py index 417ba113a..1285381fd 100644 --- a/aider/coders/editblock_coder.py +++ b/aider/coders/editblock_coder.py @@ -50,6 +50,7 @@ class EditBlockCoder(Coder): content = self.io.read_text(full_path) new_content = do_replace(full_path, content, original, updated, self.fence) if new_content: + # ai: update the edits array to reflect the actually edited file break if new_content: @@ -59,7 +60,7 @@ class EditBlockCoder(Coder): failed.append(edit) if not failed: - return + return # ai: return the updated list of edits blocks = "block" if len(failed) == 1 else "blocks"