From 2a842d241c462c11959102f96a3945aec493cb86 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 16:18:03 -0300 Subject: A click written back to event is done as the click, REPL and all; a REPL's ctl line names it Writing an M record back from a .py body with a REPL bound ran the text as a shell command (exit 127), where the click itself went to the REPL. acme does what the click would have done (xfideventwrite, xfid.c:842-844), so a body X record written back now goes the way a middle click goes: to a bound REPL, bracketed or line by line, the several-REPLs question included. An F record, a line written to exec, was never a click and still runs as a command. For a readable list of bindings, the smallest place: a bound terminal's ctl line ends with its id after current/notcurrent. Co-Authored-By: Claude Opus 5.5 --- docs/fs.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/fs.md b/docs/fs.md index 9560382c..8caaff3c 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -258,7 +258,8 @@ same tree without leaving the process. A terminal can be bound as a language's REPL: `Repl python` in its tag or on its `ctl` (the language names are the syntax table's; `Repl -` unbinds, `Repl` bare says the binding, `Repl python` again changes nothing). Its tag -shows its id, `python-a`, `python-b` for the next, a freed letter reused. +shows its id, `python-a`, `python-b` for the next, a freed letter reused, +and so does the end of its `ctl` line, after `current`/`notcurrent`. Then an exec made by a gesture on the body of a file in that language -- a middle click, the execute key, on a selection or a single word, even `make` in a comment -- or on the REPL's own body is typed into the REPL instead of @@ -299,7 +300,10 @@ 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 ` +Writing a record back performs the action, as the click would have (acme's +xfideventwrite): a body `X` goes to a REPL bound for the text as a middle +click does, where an `F` record, a line written to `exec`, runs as the +command it was. acme takes back only ` `, 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 -- cgit v1.3