I always wondered whether the with-slots macro was legal to use on structures. The answer turns out to be that it is not.
Some of the code in the assertional memory module used with-slots on structures. This code worked in ACL and MCL, but did not work in CMUCL. with-slots is defined in terms of slot-value, and the Hyperspec says that the behavior of slot-value depends on the metaclass of the object it is applied to:
The spec goes on to say "Note in particular that the behavior for conditions and structures is not specified." Which means don't count on it working (and don't count on it not working).
At least this was not a particularly difficult change to make in the code.
Posted by jjwiseman at December 11, 2001 09:35 PM