X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefs.lisp;h=2de8e271a574cd59563ec5f0c8662bdc4045486c;hb=b171183c7115b865b00662ff346061ecd5291ce4;hp=d78d02c7df186d6f2d8f3313b267d599faa1b493;hpb=2912f5f6c2acb2da3b9fcc0f5afd1ca89782a9f8;p=sbcl.git diff --git a/src/pcl/defs.lisp b/src/pcl/defs.lisp index d78d02c..2de8e27 100644 --- a/src/pcl/defs.lisp +++ b/src/pcl/defs.lisp @@ -216,19 +216,13 @@ (defun get-built-in-class-symbol (class-name) (or (cadr (assq class-name *built-in-class-symbols*)) - (let ((symbol (intern (format nil - "*THE-CLASS-~A*" - (symbol-name class-name)) - *pcl-package*))) + (let ((symbol (make-class-symbol class-name))) (push (list class-name symbol) *built-in-class-symbols*) symbol))) (defun get-built-in-wrapper-symbol (class-name) (or (cadr (assq class-name *built-in-wrapper-symbols*)) - (let ((symbol (intern (format nil - "*THE-WRAPPER-OF-~A*" - (symbol-name class-name)) - *pcl-package*))) + (let ((symbol (make-wrapper-symbol class-name))) (push (list class-name symbol) *built-in-wrapper-symbols*) symbol))) @@ -426,6 +420,10 @@ (defclass pcl-class (class) ((class-precedence-list :reader class-precedence-list) + ;; KLUDGE: see note in CPL-OR-NIL + (cpl-available-p + :reader cpl-available-p + :initform nil) (can-precede-list :initform () :reader class-can-precede-list) @@ -665,7 +663,7 @@ :initarg :documentation) ;; We need to make a distinction between the methods initially set ;; up by :METHOD options to DEFGENERIC and the ones set up later by - ;; DEFMETHOD, because ANSI's specifies that executing DEFGENERIC on + ;; DEFMETHOD, because ANSI specifies that executing DEFGENERIC on ;; an already-DEFGENERICed function clears the methods set by the ;; previous DEFGENERIC, but not methods set by DEFMETHOD. (Making ;; this distinction seems a little kludgy, but it has the positive