(defmacro lister (p q)

(with-unique-names (x y)

`(let ((,x (x-function))

(,y (y-function)))

(list ,p ,q ,x ,y))))

the form```
(lister i j)
```

macroexpands to

(LET* ((#:X-88 (X-FUNCTION))

(#:Y-89 (Y-FUNCTION)))

(LIST i j #:X-88 #:Y-89))

LispWorks User Guide and Reference Manual - 22 Dec 2009