[Ecls-list] Endless loop of compiler errors
Hannu Koivisto
azure at iki.fi
Wed Feb 13 07:30:15 UTC 2002
Greetings,
Command "ecl -compile foo.lisp"
with foo.lisp containing...
(defmacro invoke-alien-type-method (method type &rest args)
(let ((slot (method-slot method)))
(once-only ((type type))
`(funcall (do ((class (alien-type-class-or-lose (alien-type-class ,type))
(alien-type-class-include class)))
((null class)
(error "Method ~S not defined for ~S"
',method (alien-type-class ,type)))
(let ((fn (,slot class)))
(when fn
(return fn))))
,type , at args))))
...results to an endless loop of the following error message:
;;; You are recommended to compile again.
;;; The form (DEFMACRO INVOKE-ALIEN-TYPE-METHOD (METHOD TYPE &REST
ARGS) (LET ((SLOT (METHOD-SLOT METHOD))) (ONCE-ONLY ((TYPE
TYPE)) (LIST* 'FUNCALL (LIST 'DO (LIST (LIST 'CLASS (LIST
'ALIEN-TYPE-CLASS-OR-LOSE (LIST 'ALIEN-TYPE-CLASS TYPE))
'(ALIEN-TYPE-CLASS-INCLUDE CLASS))) (LIST '(NULL CLASS) (LIST
'ERROR "Method ~S not defined for ~S" (LIST 'QUOTE METHOD)
(LIST 'ALIEN-TYPE-CLASS TYPE))) (LIST 'LET (LIST (LIST 'FN
(LIST SLOT 'CLASS))) '(WHEN FN (RETURN FN)))) TYPE ARGS)))) was
not evaluated successfully.
I would expect messages about method-slot and once-only not being
defined or something like that.
--
Hannu
Please don't send copies of list mail
More information about the ecl-devel
mailing list