summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 15:53:29 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commitb67dce15e662ae44de3286686f5a0afc147b918d (patch)
tree9f9dac843b61501bf778bf1d07ed7ee598b26db6 /docs/fs.md
parent2868137e34c973a47cbf667a431e885ca23cd9a2 (diff)
downloadpardes-b67dce15e662ae44de3286686f5a0afc147b918d.tar.gz
pardes-b67dce15e662ae44de3286686f5a0afc147b918d.zip
A REPL takes text only while its program has the terminal
A binding outlived its program: a command pane reused kept the REPL of the command before, a done command pane could be bound, a document pane (a terminal with no emulator) was accepted, and after Ctrl-D in python3 the text went to the shell, which ran import os as ImageMagick's. A command pane's binding now ends with its command and a done one is refused, a pane with no emulator is refused, and an interactive terminal's REPL is live only while a program other than its shell holds the tty (the host's tty_taken); when none of the language's REPLs is, nothing is sent or run and the pane says so. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md8
1 files changed, 6 insertions, 2 deletions
diff --git a/docs/fs.md b/docs/fs.md
index ac57dd4c..9560382c 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -267,8 +267,12 @@ by line, where a blank line inside a Python block ends the block (said
once), then Enter. The message row says `→ python-a` in the tag's name tint
and the log `send <from> <to> <id>`. With several REPLs bound for the
language the pane asks which, on its notice band, one key answering and Esc
-sending nowhere; nothing is remembered. A command pane whose command is done
-is no REPL any more. Still commands, whatever is bound: a word in a tag (so
+sending nowhere; nothing is remembered. A REPL takes text only while its
+program has the terminal: a command pane's until its command is done (the
+binding goes with it, and a done one cannot be bound), an interactive
+terminal's while a program other than its shell holds the tty -- after
+Ctrl-D the shell would run the text, so nothing is sent and the pane says
+so. Still commands, whatever is bound: a word in a tag (so
the tag is how to run `make` from that file), `Exec <text>` run by name
(typed, a 2-1 chord onto `Exec`, a `ctl` line) and a command word @`cmd` in
the text, looked at or clicked (`# @`pytest -x`` in a script). A 9P `exec`