X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fearly-low.lisp;h=046f3cffe3f3f94ccb24a0cb4d051bdba29a21b1;hb=5e291412ff095a2016388eee8ac265e12d565119;hp=5db39e878d41cf3e9fa4c426fad587fa839985fc;hpb=2912f5f6c2acb2da3b9fcc0f5afd1ca89782a9f8;p=sbcl.git diff --git a/src/pcl/early-low.lisp b/src/pcl/early-low.lisp index 5db39e8..046f3cf 100644 --- a/src/pcl/early-low.lisp +++ b/src/pcl/early-low.lisp @@ -60,6 +60,17 @@ (classoid-layout classoid)) 'defstruct-description))))) +;;; Symbol contruction utilities +(defun format-symbol (package format-string &rest format-arguments) + (without-package-locks + (intern (apply #'format nil format-string format-arguments) package))) + +(defun make-class-symbol (class-name) + (format-symbol *pcl-package* "*THE-CLASS-~A*" (symbol-name class-name))) + +(defun make-wrapper-symbol (class-name) + (format-symbol *pcl-package* "*THE-WRAPPER-~A*" (symbol-name class-name))) + (defun condition-type-p (type) (and (symbolp type) (condition-classoid-p (find-classoid type nil)))) @@ -72,7 +83,8 @@ *the-class-integer* *the-class-float* *the-class-cons* *the-class-complex* *the-class-character* *the-class-bit-vector* *the-class-array* - *the-class-stream* + *the-class-stream* *the-class-file-stream* + *the-class-string-stream* *the-class-slot-object* *the-class-structure-object*