[pro] couple questions about dynamic bindings

Greg Gilley ggilley at gerg.org
Mon Dec 27 00:04:06 UTC 2010


There are some tests in the common-lisp test suite with dynamic binding that I don't understand. If someone could help shed some light on them I'd appreciate it.

progv makes it's arguments special. I don't understand how they can be a different special than the one declared in the let. I'd love an explanation.

(let ((x 0))
    (declare (special x))
    (progv '(x) ()
      (boundp 'x))) ==> NIL

(let ((x 0))
    (declare (special x))
    (progv '(x) () (setq x 1))
    x) ==> 0

Thanks,

	Greg





More information about the pro mailing list