1.0.8.44: Fix EQUALP on structures with raw slots
authorJuho Snellman <jsnell@iki.fi>
Tue, 21 Aug 2007 05:18:42 +0000 (05:18 +0000)
committerJuho Snellman <jsnell@iki.fi>
Tue, 21 Aug 2007 05:18:42 +0000 (05:18 +0000)
commitc55397520c6238fb878bb80ed6687da1700b66ca
treef8f0523153a7617580b23965e8342131143b2e47
parentc45da820b56cd0bd4bd958b66639fa021054f962
1.0.8.44: Fix EQUALP on structures with raw slots

         * Old version was basically accessing raw slots with %INSTANCE-REF,
           and doing EQUALP on the results. This was most obviously wrong
           for raw slots that were larger than a word (double-floats on 32-bit
           platforms). Less obviously this is also wrong for some float
           corner-cases, like negative zeroes.
         * Add RAW-INSTANCE-SLOTS-EQUALP which instead grovels the layout for
           the slot definitions and determines the proper accessor functions
           for each slot from that.
         * Reported by Vjacheslav Fyodorov.
NEWS
package-data-list.lisp-expr
src/code/pred.lisp
src/code/target-defstruct.lisp
tests/defstruct.impure.lisp
version.lisp-expr