Browse Source
All tcl9 zip kits failed the 'shell' subcommand with "could not find interpreter code": the repl codethread could not resolve root-level tm packages (commandstack, via punk::packagepreference) after any subdir tm (punk::args) had resolved on the same path. zipfs_tm_UnknownHandler's static-path can_skip_update state was WRITTEN keyed by the tm-list root (currentsearchpath) but READ keyed by the namespace-subdir searchpath actually scanned (specificsearchpath) - so a punk/ scan poisoned the ROOT's skip map and later root-level requires were skipped as known-absent. Only zipfs tm paths take the skip branch, which is why src/dev filesystem launches never showed it; kits have exactly one (zipfs) tm path so every shell boot hit it. Independent of the epoch-copy unsoundness fixed earlier today (reproduced with a fresh libunknown init). Fix: both added-map writes now key by specificsearchpath, matching the reader and libunknown::init's indexbase keying. Version bumped to 0.2.1 with history note (the file rename itself rode the previous commit via a staged git mv; this commit carries the 0.2.1 content). _vfscommon refreshed via make.tcl modules + vfscommonupdate + vfs (also picks up today's punk::lib epoch-export, punk::repl collect-guard and punk::config PUNK_FOSSIL_STORE changes); 5 kits rebuilt. Verified: ordered probe (subdir-then-root require in a fresh thread) fails on kit-bundled 0.2.0, passes with 0.2.1; 'shell' now reaches the repl and evaluates on punk905_beta, punk902z and punk91; full native runtests sweep twice at machine baseline (1037/1021/15/1 exec-14.3 only). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.commaster
5 changed files with 142 additions and 36 deletions
Loading…
Reference in new issue