[comp.sys.ti.explorer] CLOS subtlety

) (11/29/89)

i've been using CLOS since early this year, with an interesting, but unsupportd
piece of code, which i've had to do maintenance on. it was actually written 
using PCL, and I ported it.

i find a number of cases like so:

(defmethod ((xxx some-class) ...)
  ...
  (setq xxx something-or-other)
  ...)

generally, some-class is LIST or T. 

this yields a CWARN stating that method was assigned to XXX (or another arg)
and that slot-accessors could not be correctly optimized.

it turns out that the problem is that XXX is getting modified in the body.
in partic, there are some destructive operations being performed on XXX, and I
need to preserve the result back in XXX, and this causes the compiler to
warn me. I don't know what the warning really implies--do I even care?

changing it so the the arg is xxx1 and then having the first form be (setq xxx
(copy xxx1)) at least eliminates the warning. there might be other solutions
which are better...this one works, but it bothers me. declaring the type of
xxx doesn't do it.

anyway, in case you ever see it, this is probably the cause.

 -- clint