昔のRacketでは動いた記憶あるのだけど、今動かしたら動かなかった

(define-macro (mcflag expr flag)
(let ([x 1])
(when (eq? flag 'a)
(set! x 2))
`(+ ,x ,expr)))

(mcflag (+ 10 1) 'a);=>12 should be 13
(mcflag (+ 10 1) 'b);=>12