sasagawa888/eisl

ILOS call-next-method in lambda

Closed this issue · 1 comments

This code occurs an error

(defglobal f nil)
(defgeneric foo-39 (x y))
(defmethod foo-39 (x y) (list x y))
(defmethod foo-39 ((x <integer>) (y <integer>))
	 (setq x (* x 10))
	 (setq y (* y 10))
	 (setq f (lambda () 
		   (if (next-method-p) (list x y (call-next-method)))))
	 (list x y))

(foo-39 2 3)
(funcall f) 

Fixed (only interpreter)

Easy-ISLisp Ver2.21
> (load "tests/bug.lsp")
T
> (foo-39 2 3)
(20 30)
> (funcall f)
(20 30 (2 3))
>