X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgeneric-functions.lisp;h=e58c9d59424e8a4eb4104396f77e6288e6a7f99f;hb=91392754bf1d241cd6913c728268caf18eae1485;hp=433e8a4569615834652730780ecb39fc6356a924;hpb=a92c91a4fdcdcf1c96b33339c1ef077243183187;p=sbcl.git diff --git a/src/pcl/generic-functions.lisp b/src/pcl/generic-functions.lisp index 433e8a4..e58c9d5 100644 --- a/src/pcl/generic-functions.lisp +++ b/src/pcl/generic-functions.lisp @@ -96,6 +96,8 @@ (defgeneric gf-dfun-state (standard-generic-function)) +(defgeneric generic-function-initial-methods (standard-generic-function)) + (defgeneric long-method-combination-function (long-method-combination)) (defgeneric method-combination-documentation (standard-method-combination)) @@ -181,6 +183,9 @@ (defgeneric (setf gf-dfun-state) (new-value standard-generic-function)) +(defgeneric (setf generic-function-initial-methods) + (new-value standard-generic-function)) + (defgeneric (setf method-generic-function) (new-value standard-method)) (defgeneric (setf object-plist) (new-value plist-mixin)) @@ -259,6 +264,8 @@ (defgeneric function-keywords (method)) +(defgeneric generic-function-argument-precedence-order (gf)) + (defgeneric generic-function-lambda-list (gf)) (defgeneric generic-function-pretty-arglist (generic-function)) @@ -307,8 +314,6 @@ (defgeneric add-method (generic-function method)) -(defgeneric change-class (instance new-class-name)) - (defgeneric class-slot-value (class slot-name)) (defgeneric compatible-meta-class-change-p (class proto-new-class)) @@ -330,8 +335,6 @@ (defgeneric effective-slot-definition-class (class initargs)) -(defgeneric inform-type-system-about-class (class name)) - (defgeneric legal-documentation-p (object x)) (defgeneric legal-method-function-p (object x)) @@ -397,6 +400,14 @@ (defgeneric (setf class-slot-value) (nv class slot-name)) +;;; CMUCL comment (from Gerd Moellmann/Pierre Mai, 2002-10-19): +;;; +;;; According to AMOP, COMPUTE-EFFECTIVE-METHOD should return two +;;; values. Alas, the second value is only vaguely described in AMOP, +;;; and, when asked on 2002-10-18, Gregor Kiczales said he couldn't +;;; remember what the second value was supposed to be. So, PCL's +;;; COMPUTE-EFFECTIVE-METHOD returns one value as do Allegro and +;;; Lispworks. (defgeneric compute-effective-method (generic-function combin applicable-methods)) @@ -439,12 +450,12 @@ (defgeneric get-method (generic-function qualifiers specializers - &optional (errorp t))) + &optional errorp)) (defgeneric find-method (generic-function qualifiers specializers - &optional (errorp t))) + &optional errorp)) (defgeneric remove-named-method (generic-function-name argument-specifiers @@ -471,7 +482,9 @@ (defgeneric initialize-instance (gf &key &allow-other-keys)) -(defgeneric make-instance (class &rest initargs)) +(defgeneric make-instance (class &rest initargs &key &allow-other-keys)) + +(defgeneric change-class (instance new-class-name &rest initargs &key &allow-other-keys)) (defgeneric no-applicable-method (generic-function &rest args))