The error below doesn't point to my own code, but to here, in 
errortrace-lib.rkt:
(syntax-case* disarmed-expr (begin-for-syntax module module*)
                          (lambda (a b)
                            (free-identifier=? a b phase 0))
              [(begin-for-syntax body ...)
               (syntax-rearm
                #`(begin-for-syntax                                        ; 
<<------- here
                   #,@(map (handle-top-form (add1 phase)) 
                           (syntax->list #'(body ...))))
                expr)]
              ....)

Running the program below without errortrace works fine.

What's happening here? Should it be copying lexical information from the 
original form to the new one?
Or is this unavoidable in some way?

This is the program that produces it:
#lang racket/base
(require (for-meta 0 racket/base)
         (for-meta 1 racket/base)
         (for-meta 2 racket/base)
         (for-meta 3 racket/base)
         (for-meta 4 racket/base))
(begin-for-syntax
  (begin-for-syntax
    (begin-for-syntax
      )))

Which gives me this error, if run in DrRacket with errortrace is on:
. ../../../../Applications/Racket/2015-09-30/Racket 
v6.2.900.17/share/pkgs/errortrace-lib/errortrace/errortrace-lib.rkt:57:19: 
begin-for-syntax: unbound identifier at phase 2;
 also, no #%app syntax transformer is bound
  context.:
  other binding.: in: begin-for-syntax


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to