diff --git a/lib/merge.py b/lib/merge.py index 8a8139b..866adf8 100644 --- a/lib/merge.py +++ b/lib/merge.py @@ -466,9 +466,9 @@ def _serialize_edge_fields(raw_fm_text: str, merged_edges: dict[str, list]) -> s if matched_field: fields_written.add(matched_field) - # Skip the old field and its list items + # Skip the old field and its list items (may be indented with spaces) i += 1 - while i < len(lines) and lines[i].startswith("- "): + while i < len(lines) and lines[i] and (lines[i][0] in (' ', '-')): i += 1 # Write the merged version edges = merged_edges.get(matched_field, []) diff --git a/tests/test_reweave_merge.py b/tests/test_reweave_merge.py index f19c398..e1af896 100644 --- a/tests/test_reweave_merge.py +++ b/tests/test_reweave_merge.py @@ -61,7 +61,7 @@ def _serialize_edge_fields(raw_fm_text: str, merged_edges: dict[str, list]) -> s if matched_field: fields_written.add(matched_field) i += 1 - while i < len(lines) and lines[i].startswith("- "): + while i < len(lines) and lines[i] and (lines[i][0] in (' ', '-')): i += 1 edges = merged_edges.get(matched_field, []) if edges: