From 74db0ccf8162e8c15f21d73168b13fdc86b12ee3 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Tue, 29 Sep 2026 07:31:54 -0300 Subject: A name written with a blank at either end is refused, not quietly trimmed `name` trimmed blanks off both ends, so `trailing.zig ` named another file than the one written without a word. acme refuses any blank in a name, `bad character in file name` (xfid.c:650); pardes takes one inside (it names files with spaces) and now refuses one at an end, and a control character, in acme's words. Co-Authored-By: Claude Opus 5.5 --- docs/fs.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/fs.md b/docs/fs.md index 36fc7d7a..8e70af3e 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -496,7 +496,10 @@ selection, and leaves `look` reading back empty. `/pane//name` reads the pane's file name (a terminal's directory) and writing it renames the buffer; a relative name resolves against the pane's -directory. `body` appends on write and replaces on truncating open. A +directory. The write is the name and its newline, nothing trimmed: a blank +inside a name is taken (`two words.zig`), but one at either end, or a +control character, is refused, `bad character in file name` (EINVAL), as +acme refuses a blank (xfid.c:650), rather than quietly cut off. `body` appends on write and replaces on truncating open. A terminal's `body` is its history as plain text, frozen per open, in logical lines: a row the terminal wrapped is joined back to the row before it (the wrap is ghostty's, as `pty/run`'s output unwraps), and the last line ends -- cgit v1.3