Skip to content

Commit 4b1c158

Browse files
committed
reveal errortrace annotations via errortrace-continuation-mark-set->context
1 parent a6bafe5 commit 4b1c158

4 files changed

Lines changed: 25 additions & 9 deletions

File tree

drracket-core-lib/drracket/private/eval-helpers-and-pref-init.rkt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@
1010
pkg/lib
1111
framework/preferences
1212
errortrace/stacktrace
13+
errortrace/marks-to-context
1314
"drracket-errortrace-key.rkt"
1415
(prefix-in *** '#%foreign) ;; just to make sure it is here
15-
"compiled-dir.rkt")
16+
"compiled-dir.rkt"
17+
(submod "stack-checkpoint.rkt" item->srcloc))
1618

1719
(provide set-basic-parameters/no-gui
1820
set-module-language-parameters
@@ -165,6 +167,15 @@
165167
(use-compiled-file-paths))])
166168
(orig path mod-name))
167169
(orig path mod-name))))))
170+
171+
(errortrace-continuation-mark-set->context
172+
(let ([drracket-errortrace-lib-continuation-mark-set->context
173+
(λ (cms)
174+
(map
175+
errortrace-stack-item->srcloc
176+
(continuation-mark-set->list cms drracket-errortrace-key)))])
177+
drracket-errortrace-lib-continuation-mark-set->context))
178+
168179
;; Install the compilation manager:
169180
(current-parallel-lock-shutdown-evt (make-custodian-box (current-custodian) #t))
170181
(parallel-lock-client module-language-parallel-lock-client)

drracket-core-lib/drracket/private/eval.rkt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@
198198
'(lib "simple-tree-text-markup/data.rkt")
199199
; srclocs-special<%>
200200
'(lib "simple-tree-text-markup/port.rkt")
201+
'(lib "errortrace/marks-to-context.rkt")
201202
;; preserve the invariant that:
202203
;; if a module is shared, so
203204
;; are all of its submodules

drracket-core-lib/drracket/private/stack-checkpoint.rkt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@
3636
errortrace-stack-item->srcloc
3737
copy-viewable-stack)
3838

39+
(module item->srcloc racket/base
40+
(provide errortrace-stack-item->srcloc)
41+
42+
(define (errortrace-stack-item->srcloc x)
43+
(make-srcloc (vector-ref x 0)
44+
(vector-ref x 1)
45+
(vector-ref x 2)
46+
(vector-ref x 3)
47+
(vector-ref x 4))))
48+
(require (submod "." item->srcloc))
49+
3950
(provide
4051
(contract-out
4152
[cut-stack-at-checkpoint (-> continuation-mark-set? (listof srcloc?))]
@@ -176,13 +187,6 @@
176187
interesting-editors
177188
a-viewable-stack))
178189

179-
(define (errortrace-stack-item->srcloc x)
180-
(make-srcloc (vector-ref x 0)
181-
(vector-ref x 1)
182-
(vector-ref x 2)
183-
(vector-ref x 3)
184-
(vector-ref x 4)))
185-
186190
(define (cms->builtin-viewable-stack cms interesting-editors
187191
#:share-cache [a-viewable-stack #f])
188192
(build-viewable-stack (cut-stack-at-checkpoint cms)

drracket-core-lib/info.rkt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
["drracket-plugin-lib" #:version "1.1"]
1212
"drracket-tool-lib"
1313
"drracket-tool-text-lib"
14-
["errortrace-lib" #:version "1.5"]
14+
["errortrace-lib" #:version "1.6"]
1515
["gui-lib" #:version "1.76"]
1616
"gui-pkg-manager-lib"
1717
["icons" #:version "1.2"]

0 commit comments

Comments
 (0)