[1]
http://clhs.lisp.se/Body/f_boundp.htm
;;"А был ли символ?"
(boundp 'x)
(setq x '(4 5 6))
(boundp 'x)
(makunbound 'x)
(boundp 'x)
(let ((x 2)) (boundp 'x))
(let ((x 2)) (declare (special x)) (boundp 'x))
(boundp ’x) => NILL ;; символу ничего не присвоено
(setq x ’(4 5 6)) => (4 5 6) ;; символу присвоено значение
(boundp 'x) => T ;; и теперь мы видим, что это так
(makunbound 'x) => X ;; обнулили символ unset
(boundp 'x) => NIL ;; и теперь тут ничего нет
(let ((x 2)) (boundp 'x)) => NIL ;; лексическое связывание
(let ((x 2)) (declare (special x)) (boundp 'x)) => T
;; здесь это не работает