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.

Reply via email to