summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.agents/skills/pardes-9p/SKILL.md3
-rw-r--r--docs/tags.md4
2 files changed, 5 insertions, 2 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md
index e5affebe..4a9c0940 100644
--- a/.agents/skills/pardes-9p/SKILL.md
+++ b/.agents/skills/pardes-9p/SKILL.md
@@ -219,7 +219,8 @@ Rename everywhere, or any sam edit, is one write: `echo 'Edit ,x/foo/c/bar/'
v c a i d s p = m t u` and `{ }` (commands in braces one to a line, so from
exec or a tag, not a one-line ctl write). Its changes are one undo step, and
one that fails changes nothing and fails the write with acme's words (`Edit:
-no substitution`), logged as `err`. A block goes to the pane's `ctl`, the
+no substitution`), logged as `err`; an `x` that finds nothing is no failure
+(sam's), so `,x/zzz/c/bar/` with no `zzz` succeeds silently. A block goes to the pane's `ctl`, the
root `ctl` (the active pane) or `exec` on one open, in one write or several
(bash's `printf` writes line by line): an `Edit` line takes the lines after it
until its `{` closes or its `a`/`c`/`i` text ends with `.`, and runs then. `sel`
diff --git a/docs/tags.md b/docs/tags.md
index d79c64b5..c2d92b9a 100644
--- a/docs/tags.md
+++ b/docs/tags.md
@@ -78,7 +78,9 @@ sequence with a warning, pardes refuses the Edit. In `s`, `&` in the
replacement is the matched text (`\&` a plain `&`); in `c`, `a` and `i` an
`&` is only an `&`, as in sam. A pattern that finds nothing says so with the
pattern (`no match for regexp /nomatch/`), and an `s` on an empty dot says
-`no substitution: dot is empty`.
+`no substitution: dot is empty`. A loop that finds nothing is no error, as
+in sam: `Edit ,x/zzz/c/bar/` with no `zzz` changes nothing and succeeds,
+silent, where `,s/zzz/bar/` says `no substitution`.
`Undo` and `Redo` are acme's: typed or clicked in a pane's tag, or written
to its `ctl`, they step the body back and forward through its edits, as the