[armedbear-cvs] r14162 - trunk/abcl/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Wed Oct 3 21:28:11 UTC 2012


Author: ehuelsmann
Date: Wed Oct  3 14:28:11 2012
New Revision: 14162

Log:
Fix PAIPROLOG and UNIFGRAM regressions
  caused by stricter DEFSTRUCT redefinition checks.

Modified:
   trunk/abcl/src/org/armedbear/lisp/defstruct.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/defstruct.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/defstruct.lisp	Wed Oct  3 13:55:07 2012	(r14161)
+++ trunk/abcl/src/org/armedbear/lisp/defstruct.lisp	Wed Oct  3 14:28:11 2012	(r14162)
@@ -549,8 +549,13 @@
                (equalp (aref old 6) (aref description 6))
                (equalp (aref old 7) (aref description 7))
                (equalp (aref old 8) (aref description 8))
-               (equalp (aref old 12) (aref description 12))
-               (equalp (aref old 13) (aref description 13)))
+               (every (lambda (x y)
+                        (and (equalp (dsd-name x) (dsd-name y))
+                             (equalp (dsd-index x) (dsd-index y))
+                             (equalp (dsd-type x) (dsd-type y))))
+                      (append (aref old 12) (aref old 13))
+                      (append (aref description 12)
+                              (aref description 13))))
         (error 'program-error
                :format-control "Structure redefinition not supported ~
                               in DEFSTRUCT for ~A"




More information about the armedbear-cvs mailing list