The JOLT_TRACE opt-in was a top-level form in compile-eval.ss, so in a self-contained joltc it ran at heap-build time — where JOLT_TRACE is always unset — and never at runtime. `JOLT_TRACE=1 joltc -M:run` therefore produced no trace from the distributed binary (it worked only under the source-loaded dev launcher). REPL/nREPL tracing was unaffected (those enable at runtime). Make it a jolt-trace-init-from-env! fn called from the runtime entrypoints — the cli.ss dispatch and the built-joltc launcher — before any app namespace compiles, so the app's own code is traced. While here, drop a redundant trace print in the joltc launcher (jolt-report-throwable already emits it) that double-printed the block once tracing actually produced one. joltc-selfbuild-smoke asserts JOLT_TRACE=1 through the built binary yields exactly one tail-frame trace. |
||
|---|---|---|
| .. | ||
| chez | ||