;;; -*- Mode:LISP; Package:USER; Base:8; Readtable:ZL -*-



(DEFFLAVOR FOO
	 (A B)
	 ()
  :INITABLE-INSTANCE-VARIABLES)

(DEFFLAVOR BAR
	 ()
	 ())

(DEFMETHOD (FOO :X) ()
  (SEND B :X #'(LAMBDA () A)))


(DEFMETHOD (BAR :X) (F)
  (DESCRIBE F)
  (FUNCALL F))


(DEFUN FLAVOR-FUNARG-BUG ()
  (SEND (MAKE-INSTANCE 'FOO :A "FOO" :B (MAKE-INSTANCE 'BAR)) :X))


(DEFMETHOD (FOO :XF) ()
  (SEND B :X (LET ((LEX-SELF SELF)
		   (LEX-TABLE SI:SELF-MAPPING-TABLE))
	       #'(LAMBDA ()
		   (LET ((SELF LEX-SELF)
			 (SI:SELF-MAPPING-TABLE LEX-TABLE))
		     A)))))

(DEFUN FLAVOR-FUNARG-FIX ()
  (SEND (MAKE-INSTANCE 'FOO :A "FOO" :B (MAKE-INSTANCE 'BAR)) :XF))