summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 09:52:33 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commita72d0c6650242a9b02858de7020e9a4ae387ebba (patch)
tree8f3d44da4e32ad85bf7abf52c2852dbe62a7904f /docs/fs.md
parentad3403adb72e3457eb76d6b3fc91cf8df3d738ae (diff)
downloadpardes-a72d0c6650242a9b02858de7020e9a4ae387ebba.tar.gz
pardes-a72d0c6650242a9b02858de7020e9a4ae387ebba.zip
A name shows its own backslash as \\, and a terminal tag never carries a raw newline
With `\n` for a newline and `\xNN` for a bad byte, a name holding a backslash and an n read back as one holding a newline. Names in /index, the log and a terminal's tag now double their own backslashes; and a terminal's directory with a newline no longer breaks its tag. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/fs.md b/docs/fs.md
index c3c42d0d..72789182 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -100,7 +100,8 @@ 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`)
+ (the name as the log shows it: one line of UTF-8, a newline in it `\n`,
+ a backslash `\\`, a byte not UTF-8 `\xNN`)
/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)
@@ -834,9 +835,10 @@ 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; 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.
+line of UTF-8; a pane's name, in a record, in `/index` and in a terminal's
+tag alike, shows a newline in it as `\n` rather than a space and its own
+backslash as `\\`, so a directory named with a newline and one named
+with a backslash and an `n` read back differently, as what they are.
(An `event` record is not: acme's `<origin><action><q0> <q1> <flag> <n>
<text>\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