summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 10:44:30 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commitd5743f2a58a03539d3c34bee3b2ad18b96b2da55 (patch)
treee2726a5605b4f42dae3de00c75d13d327c27b40d /docs
parent5fd713889b6bdeb27c58941b77266c9336bf7b7d (diff)
downloadpardes-d5743f2a58a03539d3c34bee3b2ad18b96b2da55.tar.gz
pardes-d5743f2a58a03539d3c34bee3b2ad18b96b2da55.zip
A refusal over unsaved panes keeps its list in +Unsaved and shows a short notice
Exit's refusal (and Restore's, Del's, Delcol's, get's) put its full text on a notice that went: a long list of names, gone before it was read. The list now goes into one +Unsaved pane, filled again by each refusal, a row a pane (`<name>: Modified`) and the `Exit again to discard` line; the notice is short, `3 unsaved panes — Exit again to discard`. The 9P `unsaved` records and the write's err are as they were. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r--docs/fs.md11
-rw-r--r--docs/tags.md5
2 files changed, 10 insertions, 6 deletions
diff --git a/docs/fs.md b/docs/fs.md
index ceca1dd9..f20b521a 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -193,9 +193,11 @@ through a `ctl` write or a click: first one `/log` record per pane,
`unsaved <serial> <name>`, then the write fails with one line that is
never a list cut short, `<name>: Modified (Exit again to discard)` for one
pane, `4 unsaved panes: Modified (Exit again to discard)` for more, and
-the `err` record says the same; each pane's message row names it, a
-`+New` scratch with its serial, as scratches share a name: `/dir/+New
-(pane 12): Modified (Exit again to discard)`. Restore,
+the `err` record says the same. On screen the notice is short, `3 unsaved
+panes — Exit again to discard`, and the whole list stays in one `+Unsaved`
+pane, filled again by each refusal: a row a pane, `<name>: Modified` (a
+`+New` scratch with its serial, as scratches share a name, `/dir/+New
+(pane 12): Modified`), then `Exit again to discard`. Restore,
Del and Delcol refuse the same way, with their own word; an `Exit` after more editing refuses
again naming only the panes edited since the last refusal, as acme's does,
and an `Exit` with nothing edited since quits, throwing all of it away; a scratch or a
@@ -580,7 +582,8 @@ length, a reserved zero, the dirty flag, the width in cells, the font and the
tab width — followed by rio's `current` or `notcurrent` (rio(4), `wctl`):
whether the pane has the keyboard. It takes the pane's builtins (below),
`get`, which reloads the buffer from the name it
-carries (unsaved edits are refused once, `<name>: Modified (get again to
+carries (unsaved edits are refused once, listed in `+Unsaved` with a short
+notice as Exit's are, the write failing `<name>: Modified (get again to
discard)`, as acme's get asks winclean, exec.c:513). A file that changes on
disk reloads by itself only into a buffer with no unsaved edits; one with
them keeps its text and stays dirty, says `<name> changed on disk (get
diff --git a/docs/tags.md b/docs/tags.md
index 018536e6..d79c64b5 100644
--- a/docs/tags.md
+++ b/docs/tags.md
@@ -86,8 +86,9 @@ to its `ctl`, they step the body back and forward through its edits, as the
`Del` closes a pane and gives its rows to one neighbor; the rest of the
column keeps its heights. A pane with unsaved text is refused once, as
-acme's Del warns (exec.c del, wind.c winclean): `<name>: Modified (Del again
-to discard)`, and the same `Del` again, nothing edited since, closes it and
+acme's Del warns (exec.c del, wind.c winclean): a short notice, `1 unsaved
+pane — Del again to discard`, the pane listed in a kept `+Unsaved` (`<name>:
+Modified`, then `Del again to discard`), and the same `Del` again, nothing edited since, closes it and
throws the text away; `Delcol` refuses a column holding such a pane the same
way (exec.c delcol). Each word warns on its own, from a key, a tag, `exec`
or a ctl, where the refusal fails the write with EIO. `Del k` (or `DelAbove`) gives them to the nearest