[racket] Can not set breakpoints on macro calls that do not expand into a single command
Hello,
I am having trouble debugging Racket code that contains macros.
Here is the simplest example:
#lang racket
(define-syntax-rule (my-print x)
(printf "~a\n" x))
(define-syntax-rule (my-print1 x)
(begin
(printf "~a\n" x)))
(my-print 10)
(my-print1 20)
(my-print 30)
(my-print1 40)
When I enter the above code in DrRacket and press "Debug",
I find out that I can set breakpoints on (my-print 10)
and (my-print 30), but can not set breakpoints on
(my-print1 20) and (my-print1 40).
How does the "begin" in my-print1 affect the debugger?
Is there a way to set breakpoints for complex macros?
I would appreciate any pointers.
I use Racket 5.1.3.
Best regards,
Dmitry