cs: implement prop:exn:srclocs in exn:fail:read

This commit is contained in:
Matthew Flatt 2019-05-01 14:29:30 -06:00
parent cbbf7a7c2b
commit 92c12de018
2 changed files with 10 additions and 1 deletions

View File

@ -792,4 +792,5 @@
(set-procedure-impersonator-hash!)
(set-vector-impersonator-hash!)
(set-box-impersonator-hash!)
(set-cpointer-hash!))
(set-cpointer-hash!)
(set-exn-srcloc-properties!))

View File

@ -86,6 +86,14 @@
(struct exn:fail:unsupported exn:fail ())
(struct exn:fail:user exn:fail ())
(define (set-exn-srcloc-properties!)
(let ([add! (lambda (rtd)
(struct-property-set! prop:exn:srclocs rtd exn:fail:read-srclocs)
(hashtable-set! rtd-props rtd (list prop:exn:srclocs)))])
(add! struct:exn:fail:read)
(add! struct:exn:fail:read:non-char)
(add! struct:exn:fail:read:eof)))
;; ----------------------------------------
(define (raise-arguments-error who what . more)