I have some CLOS classes which I have defined with read-only slots
(i.e., only reader methods, not accessor methods). I do this because I
want only certain special methods to alter those slot values. So those
methods use
(setf (slot-value <object> '<slotname>) value)
When I compile those methods I get messages like the following from the
compiler:
==>
(SLOT-ACCESSOR-NAME::|COMMON-LISP-USER METHOD-STATUS slot WRITER|
(COPY-ARRAY (METHOD-STATUS STATE)) #:G7)
Warning: Undefined function: SLOT-ACCESSOR-NAME::|COMMON-LISP-USER
METHOD-STATUS slot WRITER|
This seems wrong, since I'm not actually using a writer method:
(setf (slot-value x 'method-status) (copy-array (method-status state)))
Does anybody know why this happens? is it a bug? will those forms be
compiled correctly?
Thanks,
R