Changeset 12443
- Timestamp:
- 02/10/10 22:56:56 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/clos.lisp
r12432 r12443 538 538 (getf canonical-slot :name)) 539 539 540 (defun ensure-class (name &rest all-keys 541 &key (metaclass 'standard-class) &allow-other-keys) 542 543 ;; Don't pass METACLASS on to the initialization routines 544 ;; This only works because we *know* ABCL conses up new &rest lists 545 ;; every time; otherwise, modifying the argument list is discouraged by the spec 546 (remf all-keys :metaclass) 547 540 (defun ensure-class (name &rest all-keys &allow-other-keys) 548 541 ;; Check for duplicate slots. 549 542 (let ((slots (getf all-keys :direct-slots))) … … 590 583 old-class))) 591 584 (t 592 (let ((class (apply (if (eq metaclass 'standard-class) 593 #'make-instance-standard-class 594 #'make-instance) 595 (or (when (symbolp metaclass) 596 (find-class metaclass)) 597 metaclass) 585 (let ((class (apply #'make-instance-standard-class 586 (find-class 'standard-class) 598 587 :name name all-keys))) 599 588 (%set-find-class name class)
Note: See TracChangeset
for help on using the changeset viewer.