summaryrefslogtreecommitdiff
path: root/.agents
diff options
context:
space:
mode:
Diffstat (limited to '.agents')
-rw-r--r--.agents/skills/pardes-9p/SKILL.md8
1 files changed, 7 insertions, 1 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md
index 7e61b73d..0207f14c 100644
--- a/.agents/skills/pardes-9p/SKILL.md
+++ b/.agents/skills/pardes-9p/SKILL.md
@@ -126,7 +126,13 @@ For a file or scratch pane, with `pane=$m/pane/<serial>`:
`addr`, `dot` and `limit` each read the pair of offsets they also accept, which
is why copying one onto another is all that acme's `addr=dot`, `dot=addr` and
`limit=addr` ever were; a write may also be an address expression (`#0,#5`,
-`/pattern/`, `2+1`). Moving `dot` scrolls the pane to it. `limit` bounds a
+`/pattern/`, `2+1`), whose regexps are mvzr's searched as sam searches:
+`^`/`$` match at any line's start and end, `.` and `[^...]` never match a
+newline, the leftmost match wins (the first alternative there, not the
+longest), and `/re/` wraps unless `limit` is set. A failed address says
+why (`no match for regexp`, `address out of range`) and leaves no address:
+`data` refuses until the next good one, so a missed target is never
+written at the old one. Moving `dot` scrolls the pane to it. `limit` bounds a
search and reads empty until set; truncate it to lift it.
`dirty`, `mark` and `scroll` read `0` or `1` and take `0` or `1`: whether the