summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 22:17:49 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit4793520998969439bb569c968c3143ae46aefc66 (patch)
tree2777799bd5f2cad34c3305b5ff50e2710040836c /docs/fs.md
parent754ffc99799c3a251634c1eff9a16eabbd73b31c (diff)
downloadpardes-4793520998969439bb569c968c3143ae46aefc66.tar.gz
pardes-4793520998969439bb569c968c3143ae46aefc66.zip
A pane's question is logged as ask, and answer on its ctl answers it
A script could not answer the several-REPLs question, which only a key could. Every question a pane asks on its notice band (which REPL takes an exec, Del's side from the keyboard) is now logged as `ask <serial> <what> <choices>`, and `answer <choice>` on the pane's ctl answers it as that key would, `answer -` taking it back as Esc does. One function answers for a key and for the ctl. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md13
1 files changed, 10 insertions, 3 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 2dee3a49..bc48db2f 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -356,7 +356,13 @@ 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
-discard)`, as acme's get asks winclean, exec.c:513), and acme's `lock` and `unlock` (editors/acme/xfid.c:603-611), for an
+discard)`, as acme's get asks winclean, exec.c:513), `answer <choice>`
+for the question the pane asks on its notice band, which the log names as
+`ask <serial> <what> <choices>` -- `ask 4 del k j` for Del's side from the
+keyboard (`k` the pane above takes the rows, `j` the one below), `ask 4
+repl a b` for which bound REPL takes an exec (a REPL's letter) -- `answer -`
+taking it back as Esc does (with no question standing, `answer` is refused),
+and acme's `lock` and `unlock` (editors/acme/xfid.c:603-611), for an
edit of several writes to `addr` and `data` that another client must not
land in the middle of. As in acme the lock binds only the clients that take
it: a `lock` while another open holds it fails at once with `file in use`
@@ -499,8 +505,9 @@ an open renders its frame; stat the entry.
`/log` is one ring (64 KiB) that records whether or not anyone reads it:
`new`, `del`, `rename` (a terminal's too, as its shell changes directory,
since a terminal is named by its directory), `exit <serial> <N>` before
-the `del` of a terminal whose shell exited by itself, and `save <serial>
-<name>`,
+the `del` of a terminal whose shell exited by itself, `ask <serial> <what>
+<choices>` when a pane asks a question (answered by `answer` on its ctl),
+and `save <serial> <name>`,
`dump <path>` when a Dump is written and `restore <path>` in a Restore's
new log after its panes' `new`s, and `msg <serial|-> <text>`
for every line the editor says, repeats included (with `verbose` on, that