summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp')
-rw-r--r--Lisp/data-types.lisp11
1 files changed, 11 insertions, 0 deletions
diff --git a/Lisp/data-types.lisp b/Lisp/data-types.lisp
index a857800..64979c0 100644
--- a/Lisp/data-types.lisp
+++ b/Lisp/data-types.lisp
@@ -39,6 +39,17 @@
:initform (cffi:null-pointer)))))
+;; The following may be needed by some implementations (namely Allegro
+;; CL).
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (loop for class-name in '(c2mop:funcallable-standard-object
+ c-pointer-wrapper)
+ for class = (find-class class-name nil)
+ when class
+ unless (c2mop:class-finalized-p class)
+ do (c2mop:finalize-inheritance class)))
+
+
;; FIXME: I'm not confident about this, but it is needed in order to
;; make (DEFCLASS SELECTOR ...) work.
(defmethod c2mop:validate-superclass ((class c2mop:funcallable-standard-class)