Here are two syntax errors that behave differently in DrRacket: #lang racket
(define-syntax (m-late stx) #'(let () (define x 0))) (define-syntax (m-early stx) #'(let-syntax () (define x 0))) ; (m-late) ; (m-early) DrRacket *correctly* highlights the source location of the errors in both cases. Additionally, for (m-early) I can click on the X button to jump to the error location. However, for (m-late) the X button brings me to internal Racket code. What's going on here? In case it helps, here are the error messages when I run the code in terminal: ;; m-late errstx.rkt:4:4: begin (possibly implicit): no expression after a sequence of internal definitions in: (begin (define x 0)) location...: /Volumes/ramdisk/errstx.rkt:4:4 /Volumes/ramdisk/errstx.rkt:4:12 ;; m-early <collects>/racket/private/letstx-scheme.rkt:38:17: begin (possibly implicit): no expression after a sequence of internal definitions in: (begin (define x 0)) location...: <collects>/racket/private/letstx-scheme.rkt:38:17 /Volumes/ramdisk/errstx.rkt:6:19 -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAMTzy%2BZtpWGdtkZkvzF4%3D25kpqUqGKsBcCDf4T%3DY3S2hV0v_GA%40mail.gmail.com.