Comment 2 for bug 1734771

Revision history for this message
Alastair Bridgewater (alastair-bridgewater) wrote :

Apparently this only happens when mutating arguments specialized to T, because WALK-METHOD-LAMBDA doesn't detect them as being SETQd, because they don't have %CLASS declarations, because their specializers aren't TYPEP (AND SYMBOL (NOT (EQL T))). Changing (AND SYMBOL (NOT (EQL T))) to SYMBOL on line 853 (or thereabouts) of pcl/boot.lisp "fixes" this, and causes no new failures in the test suite, but I don't know why T is specifically excluded here in the first place, and thus if there is any downside to making this change.

I can go no further: I have a possible fix, but not enough knowledge to be able to evaluate it for appropriateness.