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

Bug in KCL: &ENVIRONMENT



This was supposed to go into the previous message, but there were complications.

KCL appears to always pass NIL as the &environment argument to MACROLET'ed
macros.  Because of this, one can't use the lexical macro environment to pass
information to macros and this makes certain sophisticated macros difficult
(call it impossible) to write.  Here is a test case:

	(macrolet ((one () 1))
	   (macrolet ((two (&environment env)
	   	        (= 1 (macroexpand-1 '(one) env))))
	      (two)))

This gets the error ``(ONE) is not of type NUMBER. Error signalled by =.'' when
evaluated.  Instead, it should return T.

	Pavel