From: Alex Mizrahi <udodenko@us...> - 2005-01-12 15:42:22
this was discussed in comp.lang.lisp, but i don't know whether clisp
developers read comp.lang.lisp regulary, so i thought it's better to post it
this applies for clisp-2.33.1, latest release for win32 platform, but
possibly it's not yet been found/fixed. if it is (or it's intended
behaviour) - sorry.
i found problem testing examples for special vars in CLHS and seeing
* Newsgroup: comp.lang.lisp
* From: "Paul F. Dietz"
* Date: Tue, 11 Jan 2005 06:19:58 -0600
* Subj: Re: special declaration in clisp
Alex Mizrahi wrote:
> (let ((x (1+ x))
(declare (special x))
should x in (1+ x) be special or not?
in CLISP it is, in other implementations - it's not.
It should not (see CLtS, secion 3.3.4, paragraph 6).
a simple test without any global values or declarations:
(let ((x 5)) (let ((x (1+ x))) (declare (special x)) (print x)))
it prints 6 in lispworks and others, but says x is unbound in CLISP.
With best regards, Alex 'killer_storm' Mizrahi.