From daf833bccf5aca958593738ecc59fd58dbb697b6 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 17:35:15 -0300 Subject: name refuses a directory, EISDIR, when written, not at the Save that could only fail `name ~`, `name /` or `name foo/` renamed the pane to a directory, and only its Save failed later. A name ending in `/`, the root, or one naming a directory that is there is now refused at once, with words a mount reads as EISDIR (`name: is a directory, not a file`). The ctl word name and a forwarded `pardes ~` go through the same check. fs.md says so. Co-Authored-By: Claude Opus 5.5 --- docs/fs.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs/fs.md') diff --git a/docs/fs.md b/docs/fs.md index dacb49ba..041f3389 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -397,7 +397,8 @@ buffer (relative to the pane's directory) and marks nothing dirty; `Save` then writes under the new name. A name is one line; refused (EINVAL) are a second line, a blank at either end, control bytes and non-UTF-8 (`bad character in file name: a blank at its start`, ...). Up to 255 bytes a -component. +component. A directory (`/`, `~`, `foo/`) is no file name: refused, EISDIR +(`name: /home/u is a directory, not a file`). **`body`** reads the text; a write appends; `>` (OTRUNC) replaces it all. A terminal's body is its history as plain text in logical lines (wrapped -- cgit v1.3