summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/fs.md13
1 files changed, 9 insertions, 4 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 7361c19e..d0c371c7 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -255,9 +255,11 @@ directory. `body` appends on write and replaces on truncating open. `sel`
reads the selected text and writing it replaces the selection. `errors`
appends to the directory's `+Errors` pane. Holding `event` open redirects the
pane's Look and Exec clicks to that client, and so does a line written to the
-pane's own `look` or `exec`, a click with no place in the text: an `F` record
-at `0 0` carrying the line (the root's `look` and `exec` still act at once);
-writing a record back performs the action. acme takes back only `<origin>
+pane's own `look` or `exec`, or to the root's while that pane has the
+keyboard, a click with no place in the text: an `F` record at `0 0` carrying
+the line. So a client holding `event` that wants a command run gets its own
+exec back as a record: it runs it through `ctl`, or writes the record back.
+Writing a record back performs the action. acme takes back only `<origin>
<action><q0> <q1>`, the text of that range; pardes takes the record whole as
it was read too, and for an empty range acts on its text, which is how such
a line is done. A click in a file's body carries the offsets of the text it
@@ -397,7 +399,10 @@ recorded before anything else.
Control characters in a record become spaces, so a record is one line.
(An `event` record is not: acme's `<origin><action><q0> <q1> <flag> <n>
<text>\n`, whose text may hold newlines; read `n` bytes of it rather than
-up to a newline -- bytes here, where acme counts runes.) An
+up to a newline -- bytes here, where acme counts runes. Every offset and
+count pardes serves is in bytes, `#n` and `q0`/`q1` too; the event count
+follows them rather than switch alone, so an acme library reads pardes
+correctly for ASCII text and not beyond it.) An
open freezes the ring's text the way `/screen` freezes a frame: reads walk it
and end. Writing `follow` to that same open makes reads past it wait for the
next record, one per read; a follower the ring outran reads `lost N` first.