diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-03 13:11:24 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-09-03 13:11:24 -0300 |
| commit | 7c6165f184e45af30ac697f8e8a584529ac4a287 (patch) | |
| tree | a03b6bc02ba77c7abe503a304370a59fd9a17e9c /src/CHANGELOG.md | |
| parent | e81b63106b83bce66641e8dd27d6aa348252baf1 (diff) | |
| download | pardes-7c6165f184e45af30ac697f8e8a584529ac4a287.tar.gz pardes-7c6165f184e45af30ac697f8e8a584529ac4a287.zip | |
boot: argv naming nothing opens an errors pane, not a stack trace
`pardes nosuchfile` returned error.BadArgs out of nativeMain, which std prints
as `error: BadArgs` with a return trace under it — indistinguishable from a
crash, for a typo, and it left the human with no editor at all. A launch that
names something look.resolve cannot make a target of now boots one +Errors pane
filling the window, saying `file or directory not found` and the argument AS
TYPED: acme's own vocabulary for output that came from the program rather than
from a word somebody clicked, and the word rather than a resolved path because
`pardes ~/notes/tdoo.md` wants to see its own typo back.
A chdir that fails on a directory that really is one stays BadArgs. That is a
permission problem rather than a typo, and the two want different answers.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_016Q4RATpafkwahrovHQLKRf
Diffstat (limited to 'src/CHANGELOG.md')
| -rw-r--r-- | src/CHANGELOG.md | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/CHANGELOG.md b/src/CHANGELOG.md index 66c9fb0c..4cef906d 100644 --- a/src/CHANGELOG.md +++ b/src/CHANGELOG.md @@ -50,6 +50,16 @@ is one a v1 daemon panics encoding, so a mixed pair — `zig build` replacing the binary under a running session — meets a `Refusal.version` instead of losing every pane shell the daemon owns. +- `pardes nosuchfile` opens an editor. It used to return `BadArgs` out of + `main`, which std prints as `error: BadArgs` with a return trace under it: + indistinguishable from a crash, for a typo, and it left the human with no + editor at all. A launch that names nothing now boots one `+Errors` pane + filling the window — acme's own vocabulary for output that came from the + program rather than from a word somebody clicked — saying `file or directory + not found` and the argument AS TYPED. A `chdir` that fails on a directory + that really is one is still `BadArgs`: that is a permission problem, not a + typo, and the two want different answers. + - A filtered terminal costs what an unfiltered one does. `Filter`'s second stage asked `RGB.contrast` for every cell it painted, and that call ends in `std.math.pow` six times over — a libm round trip per cell, per frame, to |
