Under whole-program (deps-image cache active), `jolt -m NS ARG` dropped ARG: run-main set *command-line-args* on the current ctx, but a cache HIT then replaced ctx with the saved image (via `set ctx cached`), whose *command-line- args* was whatever got baked when the image was saved. The stale binding won at `(apply NS/-main *command-line-args*)`, so -main ran with the wrong (usually default) args — silently, for any optimized -m program. Move set-command-line-args to AFTER the cache swap so it binds on the final ctx. Repro/regression in deps-cache-args-test.janet: first run builds the image (arg "first"), second run (cache hit) must echo "second", not the baked "first". |
||
|---|---|---|
| .. | ||
| bench | ||
| clojure-stdlib/clojure | ||
| integration | ||
| spec | ||
| support | ||
| unit | ||