summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/fs.md12
1 files changed, 10 insertions, 2 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 760693e5..52f991c2 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -819,9 +819,17 @@ nothing empties it rather than leave the last rows), while a plain
word's `LookWord list` search keeps a pane a pattern, ENOSPC for no room or
slot, EBUSY for a held lock) -- and logs its reason exactly once, as `err <serial|->
<file>: <why>`, with no `msg` for it. A builtin a click runs (Save, get's
-`Modified`, Tty with no room, Edit) is no exception. What is not a
+`Modified`, Tty with no room, Edit) is no exception. The rule is a write's:
+a refused open or truncation -- an OTRUNC open, such as `data`'s after a
+failed `addr` --, create or remove answers its error and
+logs no `err`, and so do a write to `pane/new` (`permission denied`: it is
+only read) and a write on a fid opened OREAD (`bad use of fid`). Every
+refusal is said in words, Plan 9's where pardes has none of its own
+(`permission denied`, `file does not exist`, `bad argument`), never a C
+library string such as `Operation not permitted`. What is not a
failure: a look that finds nothing answers nothing and logs one `err`
-(`look: no match for ...`, the same miss again counted, `(x2)`, as any
+(`look: no match for ...`, quoting what was written in every form --
+`no match for "zzq:#3"`, `no match for "zzq:2"` -- the same miss again counted, `(x2)`, as any
repeated `err` is), the write succeeding; and a command line run in
a command pane ends in its own time, told by its `exit` record.