summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 03:37:13 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit98e94b86a7c38e2bf4d66e57144fc9329906bb3b (patch)
tree61a7c596cd54dbc4d7a0b17243f592b2fb4bab80 /docs
parentd067c77813f9ce9fcc64b33e6b0284510ac02185 (diff)
downloadpardes-98e94b86a7c38e2bf4d66e57144fc9329906bb3b.tar.gz
pardes-98e94b86a7c38e2bf4d66e57144fc9329906bb3b.zip
Tty and Shell refuse a directory: not a shell
A directory passes access(X_OK), so Tty /etc made a pane whose shell exited 127 and Shell /etc was taken. The shell lookup now refuses a directory, and both say "not a shell: /etc is a directory" (Tty and Shell share one refusal, host_io.Shell.refusal). shellset's golden takes the shared wording (re-recorded by name). Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r--docs/config.md5
1 files changed, 3 insertions, 2 deletions
diff --git a/docs/config.md b/docs/config.md
index 95f034d7..ebedc4d0 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -49,8 +49,9 @@ opens the file. Shell follows the same requested/effective/pending model as
Font. `Default shell` is the one used while no `Shell` is set: `$SHELL`, the
user's login shell, else `/bin/sh` (also when `$SHELL` names nothing
executable); an explicit `Shell` overrides it. `Shell <name or path>` is
-refused, `Shell: <it>: no executable by that name`, unless it names an
-executable (a bare name is looked for in the usual bin directories), and a
+refused unless it names an executable file (`Shell: no shell "x" (...)`, or
+`Shell: not a shell: /etc is a directory`; a bare name is looked for in the
+usual bin directories), as `Tty <shell>` is, and a
bare `Shell` goes back to the default. The root ctl reads `Shell <the one the
next terminal runs>`. `Shell
effective (last spawn)` is the executable the native host really chose after