Macro
lispworks
with-unique-names (&rest names) &body body => result
The names to be rebound in body.
The body of code within which names are rebound.
The result of evaluating body.
gensym).
(defmacro lister (p q)
(with-unique-names (x y)
'(let ((,x (x-function))
(,y (y-function)))
(list ,p ,q ,x ,y))))
(lister i j) macroexpands to
(LET* ((#:X-88 (X-FUNCTION))
(#:Y-89 (Y-FUNCTION)))
(LIST i j #:X-88 #:Y-89))