Example of let binding a special
(defvar *default-file*) ; no value
(defvar *default-directory "c:/")
(defun process-file (file directory)
(let ((*default-file* file)
(*default-directory* directory))
(print *default-directory*)
;; This will signal an error unless called
(load (merge-pathnames *default-file*
When process-file completes, *default-file* and *default-directory* revert to previous settings.