summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 11:16:17 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commitbe11a4e58e86d9b299accd3688c89d3c3a7b4b0c (patch)
treea5932c021958eaa201dfa417ef4752a787a70ae5 /docs/fs.md
parent536df266a4af38cf20ecb340337a6de2922e8902 (diff)
downloadpardes-be11a4e58e86d9b299accd3688c89d3c3a7b4b0c.tar.gz
pardes-be11a4e58e86d9b299accd3688c89d3c3a7b4b0c.zip
The writes of one open of data, body or xdata are one undo step
bash line-buffers its stdout, so printf 'x\ny\nz\n' > data arrives as three writes and took three Undos. A write now leaves the join mark a truncation already left, so the next write on the file joins its step until the open is released; a truncation and any other edit start a step of their own. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md8
1 files changed, 5 insertions, 3 deletions
diff --git a/docs/fs.md b/docs/fs.md
index f20b521a..1baa9b2c 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -728,9 +728,11 @@ missed its target cannot then write at the last one.
The three flag files `dirty`, `mark` and `scroll` read `0` or `1` and take
`0` or `1`: whether the buffer differs from its file, whether a write pushes
an undo point (writing `1` pushes one now), and whether a write scrolls the
-pane. Every `data`, `xdata` or `body` write is an undo step of its own
-while `mark` is 1; to make a loop's writes one step, write `1` (an undo
-point here), then `0`, the writes, then `1` again.
+pane. The writes of one open of `data`, `xdata` or `body` are one undo
+step while `mark` is 1 (so `printf 'a\nb\n' > data` is one, though a
+shell writes it a line at a time), and the next open starts another; to
+make a loop's writes one step, write `1` (an undo point here), then `0`,
+the writes, then `1` again.
One rule for what fails: a write fails whenever what it asked for fails,
whether it came to a `ctl` (the root's, a pane's, a column's, a pane's