Changeset 12432
- Timestamp:
- 02/08/10 08:13:42 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/clos.lisp
r12431 r12432 538 538 (getf canonical-slot :name)) 539 539 540 (defun ensure-class (name &rest all-keys &allow-other-keys) 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 541 548 ;; Check for duplicate slots. 542 549 (let ((slots (getf all-keys :direct-slots))) … … 583 590 old-class))) 584 591 (t 585 (let ((class (apply #'make-instance-standard-class 586 (find-class 'standard-class) 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) 587 598 :name name all-keys))) 588 599 (%set-find-class name class)
Note: See TracChangeset
for help on using the changeset viewer.