From: Matt P. <pil...@gm...> - 2007-01-18 04:08:12
|
Hi, all, When I try: * (progv '(*x*) '(1) *x*) SBCL complains like so: ; in: LAMBDA NIL ; (PROGV '(*X*) '(1) *X*) ; --> LET UNWIND-PROTECT FLET BLOCK MULTIPLE-VALUE-BIND MULTIPLE- VALUE-CALL ; --> BLOCK SB-C::%WITHIN-CLEANUP RETURN-FROM ; ==> ; (PROGN ; (LABELS ((#:UNBIND1 (SB-C::VARS) ; (DECLARE #) ; (DOLIST # # #)) ; (#:BIND0 (SB-C::VARS SB-C::VALS) ; (DECLARE #) ; (COND # # #))) ; (#:BIND0 '(*X*) '(1))) ; NIL ; *X*) ; ; caught WARNING: ; undefined variable: *X* ; ; caught WARNING: ; This variable is undefined: ; *X* ; ; compilation unit finished ; caught 2 WARNING conditions as well as returning 1, as it should. This warning doesn't really make much sense to me---why should it be a problem if *x* is undefined if the whole point of PROGV is to establish bindings? FWIW, neither CLISP nor the trial versions of ACL and LispWorks complain about this. Is there a straightforward way to eliminate these warnings? Thanks in advance, Matt |