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

macrolet bug



There is a bug in KCL in the handling of macrolet by the compiler:

>(defstruct bar x)

>(defun foo (y)
	(macrolet
	  ((bar-doc (bar) `(getf (bar-x ,bar) :documentation)))
	  (setf (bar-doc y) `doc)))
FOO

>(compile 'foo)

Error: Cannot expand the SETF form (BAR-DOC Y).
Error signalled by FUNCALL.
Backtrace:  > macroexpand > funcall > SETF
; (DEFUN FOO ...) is being compiled.
;;; The macro form (SETF (BAR-DOC Y) 'DOC) was not expanded successfully.

Error: Cannot expand the SETF form (BAR-DOC Y).
Error signalled by FUNCALL.
Backtrace:  > funcall > funcall > SETF
;;; The macro form (SETF ...) was not expanded successfully.
;; Warning: The variable Y is not used.
Failed to compile FOO.
FOO

Regards,

Beppe