[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: KCL scoping bug?

The example and explanation on p. 155 CLtL makes it pretty
clear that the compiler is correct, (i.e. that the special
declaration also applies to references within the initforms
of a LET) - in particular, The Book says: "The reference
to X in the second call to FOO is also a special reference".

For those interested, the relevant nonsensical code is:

  (defun nonsense (k x z)
    (foo z x)
      (j (foo k x))	;;; <--- the problematic reference to X
      (x (* k k))
     (declare (inline foo) (special x z))
     (foo x j z)

--ilan caron