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

with-slots macroexpansion bug



theres a nasty bug in with-slots such that a slot named "function"  
gets expanded to a function object!
ie:
	 #'(SLOT-VALUE #:G969 'FUNCTION) 

instead of something like:
	(function (slot-value #G969 'function))

heres the bug:

> (pprint (macroexpand '(with-slots (foo function bar) i (print  
function))))

(LET ((#:G969 I))
 (SYMBOL-MACROLET
  ((FOO (SLOT-VALUE #:G969 'FOO)) #'(SLOT-VALUE #:G969 'FUNCTION)
   (BAR (SLOT-VALUE #:G969 'BAR))
  )
  (PRINT FUNCTION)
))


im running clisp on a next machine.

	-hkt