summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md11
1 files changed, 8 insertions, 3 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 80735642..cf6acb60 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -406,8 +406,10 @@ whole: a mount cuts a big write at its message size (4 KiB through the
kernel's, 8 KiB from a client that asks), anywhere, and each piece comes as
a write of its own, so the open keeps a last line with no newline yet, or
an Edit block whose text has not ended, until its next write, and runs it
-then; what is left when it closes runs at the close. A fragment never runs
-on its own. A line or Edit block held past 1 MiB is refused (EINVAL).
+then; what is left when it closes runs at the close, where an Edit block
+whose `{` or text never ended fails as any unclosed block does (``unmatched
+`{'``, logged as an `err`; nothing changes). A fragment never runs on its
+own. A line or Edit block held past 1 MiB is refused (EINVAL).
A look takes acme's addresses after a colon (editors/acme/look.c:450): a
line written to `look` as `file:/re/`, `file:#n`, `file:$` or any address
@@ -509,7 +511,10 @@ takes in `file:12:5`: `12:5` is the point at line 12, column 5, and it
composes like any simple address (`12:5,14:1`, `12:5+#3`). The column is
in bytes from 1, as Look's is, clamped to the end of the line and snapped
back to the start of the rune it falls in; a line past the end, or
-column 0, is `address out of range`. sam would read `12:5` as a syntax
+column 0, is `address out of range`. Since the column counts bytes, a
+column a tool gives in characters (pytest's, a compiler's) is the same
+only on an ASCII line; elsewhere address the line and search it
+(`12/name/`) or use `#n`. sam would read `12:5` as a syntax
error.
Truncating `data` or `xdata` deletes the range `addr` names and nothing
else, so a shell's `echo NEW > data` replaces that range, `: > data`