<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pardes.git/src/exec.zig, branch main</title>
<subtitle>Pardes</subtitle>
<id>https://git.0x4200.cafe/pardes.git/atom?h=main</id>
<link rel='self' href='https://git.0x4200.cafe/pardes.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/'/>
<updated>2026-10-01T14:18:32Z</updated>
<entry>
<title>A setting only the other frontend has (Font, GripWidth in a terminal) is passed over in the init file, not failed: one init file serves the window and the terminal</title>
<updated>2026-10-01T14:18:32Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T14:17:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=63d66e82a4ebbdf11cd12f8bc6f002075617fb94'/>
<id>urn:sha1:63d66e82a4ebbdf11cd12f8bc6f002075617fb94</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Saving the init file in a pane (Config) applies its settings at once; its commands are not run a second time</title>
<updated>2026-10-01T13:36:28Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T13:31:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=4db57bf5bd788a292fcf2cfbea3b6d8b281510f0'/>
<id>urn:sha1:4db57bf5bd788a292fcf2cfbea3b6d8b281510f0</id>
<content type='text'>
A setting changed in the init file took effect only at the next start.
The host's Save now hands a written init file's text back to the core,
which applies its setting lines again (each idempotent), with the same
notice and err for one that fails; a command line in it (`Newcol`)
belongs to the start and is left alone.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>The init file reads past a UTF-8 BOM, and every line it fails is said and logged with its line number, never silent</title>
<updated>2026-10-01T13:36:28Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T13:29:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=d3f60c930db06b540bb196b6323a88045e746bbf'/>
<id>urn:sha1:d3f60c930db06b540bb196b6323a88045e746bbf</id>
<content type='text'>
A BOM made the first word unknown, a word no builtin has was skipped
without a word, and a setting that refused its value said nothing (the
init file ran with announcing off). Each failing line now leaves a
notice and an `err - init file line N: &lt;why&gt;` record; `#` still starts
a comment only at a line's start, so `#ff0000` stays a value.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A bound REPL whose program exited is skipped, as the docs say: out of the question, the running one taking the text, and a done command REPL's tag says no id</title>
<updated>2026-10-01T13:36:27Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T13:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=1f2653d96656ab55956b5798bf637372ce337e29'/>
<id>urn:sha1:1f2653d96656ab55956b5798bf637372ce337e29</id>
<content type='text'>
Two bound REPLs always asked, an exited one offered and, chosen, sent
nothing. Now an exited one is left out: one still running takes the
text with no question, none running is said (`no program running`),
and nothing runs as a command. A command pane bound as a REPL whose
command is done no longer shows its id in the tag.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>An exec or Tty from a pane whose directory is a peer's path refuses before making any pane: `exec: &lt;dir&gt;: no such directory`, no `exit 127` pane left</title>
<updated>2026-10-01T13:36:27Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T13:04:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=3aa24c27c62c740cd7647831d0a14a9b180992da'/>
<id>urn:sha1:3aa24c27c62c740cd7647831d0a14a9b180992da</id>
<content type='text'>
A peer's directory (`/n/peer/x`) is no directory on this host, where the
shell starts, so a command there ran in a pane that could only say
`(pwd) exit 127`, and a Tty made a new/del pair. missingDir now counts
such a path missing, as it does a local directory that is not there.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A command or terminal pane refused for room is refused before anything is logged or answered of it, and a serial is never handed out twice</title>
<updated>2026-10-01T13:36:27Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T12:58:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=70881bb4edd15fe918ee5fed4ed3e8922bc7fc6a'/>
<id>urn:sha1:70881bb4edd15fe918ee5fed4ed3e8922bc7fc6a</id>
<content type='text'>
A command pane with no room logged `new N` and `run N ls`, was answered
to its exec, then went with `del N` and no `exit N`; and sync gave N
back (`next_serial -= 1`) to the next pane made, so a script holding N
found another pane under it. Tty did the same. Both now take a refused
placement back at once, before the run is logged or the serial answered
(the pane was never announced, so it leaves no record), and fail the
write with no room. The decrement is gone: gaps are fine, and a serial
once said names one pane for good.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A command pane an exec open was answered is leased to it while that open stays open: another client's command in the same directory gets a pane of its own</title>
<updated>2026-10-01T07:52:47Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T07:52:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=e7aaeca8e12887e2b90aae257c41efce6847c26d'/>
<id>urn:sha1:e7aaeca8e12887e2b90aae257c41efce6847c26d</id>
<content type='text'>
A finished command pane was the next command's for its directory, from
any client, so with four clients scripting one session, one read
another's output as its own last run. An open of a look or exec file
whose write was answered a pane's serial now holds that pane: reuse
passes over it and a new command pane runs the line. The open's own
next command may run there again, and once it is closed the directory's
one command pane is reused as before.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A command run from a pane gets acme's $winid, the serial of the pane it was run from; one from a column's or the workspace's tag gets none</title>
<updated>2026-10-01T03:12:18Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T02:32:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=48c129a701d60abdb836bbb400d949cc61ed2820'/>
<id>urn:sha1:48c129a701d60abdb836bbb400d949cc61ed2820</id>
<content type='text'>
PARDES_PANE names the command pane itself, so a script a click ran had
no way to address the pane it was run in, as acme's win scripts do with
$winid. The command pane now remembers that pane and its child gets
winid set to it; a header tag's command, which no pane owns, gets winid
unset. PARDES_PANE is unchanged.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>One diff-aware expansion for a click, a 9P whole-line look and an empty event write-back; a blank context line resolves to its path:line</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T01:58:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=c27222be8ba77a3a6bdda16978f3001510bde055'/>
<id>urn:sha1:c27222be8ba77a3a6bdda16978f3001510bde055</id>
<content type='text'>
The mouse expanded a diff line by its kind (a header or a hunk line's
prefix to the line's address, a hunk line's code to words), but an
empty look written back to event used the plain word expansion, so ML
on a `+` took nothing, and a 9P look of a blank context line (` `) was
refused as whitespace. look.diffClick is now the one answer: the
mouse, the whole-line look and the event write-back all ask it, and a
blank context line is a line like any other. A test asks all three on
each kind of line.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>With several REPLs bound for a language the pane always asks which, as documented, whether or not a program runs in each</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T00:44:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=dd71a3433fa026794ffc5cc1dd3435984f693540'/>
<id>urn:sha1:dd71a3433fa026794ffc5cc1dd3435984f693540</id>
<content type='text'>
Only REPLs with a program running were counted, so with two bound and
one at its shell prompt the text went to the other without a word,
and which REPL got it depended on what happened to be running. All
bound REPLs are offered now; one chosen with no program running is
sent nothing and says so.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
