LET* связывает последовательно

Особый оператор let* вычисляет выражения и связывает их с переменными поочередно.

(defvar x 5)
x
(let* ((x 3)
       (y (+ x 2))) ; локальное значение x
  (* x y))           ; локальные значения х и y
=> 15