diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 08:00:41 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | ba0a0f82be43dde325012b3018b186bc808bdafc (patch) | |
| tree | b191c664840c11f8ab3a47c380a6a5f569ddb9b5 /docs/fs.md | |
| parent | 0b359e1f99f1a2630969c1c00b6c71db3b794ccd (diff) | |
| download | pardes-ba0a0f82be43dde325012b3018b186bc808bdafc.tar.gz pardes-ba0a0f82be43dde325012b3018b186bc808bdafc.zip | |
A Save whose write fails changes nothing: not the name, not the dirty flag
A scratch took its new name before the host wrote it, so `Save /root/x.txt`
failing with EACCES renamed it anyway; a failed write to another name
marked a clean file dirty. A scratch is now named once its write is done
(promoteSaved), and a failed write puts the saved revision back.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
| -rw-r--r-- | docs/fs.md | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -266,8 +266,10 @@ argument "Save"` (EINVAL), for a builtin that would have asked at a prompt lines before a failing one have taken effect and those after it never run, which is what acme's ctl loop does (editors/acme/xfid.c:600-790). An error that only happens as the editor performs what a line asked for -- a `Save` -whose disk write fails -- is reported in the editor and /log, not in the -write's answer. Like any write, a ctl write answers once the editor has +whose disk write fails -- fails the write too, once the editor has tried +(`Save /root/x.txt: access denied`, EIO), and changes nothing: a scratch +keeps its name and stays a scratch, a clean file stays clean, a dirty one +dirty. Like any write, a ctl write answers once the editor has performed what it asked for (a save written, a shell started). A click on the same word, or the word written to `exec`, still opens its prompt. |
