Extended report-datum to be friendly to eof.

read-syntax returns either a syntax or eof. This allows report-datum
to be used to debug read-syntax issues.
pull/23/head
Ryan Davis 5 years ago committed by Matthew Butterick
parent d0f5fa76a9
commit 83206c4521

@ -12,9 +12,11 @@
(define-macro-cases report-datum (define-macro-cases report-datum
[(_ STX-EXPR) #`(report-datum STX-EXPR #,(syntax->datum #'STX-EXPR))] [(_ STX-EXPR) #`(report-datum STX-EXPR #,(syntax->datum #'STX-EXPR))]
[(_ STX-EXPR NAME) [(_ STX-EXPR NAME)
#'(let () #'(let ([stx STX-EXPR])
(eprintf "~a = ~v\n" 'NAME (syntax->datum STX-EXPR)) (eprintf "~a = ~v\n" 'NAME (if (eof-object? stx)
STX-EXPR)]) stx
(syntax->datum stx)))
stx)])
(define-macro (define-multi-version MULTI-NAME NAME) (define-macro (define-multi-version MULTI-NAME NAME)
#'(define-macro (MULTI-NAME X (... ...)) #'(define-macro (MULTI-NAME X (... ...))

Loading…
Cancel
Save