Joseph Ferano d9ce1baa53 Take the abort, and refuse a name that is two requests
Every check of `abort' so far was of it being refused while the program runs.
The accepted path -- the one that ends a program -- was code that had never
run and answered `ok'. So the break block breaks its program once more, by
installing a `step' that errors into the loop that calls it, and takes the
exit: the daemon owns the program's lifetime, so no `close' is sent and the
daemon coming down on its own is the assertion.

And `restart' refuses a name with a control character in it. The agent's
contract is one line per request; a newline in a name is a second request
smuggled into the first. `completing-read' with require-match cannot produce
one, but the guarantee belongs to the end holding the socket, and an editor
is not the only thing that can speak to it.
2026-09-11 19:42:23 +07:00
..
2026-09-11 12:23:10 +07:00
2026-09-10 14:40:34 +07:00
2026-09-11 12:23:10 +07:00
2026-09-10 14:40:34 +07:00
2026-09-11 12:23:10 +07:00
2026-09-10 14:40:34 +07:00
2026-09-11 12:23:10 +07:00
2026-09-10 18:55:55 +07:00