diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 17:11:35 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:17 -0300 |
| commit | 290584fc1127d017603c7c98c9aab27c0523a2cf (patch) | |
| tree | 88b1650cc9717414a54e7982d72f2d2660802847 /.agents | |
| parent | a76971c9a4cfb84258203f01c7ba5f4927790201 (diff) | |
| download | pardes-290584fc1127d017603c7c98c9aab27c0523a2cf.tar.gz pardes-290584fc1127d017603c7c98c9aab27c0523a2cf.zip | |
The README and the 9P skill warn that plan9port's 9p write always truncates, so it replaces a body
acme ignores OTRUNC, pardes honours it, and 9p write sets it on every open: a pipe into body that appended under acme replaces the text here. The fix is >> through a mount.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to '.agents')
| -rw-r--r-- | .agents/skills/pardes-9p/SKILL.md | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md index eb5a26e1..94ad0de8 100644 --- a/.agents/skills/pardes-9p/SKILL.md +++ b/.agents/skills/pardes-9p/SKILL.md @@ -275,6 +275,8 @@ A `+New` scratch counts as unsaved (and holds up Exit, Restore, Del) only once it holds 100 bytes or more. A read of `data` or `xdata` moves `addr` past what it read, as in acme. Truncating `data` is pardes's own (acme ignores OTRUNC and always inserts). +plan9port's `9p write` always opens with OTRUNC, so `… | 9p write pane/body` +replaces the whole body: append with `>>` through a mount instead. | Read the selection | `cat $pane/dot` (offsets), `cat $pane/sel` (text) | the same two reads | | Select the addressed range | `cp $pane/addr $pane/dot` | `client.write(pane + '/dot', client.read(pane + '/addr'))` | | Reload from disk | `echo get > $pane/ctl` (refused once while there are unsaved edits; again discards) | `client.write(pane + '/ctl', b'get\n')` | |
