Complete task002 through task016 across cache correctness, editor lifecycle, C boundaries, build and release governance, dictionary provenance, performance, interactive workflows, tests, documentation, and final cleanup.
1.1 KiB
1.1 KiB
Plan: Non-mutating Save Serialization
Scope
Resolve issue002: saving justified content must write logical text while
the display buffer remains unchanged on success, filesystem failure,
encoding failure, or interruption.
Resolution Path
- Drive
save-bufferthrough real failure andquitpaths and prove the old before/after-hook transaction leaves the buffer unformatted. - Stop mutating the source buffer during save.
- Use Emacs's
write-region-annotate-functionsbuffer-switch contract to serialize a logical copy at the actual write boundary. - Preserve later annotation/coding processing and clean the copy on success, retry, integration removal, or source-buffer teardown.
- Verify success, three failure classes, retry, full ERT, fuzz, warnings-as-errors compilation, and checkdoc.
Non-goals
- No global advice around
save-bufferorwrite-region. - No replacement implementation of Emacs file saving.
- No copy-filter composition or manual-unjustify lifecycle change.
Rollback
Restore the before/after save hooks and remove the logical write-buffer tests. No file format or persisted metadata changes.