Report source location on uncaught errors
Each top-level form records its source position (thread-local) before it compiles+evals, and cli.ss jolt-report-uncaught appends 'at file:line:col' when an error propagates out. Covers joltc -e, joltc run <file>, and load-string — every interpreted path. Top-level granularity, one set per form; deeper frames come from the Phase 2 frame walk. Runtime .ss only, no re-mint.
This commit is contained in:
parent
824fb347a3
commit
9bf3d1c80e
3 changed files with 43 additions and 0 deletions
|
|
@ -53,6 +53,9 @@
|
|||
(display "Unhandled exception: " port)
|
||||
(display (if (condition? v) (with-output-to-string (lambda () (display-condition v))) (jolt-pr-str v)) port)
|
||||
(newline port)))
|
||||
;; The top-level form that was evaluating when this propagated (file:line:col).
|
||||
(let ((loc (jolt-current-source-string)))
|
||||
(when loc (display " at " port) (display loc port) (newline port)))
|
||||
(exit 1)))
|
||||
|
||||
(guard (v (#t (jolt-report-uncaught v)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue