GSOC | Extending Common Lisp support

Jamison Hope jrh@theptrgroup.com
Mon Jun 25 15:19:00 GMT 2012


On Jun 20, 2012, at 11:44 AM, Charles Turner wrote:

> #|kawa:1|# (do ((temp-one 1 (+ 1 temp-one))
>                      (temp-two 0 (- temp-two 1)))
>                     ((> (- temp-one temp-two) 5) temp-one))
> /dev/stdin:1:1: warning - no declaration seen for %do-lambda1
> [ ... bunch of undefined variable errors ...]

Looks like this is the modern behavior of Savannah bug #13574 (which
turns 7 in a few days). As Per noted, changing Lisp2#getNamespaceOf
to return FUNCTION_NAMESPACE for Declarations with the IS_SYNTAX flag
resolves the "no declaration" issue. That change is probably enough
to close the bug, although the output of

(do ((i 2 (+ i 1))) ((> i 5) 'done) (format #t "~A ~A~%" i (* i i)))

is still wrong from CL due to the language-specific false object
equality check.


--
Jamison Hope
The PTR Group
www.theptrgroup.com





More information about the Kawa mailing list