Changeset 14529


Ignore:
Timestamp:
06/09/13 17:09:28 (10 years ago)
Author:
rschlatte
Message:

Fix (make-instance 'standard-generic-function)

Reported by Pascal Costanza and Anton Vodonosov (via cl-test-grid)

File:
1 edited

Legend:

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

    r14503 r14529  
    10041004    (metaobject funcallable-standard-object)
    10051005  ())
    1006 
    1007 (define-funcallable-primordial-class standard-generic-function (generic-function)
    1008   ((sys::name :initarg :name :initform nil)
    1009    (sys::lambda-list :initarg :lambda-list :initform nil)
    1010    (sys::required-args :initarg :required-args :initform nil)
    1011    (sys::optional-args :initarg :optional-args :initform nil)
    1012    (sys::initial-methods :initarg :initial-methods :initform nil)
    1013    (sys::methods :initarg :methods :initform nil)
    1014    (sys::method-class :initarg :method-class
    1015                       :initform +the-standard-method-class+)
    1016    (sys::%method-combination :initarg :method-combination
    1017                              :initform (std-find-method-combination 'standard))
    1018    (sys::argument-precedence-order :initarg :argument-precedence-order
    1019                                    :initform nil)
    1020    (sys::declarations :initarg :declarations :initform nil)
    1021    (sys::%documentation :initarg :documentation :initform nil)))
    1022 (defconstant +the-standard-generic-function-class+
    1023   (find-class 'standard-generic-function))
    1024 
    1025 (defun std-generic-function-p (gf)
    1026   (eq (class-of gf) +the-standard-generic-function-class+))
    10271006
    10281007(defvar *extensible-built-in-classes*
     
    15671546compare the method combination name to the symbol 'standard.")
    15681547(setf (get 'standard 'method-combination-object) +the-standard-method-combination+)
     1548
     1549(define-funcallable-primordial-class standard-generic-function (generic-function)
     1550  ((sys::name :initarg :name :initform nil)
     1551   (sys::lambda-list :initarg :lambda-list :initform nil)
     1552   (sys::required-args :initarg :required-args :initform nil)
     1553   (sys::optional-args :initarg :optional-args :initform nil)
     1554   (sys::initial-methods :initarg :initial-methods :initform nil)
     1555   (sys::methods :initarg :methods :initform nil)
     1556   (sys::method-class :initarg :method-class
     1557                      :initform +the-standard-method-class+)
     1558   (sys::%method-combination :initarg :method-combination
     1559                             :initform +the-standard-method-combination+)
     1560   (sys::argument-precedence-order :initarg :argument-precedence-order
     1561                                   :initform nil)
     1562   (sys::declarations :initarg :declarations :initform nil)
     1563   (sys::%documentation :initarg :documentation :initform nil)))
     1564(defconstant +the-standard-generic-function-class+
     1565  (find-class 'standard-generic-function))
     1566
     1567(defun std-generic-function-p (gf)
     1568  (eq (class-of gf) +the-standard-generic-function-class+))
    15691569
    15701570(defparameter *eql-specializer-table* (make-hash-table :test 'eql))
Note: See TracChangeset for help on using the changeset viewer.