summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/fs.md3
-rw-r--r--src/exec.zig5
-rw-r--r--src/ninep/ctl.zig2
3 files changed, 8 insertions, 2 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 58ba0539..33f70644 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -214,7 +214,8 @@ A line written to `exec` is a middle click:
`wrong #args in control message "Msg"`.
- acme's words run as pardes's where it has one (`Put` is `Save`, `Delete`
a `Del` that does not ask); the rest (`Get`, `Putall`, `Snarf`, `Cut`,
- `Paste`, `Zerox`, `Sort`, `Load`, `ID`, `Send`) are refused, `invalid:
+ `Paste`, `Zerox`, `Sort`, `Load`, `ID`, `Send`, `Tab`, `Indent`, `Local`,
+ `Incl`, `Abort`) are refused, `invalid:
acme's Get is not a pardes builtin: ...`, never run as commands. So is a
GUI-only builtin (`Fonts`) on another frontend.
- anything else is a command line, at most 1024 bytes. At a terminal idle
diff --git a/src/exec.zig b/src/exec.zig
index 5b0b0250..eed9297a 100644
--- a/src/exec.zig
+++ b/src/exec.zig
@@ -828,6 +828,11 @@ pub const acme_words = [_]struct { acme: []const u8, pardes: ?[]const u8, hint:
.{ .acme = "Load", .pardes = null, .hint = ": Restore loads a dump" },
.{ .acme = "ID", .pardes = null },
.{ .acme = "Send", .pardes = null },
+ .{ .acme = "Tab", .pardes = null },
+ .{ .acme = "Indent", .pardes = null },
+ .{ .acme = "Local", .pardes = null },
+ .{ .acme = "Incl", .pardes = null },
+ .{ .acme = "Abort", .pardes = null },
};
pub fn executeBuiltinLine(p: *Pardes, id: usize, txt: []const u8) bool {
diff --git a/src/ninep/ctl.zig b/src/ninep/ctl.zig
index d86d6047..98980f2c 100644
--- a/src/ninep/ctl.zig
+++ b/src/ninep/ctl.zig
@@ -2439,7 +2439,7 @@ test "acme's words run as pardes's (Put is Save, Delete a Del that does not ask)
const p = try withFile(testing.allocator, "x\n");
defer p.deinit();
const serial = serialOf(p);
- for ([_][]const u8{ "Snarf\n", "Putall\n", "Zerox\n", "Get\n" }) |line| {
+ for ([_][]const u8{ "Snarf\n", "Putall\n", "Zerox\n", "Get\n", "Tab\n", "Indent\n", "Local\n", "Incl\n", "Abort\n" }) |line| {
for ([_]u64{ Node.of(serial, .ctl), Node.of(serial, .exec) }) |node| {
const r = wr(p, node, line);
try testing.expectEqual(E.INVAL, r.errno());