From: Peter Seibel
Subject: What happens to return value of SLOT-UNBOUND?
Date: 
Message-ID: <m3znijoo89.fsf@javamonkey.com>
The documentation of SLOT-UNBOUND says it is called from SLOT-VALUE if
the slot is unbound. And SLOT-VALUE's dictionary entry confirms that.
However no mention is made of what happens to the return value from
SLOT-UNBOUND except to say that this sentence from SLOT-UNBOUND's
dictionary entry:

  If slot-unbound returns, only the primary value will be used by the
  caller, and all other values will be ignored.

(I am obviously talking about a new method defined on SLOT-UNBOUND
that doesn't signal an UNBOUND-SLOT error.)

Does that imply that SLOT-VALUE returns the primary value returned
by SLOT-UNBOUND? The SLOT-VALUE dictionary entry explicitly states
that if SLOT-MISSING is called while reading a slot's value then
SLOT-MISSING's primary value is returned by SLOT-VALUE. There is no
such discussion of what specifically happens when SLOT-UNBOUND is
called.

The AMOP, in discussing the slot-value-using-class protocol, was
similarly silent on what happens to the return value of SLOT-UNBOUND,
saying only "The generic function slot-value-using-class returns the
value contained in the given slot of the given object. If the slot is
unbound slot-unbound is called."

I had similar difficulties tracking down what happens to the return
value of NO-NEXT-METHOD when it is called by CALL-NEXT-METHOD. Both
the dictionary entry for CALL-NEXT-METHOD and section 7.6.6.2 Standard
Method Combination state that NO-NEXT-METHOD is called when there is
no next method but don't specify what, if anything, is done with any
returned value(s).

Is there some presumption about what happens to returned values in
cases like this that I should be using to inform my understanding of
the standard?

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Matthew Danish
Subject: Re: What happens to return value of SLOT-UNBOUND?
Date: 
Message-ID: <20030809034631.GL17568@lain.mapcar.org>
I was wondering the same thing about NO-APPLICABLE-METHOD as well, just
the other day.  It says a result object is returned, but I couldn't find
any information about what happens after that in the section on method
choice.

-- 
; Matthew Danish <·······@andrew.cmu.edu>
; OpenPGP public key: C24B6010 on keyring.debian.org
; Signed or encrypted mail welcome.
; "There is no dark side of the moon really; matter of fact, it's all dark."