From fd448801b83bdddf27a1d9af17bf8581356b2b35 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 23:26:47 -0300 Subject: Del and Delcol refuse unsaved text once, as acme's do acme's Del asks winclean first and Delcol colclean (exec.c del, delcol): unsaved text is warned about, and the same word again closes. pardes closed at once. Both now refuse once through the one-warning-per-word mechanism Exit uses, from keys, tags, exec and ctl alike. A pane dirty only by a rename, or an empty one that never held a file, has no text to lose and is not asked about, and a scratch or a command's output under 100 bytes is not either, as acme's winclean passes a small unnamed window. Co-Authored-By: Claude Opus 5.5 --- docs/fs.md | 7 ++++--- docs/tags.md | 7 ++++++- src/builtins.zig | 52 +++++++++++++++++++++++++++++++++++++++++++++++----- src/panes.zig | 2 +- 4 files changed, 58 insertions(+), 10 deletions(-) diff --git a/docs/fs.md b/docs/fs.md index 5093e754..c257a55d 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -119,10 +119,11 @@ every setting is one, the rest act on a pane). `/ctl` takes the session's builtins, one a line, at whichever pane has the keyboard as each runs -- `Newcol`, `Dump`, `Mount name dial`, `Theme ink`, `Verbose off`; `Exit`, which quits the editor as acme's does (it refuses once, naming each pane with -unsaved text, a `+New` scratch with text in it too, in one line, +unsaved text, a `+New` scratch of 100 bytes or more too, in one line, `, : Modified (Exit again to discard)`, and a second `Exit` -with nothing edited since quits, throwing that text away; a command's -output under 100 bytes is not asked about; `Restore`, which replaces every pane, +with nothing edited since quits, throwing that text away; a scratch or a +command's output under 100 bytes is not asked about, as acme's winclean +asks about no small unnamed window; `Restore`, which replaces every pane, asks the same first -- `Dump` writes `pardes--