Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!VAX1.CC.UAKRON.EDU!mcs.kent.edu!usenet.ins.cwru.edu!eagle!data.nas.nasa.gov!sun499!hultquis From: hultquis@nas.nasa.gov (Jeff P. M. Hultquist) Newsgroups: comp.lang.scheme Subject: Re: OOP in XScheme Message-ID: Date: 19 Oct 90 18:16:50 GMT References: <9010190348.aa28638@mintaka.lcs.mit.edu> Sender: news@nas.nasa.gov Reply-To: hultquis@nas.nasa.gov Organization: NAS - Applied Research Office, NASA Ames Lines: 48 In-Reply-To: STCS8004%IRUCCVAX.UCC.IE@MITVMA.MIT.EDU's message of 18 Oct 90 13:28:00 GMT > 2. Are there any caveats regarding the present state (I have v0.22) of > implementation of OOP in XScheme? (I am considering using XScheme's > OOP in teaching since our students use XScheme for other Scheme > applications.) This message reminded me to post (finally) about a recent bugfix which appeared in this forum ... >> Subject: xscheme object system bugs and fixes >> To: scheme@mc.lcs.mit.edu >> >> The second bug is in the function xsendsuper(). The lines: >> >> /* get the message class and the 'self' object */ >> cls = getivar(getelement(car(cdr(obj)),0),SUPERCLASS); >> obj = car(obj); >> >> should be: >> >> /* get the message class and the 'self' object */ >> obj = car(obj); >> cls = getivar(getclass(obj),SUPERCLASS); >> This patch results in the re-sending of the message to the superclass of the class of the object. This is not very useful. By changing the zero to a one, the message will be sent to the superclass of the class in which the current method was defined. This is surely what was intended. -- jeff -- -- Jeff Hultquist hultquis@nas.nasa.gov NASA - Ames Research Center (415) 604-4970 Disclaimer: "I am not a rocket scientist."