Macro
lispworks
rebinding (&rest vars) &body body => form
The variables to be rebound.
A body of forms, the variables in which should be unique.
gensym) and binds these names to the values of the variables. This ensures that the body can refer to the variables without name clashes with other variables elsewhere.
(defmacro lister (x y)
(rebinding (x y)
'(list ,x ,y)))
(lister i j) macroexpands to
(LET* ((#:X-77 I)
(#:Y-78 J))
(LIST #:X-77 #:Y-78))