From b4d08a07db1b4f9dd7d3b6065ef97689b9dfa28f Mon Sep 17 00:00:00 2001 From: Ryan Davis Date: Wed, 10 Jul 2019 18:38:25 -0600 Subject: [PATCH 1/2] strip trailing whitespace separate from my content commit so you can skip this if you want --- beautiful-racket-lib/br/debug.rkt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/beautiful-racket-lib/br/debug.rkt b/beautiful-racket-lib/br/debug.rkt index c4f2016..a38ffd1 100644 --- a/beautiful-racket-lib/br/debug.rkt +++ b/beautiful-racket-lib/br/debug.rkt @@ -5,14 +5,14 @@ (define-macro-cases report [(_ EXPR) #'(report EXPR EXPR)] [(_ EXPR NAME) - #'(let ([expr-result EXPR]) + #'(let ([expr-result EXPR]) (eprintf "~a = ~v\n" 'NAME expr-result) expr-result)]) (define-macro-cases report-datum [(_ STX-EXPR) #`(report-datum STX-EXPR #,(syntax->datum #'STX-EXPR))] [(_ STX-EXPR NAME) - #'(let () + #'(let () (eprintf "~a = ~v\n" 'NAME (syntax->datum STX-EXPR)) STX-EXPR)]) @@ -20,4 +20,4 @@ #'(define-macro (MULTI-NAME X (... ...)) #'(begin (NAME X) (... ...)))) -(define-multi-version report* report) \ No newline at end of file +(define-multi-version report* report) -- 2.25.1 From ae0340c92426288d72be29c3df8864174042d489 Mon Sep 17 00:00:00 2001 From: Ryan Davis Date: Wed, 10 Jul 2019 18:46:48 -0600 Subject: [PATCH 2/2] 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. --- beautiful-racket-lib/br/debug.rkt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/beautiful-racket-lib/br/debug.rkt b/beautiful-racket-lib/br/debug.rkt index a38ffd1..53a8074 100644 --- a/beautiful-racket-lib/br/debug.rkt +++ b/beautiful-racket-lib/br/debug.rkt @@ -12,9 +12,11 @@ (define-macro-cases report-datum [(_ STX-EXPR) #`(report-datum STX-EXPR #,(syntax->datum #'STX-EXPR))] [(_ STX-EXPR NAME) - #'(let () - (eprintf "~a = ~v\n" 'NAME (syntax->datum STX-EXPR)) - STX-EXPR)]) + #'(let ([stx STX-EXPR]) + (eprintf "~a = ~v\n" 'NAME (if (eof-object? stx) + stx + (syntax->datum stx))) + stx)]) (define-macro (define-multi-version MULTI-NAME NAME) #'(define-macro (MULTI-NAME X (... ...)) -- 2.25.1