Justification is a re-layout of the same logical text; it now behaves that way toward the rest of the editor: - saving a justified buffer writes the LOGICAL text: before-save-hook unjustifies (spans remembered as markers), after-save-hook restores the justified view; the deterministic pair stays off undo history. Previously soft newlines and break hyphens were silently persisted to disk and the original whitespace was unrecoverable after reopen. - renderer marker properties (ekp-glue/soft-break/soft-hyphen/hidden/ justified) are registered in text-property-default-nonsticky: text typed after a glue no longer inherits the marker and is no longer deleted as a synthesized space by the next re-flow. - pure re-layout preserves buffer-modified-p when it was nil: no more lock files, auto-saves and "buffer modified" prompts from merely enabling ekp-auto-justify-mode. - changes applied by undo are not re-dirtied (no timer war against the user's undo sequence). - switching major modes tears justified state down cleanly (change-major-mode-hook), widening first so narrowing never leaves justified orphans. 5 new ERT tests (72 total). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ekp-bench.el | ||
| ekp-demo.el | ||
| ekp-fuzz.el | ||
| ekp-region-tests.el | ||
| ekp-showcase.el | ||
| ekp-tests.el | ||
| run-tests.sh | ||
| text-de_DE.txt | ||
| text-en_US.txt | ||
| text-fr.txt | ||
| text-zh2-en_US.txt | ||
| text-zh-en_US.txt | ||
| text-zh.txt | ||