Revert to r12425 for clos.lisp (which is broken under ANSI tests).

Undo inadvertent fix in last commit.
parent d50aa273
......@@ -537,7 +537,14 @@
(defun canonical-slot-name (canonical-slot)
(getf canonical-slot :name))
(defun ensure-class (name &rest all-keys &allow-other-keys)
(defun ensure-class (name &rest all-keys
&key (metaclass 'standard-class) &allow-other-keys)
;; Don't pass METACLASS on to the initialization routines
;; This only works because we *know* ABCL conses up new &rest lists
;; every time; otherwise, modifying the argument list is discouraged by the spec
(remf all-keys :metaclass)
;; Check for duplicate slots.
(let ((slots (getf all-keys :direct-slots)))
(dolist (s1 slots)
......@@ -582,8 +589,12 @@
(apply #'std-after-initialization-for-classes old-class all-keys)
(let ((class (apply #'make-instance-standard-class
(find-class 'standard-class)
(let ((class (apply (if (eq metaclass 'standard-class)
(or (when (symbolp metaclass)
(find-class metaclass))
:name name all-keys)))
(%set-find-class name class)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment