From 36241daca2aaf90cc8933dffd95fc3cd6216e2b7 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Tue, 29 Sep 2026 09:13:55 -0300 Subject: /index shows names as the log does, one line of UTF-8, and a newline in a name as \n /index printed a name as it was, so a directory with a newline in it split its row in two, and bytes not UTF-8 went through; the log turned the newline into a space, silently another name. Both now show a name one way: a newline `\n`, other controls, DEL and C1 a space, bytes not UTF-8 `\xNN`. 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 ffce848e..8ca23c85 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -100,6 +100,7 @@ Existing Plan9port/v9fs clients need a userspace bridge for QUIC. ``` /README this guide, also src/fs-help.txt /index one line per pane: serial, kind (text|term|pdf|image), dirty flag, name, column serial + (the name as the log shows it: one line of UTF-8, a newline in it `\n`) /status pid, version and pane count /look write a line: a right click on it at the active pane; read: the serials the last look, exec or ctl write touched (made, else acted at) @@ -824,7 +825,9 @@ takes \`follow\` or \`follow new\``, `invalid write: this pane has no text`), never a bare `Invalid argument`. Control characters, DEL and C1 controls (U+0080-U+009F) in a record become spaces, and a byte that is not UTF-8 is written `\xNN`, so a record is one -line of UTF-8. +line of UTF-8; a pane's name, in a record and in `/index` alike, shows a +newline in it as `\n` rather than a space, so a directory named with one +reads back as what it is. (An `event` record is not: acme's ` \n`, whose text may hold newlines. The origin is `E` (a 9P write to body or tag), `F` (other files, the editor's own lines), `K` (the keyboard) or `M` (the mouse); the -- cgit v1.3