branch: elpa/racket-mode
commit b74e6d37dae2e9618762971fb232f433e84cadb9
Author: Greg Hendershott <[email protected]>
Commit: Greg Hendershott <[email protected]>
syntax-shift-phase-level errortrace-key; fixes #764
Also, although not related to fixing this bug, clean up some dead
code: Delete definition of key-module-name because currently we're not
implementing key-module-name^.
---
racket/instrument.rkt | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/racket/instrument.rkt b/racket/instrument.rkt
index b6241886e46..f74ec95ded3 100644
--- a/racket/instrument.rkt
+++ b/racket/instrument.rkt
@@ -74,7 +74,8 @@
(and (syntax-source stx)
(syntax-property stx 'errortrace:annotate)))
-(define key-module-name 'errortrace/errortrace-key) ;key-module-name^
+(define base-phase
+ (variable-reference->module-base-phase (#%variable-reference)))
(define (with-mark mark expr phase) ;stracktrace-imports^
;; This is modeled after the one in errortrace-lib. Specifically,
@@ -85,8 +86,10 @@
[mark
(with-syntax ([expr expr]
[mark mark]
- [etk errortrace-key]
- [wcm (syntax-shift-phase-level #'with-continuation-mark
phase)])
+ [etk (syntax-shift-phase-level #'errortrace-key
+ (- phase base-phase))]
+ [wcm (syntax-shift-phase-level #'with-continuation-mark
+ (- phase base-phase))])
(syntax (wcm etk mark expr)))]))
;; Functional alternative to print-error-trace.