summaryrefslogtreecommitdiff
path: root/src/ninep/ctl.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 02:20:12 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commita4a8b1874d477498fb427f8e2f63382c99f618a0 (patch)
tree40f7117b6ea5848e0495a2cf075898e049bf0871 /src/ninep/ctl.zig
parent964709e115126aafa6fd5d8c984d511cf68cecaf (diff)
downloadpardes-a4a8b1874d477498fb427f8e2f63382c99f618a0.tar.gz
pardes-a4a8b1874d477498fb427f8e2f63382c99f618a0.zip
A msg said again word for word is that line counted in the log
1000 Undos with nothing left made 2000 log lines: the Verbose announcement and the answer each time. A msg repeating the newest record is now that record counted, (xN), as err's already were (shared as pushCounting), unless a follower has read it; and a builtin's own words that start with its name take the place of its announcement just before them. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/ninep/ctl.zig')
-rw-r--r--src/ninep/ctl.zig7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ninep/ctl.zig b/src/ninep/ctl.zig
index d6922390..8a35c381 100644
--- a/src/ninep/ctl.zig
+++ b/src/ninep/ctl.zig
@@ -730,6 +730,9 @@ test "Undo and Redo on a pane's ctl step its body through its edits" {
_ = wr(p, Node.of(serial, .ctl), "Undo");
try testing.expectEqual(Status.ok, wr(p, Node.of(serial, .ctl), "Undo").reply.status);
try testing.expect(th.logHas(p, "Undo: nothing to undo"));
+ // Said again word for word, it is that line counted, as err's are.
+ for (0..3) |_| _ = wr(p, Node.of(serial, .ctl), "Undo");
+ try testing.expect(th.logHas(p, "Undo: nothing to undo (x4)\n"));
}
test "focus reads the pane with the keyboard, and a serial written to it moves the keyboard there" {
@@ -971,8 +974,8 @@ test "a message from a root ctl write is the session's in the log" {
const frozen = call(p, .{ .tag = 2, .op = .read, .node = log, .handle = f, .size = 8192 }).bytes.len;
_ = call(p, .{ .tag = 3, .op = .write, .node = log, .handle = f, .data = "follow" });
try testing.expectEqual(Status.ok, wr(p, @intFromEnum(tree.TopFile.ctl), "Kill\n").reply.status);
- // The builtin's name, then what it said: both the session's.
- try testing.expectEqualStrings("msg - Kill\n", call(p, .{ .tag = 4, .op = .read, .node = log, .handle = f, .off = frozen, .size = 4096 }).bytes);
+ // What it said, the session's; its own words name it, so its Verbose
+ // announcement gives way to them.
try testing.expectEqualStrings("msg - Kill: nothing running\n", call(p, .{ .tag = 5, .op = .read, .node = log, .handle = f, .off = frozen, .size = 4096 }).bytes);
}