summaryrefslogtreecommitdiff
path: root/src/fs.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 15:47:52 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commitc2e58c827bd8d2497c86b2eca23ac096cb972296 (patch)
treeb9e46bee4978e97952d377b6e21f20338dc08d2c /src/fs.zig
parent9babe3a63ca06b4b0248d1d21ccb74687c5b188d (diff)
downloadpardes-c2e58c827bd8d2497c86b2eca23ac096cb972296.tar.gz
pardes-c2e58c827bd8d2497c86b2eca23ac096cb972296.zip
A ctl or exec line with no newline runs with its write and fails it, unless it needs more
A last line with no newline was held to the close, so printf bogus > ctl answered 0 and failed only in the log, Edit ,s/zzz/y/ too. A write shorter than its Twrite is the whole of what was written (acme takes each write whole): its tail runs then and a failure is the write's. It is held only when the parser says it needs more -- an open { block, an a/c/i text -- or when the write filled its Twrite and may go on (the listener tells the core the room, msize less its header). Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/fs.zig')
-rw-r--r--src/fs.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/fs.zig b/src/fs.zig
index 753a4446..845e6424 100644
--- a/src/fs.zig
+++ b/src/fs.zig
@@ -1326,6 +1326,10 @@ pub const Namespace = struct {
/// A 9P write asked a language server something: the answer count it
/// waits to change (`turn.lsp_answers`), so its failure is the write's.
lsp_answer_at: ?u64 = null,
+ /// The most a Twrite of the request being served can carry (msize less
+ /// its header), 0 when unknown: a write shorter than it is the whole of
+ /// what its client wrote, one that fills it may be cut and go on.
+ write_room: u32 = 0,
/// The serial of the pane the root's exec or look last ran a line at
/// (the keyboard's), 0 before one: its err record names that pane.
ran_at: u32 = 0,