summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/divergences.md38
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