All checks were successful
/ test (push) Successful in 6s
Try and improve the print-backtrace-and-exception/knots output, be selective about the stack frames which are shown to try and produce some useful output which reflects user code and hide the &knots-exceptions. This commit also introduces a bunch of tests scripts that produce output from print-backtrace-and-exception/knots, to help test this code in different situations.
26 lines
603 B
Scheme
26 lines
603 B
Scheme
(use-modules (knots) (ice-9 vlist))
|
|
|
|
;; LAST BACKTRACE ENTRY: 257:2
|
|
|
|
(define (do-fold)
|
|
(begin
|
|
(vhash-fold
|
|
(lambda (key value result)
|
|
;; Shouldn't be reached
|
|
#f)
|
|
0
|
|
;; The aim here is to pass in #f for the vlist, and cause an
|
|
;; exception within the (ice-9 vlist) module
|
|
#f)
|
|
'done))
|
|
|
|
;; FIRST BACKTRACE ENTRY: 1762:12 (with-exception-handler
|
|
(with-exception-handler
|
|
(lambda (exn)
|
|
(print-backtrace-and-exception/knots exn)
|
|
(primitive-exit 1))
|
|
(lambda ()
|
|
(call-with-temporary-thread
|
|
(lambda ()
|
|
(do-fold)
|
|
'done))))
|