diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/divergences.md | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/docs/divergences.md b/docs/divergences.md index fada830c..6679d962 100644 --- a/docs/divergences.md +++ b/docs/divergences.md @@ -43,17 +43,41 @@ there, deliberately, because that box serves a public site. ## Known-failing on `main`, not caused by the 9P work -* **`zig build fs-test`** fails on a syntax-highlighting assertion — the - word `fn` is expected bold and comes back unstyled: +* **`zig build snap` fails `nested-optout`, and the cause is a real bug.** + At the SECOND level of nesting -- a pardes whose shell runs a pardes whose + shell runs a command -- two U+E016 codepoints are prepended to whatever is + typed. U+E016 is 57366, which is vaxis's private-use spelling of **F3** + (`Key.zig`, "kitty encodes these keys directly in the private use area"), so + something in the chain is decoding a capability-query REPLY as a key and + forwarding it to the shell as text. bash then sees + `$'\356\200\226\356\200\226echo'` and answers `command not found`; with a + path it answers `No such file or directory` for a path that exists and runs + perfectly from the same shell a moment later. + + Minimal repro, in a snapshot script: ``` - AssertionError: ('fn', [{'fg': {'rgb': [201, 176, 228]}, ..., 'bold': False}, ...]) + dirmk innerdir + file innerdir/deeper.txt deepest-marker\n + start 31 100 + wait 8000 $ + stable 700 20000 + text (cd innerdir && $(readlink /proc/$PPID/exe) --nested) + key enter + wait 20000 cwd/innerdir + stable 700 20000 + text E=$(readlink /proc/$PPID/exe); "$E" deeper.txt + key enter + settle 5000 + stable 700 10000 + snap probe ``` - Verified by restoring `main`'s own `src/9p_io.zig`, `build.zig` and - `build.zig.zon` and re-running: it fails identically. The editor line - (`rruwvuzm`) has substantial `src/syntax.zig` changes and may well be the - fix in progress. + `bash: E=/home/.../pardes: No such file or directory` -- bash did not even + parse the assignment, because the line does not start where it looks like it + starts. `--nested` is exactly the flag meant to opt a child out of this, so + the fix belongs next to the key-forwarding path in `panes.Terminal.forwardKey` + and whatever answers terminal capability queries on a nested stdin. * **pardes does not start headless.** `pardes --9p=<name>` with no terminal exits 1 from the argument-forwarding path; the installed build fails |
