summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/fs.md9
1 files changed, 7 insertions, 2 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 020fce58..7111de1c 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -160,8 +160,13 @@ whole, so its last line runs even without a newline (`printf Save > exec`),
unless it is a multiple of 4096 bytes: that is where a writer's buffer (stdio,
a mount's page cache) filled and cut a line, so its tail waits for the next
write or the close. An `Edit` whose `{` or
-`a`/`c`/`i` text is still open waits for the next write on that open, and
-fails at the close if it never ends (``unmatched `{'``). A line held past
+`a`/`c`/`i` text is still open waits for the next write on that open. A
+line held to the close (a 4096-multiple write's tail, an `Edit` block never
+ended) runs there, and its failure is only in the log, as its `err` record
+(``err <serial> ctl: unmatched `{'`` or `a, c or i text not ended by a .
+line`): the close itself reports no error, and the write that sent it had
+already succeeded. A script that needs a line's result ends the write with
+a newline, so the line runs, and fails, with its write. A line held past
1 MiB is refused.
**Answers.** Reading `look`, `exec` or `tagexec` answers the serials the