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

Re: macrolet bug with MCL2.0b3



	I have some problem using macrolet with MCL 2.0b3.
	I tried to eval the following code:

	(defun f(x)
	  (macrolet
	    ((m1 (x) `(car ,x))
	     (m2 (x) `(setf (m1 ,x) t)))
	    (m2 x)))

	it returned:

	F
	;Compiler warnings :
	;   Undefined function SETF::COMMON-LISP-USER::M1|, in F.

	and the evaluation of (f '(a b c)) returned something like:

	> Error: Undefined function SETF::|COMMON-LISP-USER::M1|
	 called with arguments (T (A B C)) .

	The same code is working with all previous versions.
	Can someone help me understand the bug?

	email: hsiung@urz.unibas.ch

	    Alain Hsiung.

Seems like your macrolet usage should be flagged? by the same reasoning
that the expression (let ((a 1) (b a)) (print b)) would be flagged (but
would be ok with 'let*').

	
Cris Johnson 
Price Waterhouse Technology Centre 
68 Willow Road, Menlo Park, CA 94025 
(415) 322-0606