From: Kaz K. <ka...@as...> - 2003-03-09 03:27:50
|
On Sat, 8 Mar 2003, Kaz Kylheku wrote: > > I've known about this issue quite some time. It's either a bug, > > or there is some subtlety about backquotes that I don't understand. > > I have more information that may be useful. Firstly, here is a smaller > piece of code that reproduces the problem: > > (let ((x 3)) ``,,`,x) > > ==> `,NIL Even smaller, doh: ``,,`,3 ==> `,NIL Now for some really strange stuff: what is hiding behind the above `,NIL form? Here is a trick: if we coerce it to a vector, the guts become visible: (coerce ``,,`,3 'vector) ==> #(SYSTEM::BACKQUOTE (SYSTEM::UNQUOTE NIL) 3) The third element *is* there, but the unquote form is screwed! So this actually works: (eval ``,,`,3) ==> 3 Whee! (eval `,NIL) is 3. |