Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defmacro test-gensym-in-macrolet (my-setter &body body)
- (let ((sym (gensym)))
- `(let (,sym)
- (macrolet ((,my-setter (y) `(setf ,,sym ,y)))
- ,@body))))
- (test-gensym-in-macrolet my-setter
- (my-setter 5))
- ;; Result
- ; in: TEST-GENSYM-IN-MACROLET MYSET
- ; (EULER::MYSET 5)
- ;
- ; caught ERROR:
- ; during macroexpansion of (MYSET 5). Use *BREAK-ON-SIGNALS* to intercept.
- ;
- ; The variable #:G668 is unbound.
- ; It is a local variable not available at compile-time.
- ; (LET (#:G668)
- ; (MACROLET ((EULER::MYSET (EULER::Y)
- ; `(SETF #)))
- ; (EULER::MYSET 5)))
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement