mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 08:02:24 +00:00
A save is an overwrite of a file that already exists, and the mode belongs to the file rather than to the write. A host that wrote by creating a fresh file, or by sending the far side an explicit set of attributes, would turn a script into something the shell no longer runs — silently, on a save the user made for an unrelated reason, with nothing in the UI to report it. Both hosts already get this right; nothing here is a fix. It is the case that keeps them right, and it runs against the remote link too, where the write is a control request rather than a syscall. Checked by making the local write a remove-then-create: the case fails, as it should. The two sandbox hooks follow the existing symlink one — a host with no notion of an executable bit returns None and the case skips.