Newsgroups: comp.lang.lisp.mcl
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!travelers.mail.cornell.edu!news.kei.com!news.mathworks.com!newsfeed.internetmci.com!chi-news.cic.net!news.midplains.net!gw2.att.com!nntpa!ssbunews!jwd
From: jwd@ihnns792.ATT.COM (nq8140700-Davison)
Subject: McCartney's Plot
Message-ID: <JWD.95Oct19151738@ihnns792.ATT.COM>
Sender: news@ssbunews.ih.att.com (Netnews Administration)
Nntp-Posting-Host: ihnns792.ih.att.com
Reply-To: Joseph_W_Davison@.ATT.COM
Organization: AT&T Bell Laboratories
Date: Thu, 19 Oct 1995 20:17:37 GMT
Lines: 40

I tried posting this last week, but I don't think it got out, so I'll try
again:

I'm using MCL 3.0p2. I'm trying to use Paul McCartney's Plotting classes
from the contributions on the CD rom.  Actually, they work quite well for
my purposes, but I wanted to tailor them a little, so I derived a class
from simple-scatter-plot and specialized methods for add-scatter-plot-views
and add-data (I think, the code's at home; I'm not).  Basically all I want
to do is set the ranges on the views from the data I supply.  The
add-scatter-plot-views is an :after method to set the ranges, although
originally I had it as a primary method -- the behavior described below
didn't seem to change.

What I intended to happen actually does, but there are some strange
additional effects.  What I noticed first was that there seemed to be an
extra y-axis (i.e. number-line-vertical-view).  I set *compile-definitions*
to nil and reevaluated the relevent methods, then stepped through the
execution.  What I see is that by the time the methods complete there are
actually two views of each type, the one I intended and another seemingly
created by simple-scatter-plot.  For reasons I don't understand, there is a
call-next-method that seems to have been automatically added to my methods,
and that seems to be causing the problem.

As I said, I originally provided a primary method for
add-scatter-plot-views, assuming it would replace the one for
simple-scatter-plot.  I don't know why both are being called.

I may be confused about standard method combination, as I'm relatively new
to CLOS, but I thought I needed to call call-next-method myself if I wanted
other methods to run?  I haven't exhaustively searched McCartney's code for
an :around method, but I don't know why it would be needed.

Any ideas about what's going on would be appreciated, as well as
suggestions for preventing it.  If it would help to see my code, I'll be
happy to provide it -- it's relatively small.  I suppose I could also save
the trace output and send that.


--
Joe Davison 	joseph_w_davison@att.com
