Changeset 11479


Ignore:
Timestamp:
Dec 8, 2008, 5:04:01 PM (11 years ago)
Author:
gz
Message:

Fix for default-initargs of NIL being ignored in optimized make-instance calls. While in there, don't need to use the init function for quoted default initargs

File:
1 edited

Legend:

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

    r11410 r11479  
    22672267                                                      initform
    22682268                                                      `(%slot-unbound-marker))))))
    2269                                       (default (assq initarg default-initargs)))
     2269                                      (default (assq initarg default-initargs))
     2270                                      (default-value-form nil))
    22702271                                 (when spvar (ignorable spvar))
    22712272                                 (when default
    22722273                                   (destructuring-bind (form function)
    22732274                                       (cdr default)
    2274                                      (setq default
    2275                                            (if (self-evaluating-p form)
     2275                                     (setq default-value-form
     2276                                           (if (or (quoted-form-p form)
     2277                                                   (self-evaluating-p form))
    22762278                                               form
    22772279                                               `(funcall ,function)))))
     
    22792281                                        (list initarg name)
    22802282                                        (if (and default one-initarg-p (null location-var))
    2281                                             default
     2283                                            default-value-form
    22822284                                            initial-value-form)
    22832285                                        (if spvar (list spvar))))
Note: See TracChangeset for help on using the changeset viewer.