From 20685b048fcb307840451471679339c9b9704b23 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 21:29:39 -0300 Subject: name takes any byte a file name can hold, controls, edge blanks and bytes not UTF-8 included, so what name reads writes back as it was A pane opened on a file whose name held a tab, a control byte or bytes not UTF-8 read that name from its name file, and the same bytes written back were refused. Only what no file name holds is refused now: a second line and a NUL. The ctl word name still refuses a second blank after the word, as a line's words are split at blanks. Co-Authored-By: Claude Opus 5.5 --- docs/fs.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/fs.md b/docs/fs.md index d8324d47..c01587a1 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -407,10 +407,12 @@ no pane anywhere can give them. **`name`** reads the file name (a terminal's directory); a write renames the 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. A directory (`/`, `~`, `foo/`) is no file name: refused, EISDIR +then writes under the new name. A name takes any byte a file name can +hold, blanks, control bytes and bytes not UTF-8 included, so what `name` +reads writes back as it was; refused (EINVAL) are only a second line and a +NUL (`bad character in file name: a NUL`). Up to 255 bytes a component. +The ctl word `name x` takes all after its one blank; a second blank there +is refused rather than read as the name's first byte. 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. -- cgit v1.3