|
|
|
|
@ -197,13 +197,57 @@ Acceptance: from a clean checkout plus a punk-getzig-fetched pinned zig, the sui
|
|
|
|
|
- The 0.15.2 migration remains parked (transformer script + findings preserved; |
|
|
|
|
increment-2 record). |
|
|
|
|
|
|
|
|
|
### 2026-07-20 increment 4: vqtcl retired; Tcl-testsuite action; zig 0.16.0 migration experiment SUCCEEDS |
|
|
|
|
|
|
|
|
|
New user direction this increment: punk-getzig's 0.15.2 pin was incidental (no need to |
|
|
|
|
target 0.15 at all - jump to current 0.16.0 if practical); the suite should exercise |
|
|
|
|
the Tcl core testsuite on its built shell; Tk (core.tcl-lang.org/tk) must be built to |
|
|
|
|
run all punkshell tests; tcllib + critcl-built accelerators matter (tcllibc - punkcheck |
|
|
|
|
hashing is very slow without it); vlerq/vqtcl to be cleaned out (old-tclkit attempt; |
|
|
|
|
future tclkit work references TEMP_REFERENCE/metakit + TEMP_REFERENCE/KitCreator). |
|
|
|
|
|
|
|
|
|
- vqtcl/vlerq removed from the suite (wiring, helper module, staging, docs) - also |
|
|
|
|
removes the only non-public source dependency. Committed 1664e9ba. |
|
|
|
|
- New `suite.tcl test` action runs tests/all.tcl on the suite-built static shell with |
|
|
|
|
-testargs passthrough. Enabled by syncing the 2024-era hardcoded tm install names to |
|
|
|
|
the tree's provided versions (tcltest-2.5.11, http-2.10.2, platform-1.1.1 - the old |
|
|
|
|
names made 'package require tcltest' fail on a filename/provide conflict). |
|
|
|
|
- Full Tcl core testsuite on the 0.14.1-built shell: Total 66350, Passed 54825, |
|
|
|
|
Skipped 11453 (largely no-C-test-commands constraints in a release shell), |
|
|
|
|
FAILED 72. Triage of the 72 is PENDING (compare against the native-runtime baseline |
|
|
|
|
- memory records exec-14.3 as the only native-baseline failure on this machine; |
|
|
|
|
static/zipfs/no-dde-reg differences are the likely classes). Note all.tcl exited 0 |
|
|
|
|
despite failures - the driver should parse the totals line rather than trust the |
|
|
|
|
exit code (todo). |
|
|
|
|
- zig 0.16.0 (official, current per ziglang.org) fetched via community mirror, |
|
|
|
|
minisign-verified, extracted to bin/tools/zig-x86_64-windows-0.16.0. Migration |
|
|
|
|
EXPERIMENT (in _build/suite_tcl90/build016, tracked suite untouched): the 0.15-era |
|
|
|
|
transformer (root_module/createModule, addLibrary+linkage, array_list.Managed, |
|
|
|
|
b.graph.host) plus these 0.16 deltas: std.fs.cwd dir-walks -> std.Io.Dir.cwd() with |
|
|
|
|
b.graph.io threaded through (3 sites); Compile forwarders gone -> .root_module.* |
|
|
|
|
sweep (addCSourceFile(s)/addIncludePath/addObjectFile/addLibraryPath/linkLibrary/ |
|
|
|
|
addWin32ResourceFile; linkLibC() -> root_module.link_libc = true; |
|
|
|
|
linkSystemLibrary needs an options arg, linkSystemLibrary2 merged into it); |
|
|
|
|
wrapfiletofile tool ported to the 0.16 entry idiom (main(init: process.Init.Minimal), |
|
|
|
|
init.args.toSlice, std.Io.Threaded io instance, Io.Dir readFileAlloc/createFile, |
|
|
|
|
File.writeStreamingAll, cleanExit(io)); slice-of-strings debug.print loop-ified. |
|
|
|
|
mingw_unicode_entry_point SURVIVES in 0.16. RESULT: full build PASS under 0.16.0 |
|
|
|
|
(install + install-libraries + make-zipfs), both shells report 9.0.5, and the |
|
|
|
|
3-file tcl-test parity run is IDENTICAL to the 0.14.1 build (557/357/200/0). |
|
|
|
|
- Direction assessment recorded for the user: 0.16 adoption is practical at bounded |
|
|
|
|
cost (one sitting); recommendation is to adopt 0.16.0 as the suite pin (deprecating |
|
|
|
|
0.14 per the user's stated intent), land the ported recipe from build016, host the |
|
|
|
|
0.16.0 archive on punkbin, and only then write the NEW recipe code (Tk, tcllib |
|
|
|
|
accelerators via critcl driving zig cc) once against the final API. Tk/tcllib/ |
|
|
|
|
critcl/testsuite-gating are new scope vs this goal's contract - candidate follow-on |
|
|
|
|
goal to draft (proposal-first). |
|
|
|
|
|
|
|
|
|
Remaining for acceptance: |
|
|
|
|
|
|
|
|
|
- punk-getzig per-version fetch argument, so the wrapper itself can materialize the |
|
|
|
|
suite's pinned 0.14.1 (currently it installs only its own single pin, 0.15.2, to |
|
|
|
|
bin/tools/zig; the suite pin was materialized by the same fetch+minisign flow |
|
|
|
|
manually and is hosted on punkbin). Payload growth needs the 512-byte spacer |
|
|
|
|
check on re-wrap. |
|
|
|
|
suite's pinned zig (pin currently 0.14.1; 0.16.0 adoption decision with the user - |
|
|
|
|
the ported recipe awaits in _build/suite_tcl90/build016). Payload growth needs the |
|
|
|
|
512-byte spacer check on re-wrap. |
|
|
|
|
- Rebase the piperepl patch onto current core-9-0-branch sources; build a |
|
|
|
|
piperepl-enabled variant; behaviour matrix (TCLSH_PIPEREPL unset == stock on |
|
|
|
|
tty/piped/script-arg forms; =1 with a script setting ::tclsh(dorepl) 1 -> live |
|
|
|
|
|