Changeset 7525 for branches/working-0710


Ignore:
Timestamp:
Oct 25, 2007, 8:33:59 PM (12 years ago)
Author:
gb
Message:

In CLASS-AND-SLOT-LOCATION-ALIST, only do FINALIZE-INHERITANCE if class
that should have slots has no slots; the way it was done caused stack
overflow.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0710/ccl/level-1/l1-clos.lisp

    r7522 r7525  
    17981798    (labels ((add-class (c)
    17991799               (unless (assq c alist)
    1800                  (push (cons c (slot-definition-location (find-slotd slot-name (progn (finalize-inheritance c) (class-slots c))))) alist)
     1800                 (let* ((slots (class-slots c)))
     1801                   (unless slots
     1802                     (finalize-inheritance c)
     1803                     (setq slots (class-slots c)))
     1804                   (push (cons c (slot-definition-location (find-slotd slot-name slots))) alist))
    18011805                 (dolist (sub (class-direct-subclasses c))
    18021806                   (add-class sub)))))
Note: See TracChangeset for help on using the changeset viewer.