Changeset 13876


Ignore:
Timestamp:
02/23/12 10:33:06 (11 years ago)
Author:
rschlatte
Message:

Beginning support for non-standard method metaclasses

... canonicalize specializers in defmethod macroexpansion, instead of in

the bowels of make-instance-standard-method.

... handle non-standard method metaclass in more places

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/clos.lisp

    r13874 r13876  
    17911791               (apply #'make-instance-standard-method gf all-keys)
    17921792               (apply #'make-instance (generic-function-method-class gf) all-keys))))
    1793       (std-add-method gf method)
     1793      (if (eq (generic-function-method-class gf) +the-standard-method-class+)
     1794          (std-add-method gf method)
     1795          (add-method gf method))
    17941796      method)))
    17951797
     
    24742476                        :lambda-list ',lambda-list
    24752477                        :qualifiers ',qualifiers
    2476                         :specializers ,specializers-form
     2478                        :specializers (canonicalize-specializers ,specializers-form)
    24772479                        ,@(if documentation `(:documentation ,documentation))
    24782480                        :function (function ,method-function)
Note: See TracChangeset for help on using the changeset viewer.