From e10b73e599fbcd39d84832ec8338754c6f59e72a Mon Sep 17 00:00:00 2001 From: gerd <gerd> Date: Tue, 20 May 2003 20:08:05 +0000 Subject: [PATCH] Move PCL's declaration identifiers SLOTS, AUTO-COMPILE, NOT-AUTO-COMPILE to EXT. To bootstrap, using pmai's scripts, copy boot11.lisp to target:bootstrap.lisp and build. * src/bootfiles/18e/boot11.lisp: New file. * src/code/exports.lisp ("EXTENSIONS"): Export slots, auto-compile, no-auto-compile. * src/pcl/info.lisp: Don't export slots, auto-compile, not-auto-compile. * src/docs/cmu-user/extensions.tex: Declaration identifiers moved from pcl: to ext:. --- code/exports.lisp | 7 +++++-- docs/cmu-user/extensions.tex | 22 +++++++++++----------- general-info/release-19a.txt | 2 ++ pcl/info.lisp | 3 +-- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/code/exports.lisp b/code/exports.lisp index e6a05f169..af5a44162 100644 --- a/code/exports.lisp +++ b/code/exports.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.210 2003/05/15 11:24:34 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.211 2003/05/20 20:08:05 gerd Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1074,7 +1074,10 @@ "STREAM-WRITE-BYTE" "STREAM-WRITE-CHAR" "STREAM-WRITE-STRING" "STREAM-READ-SEQUENCE" "STREAM-WRITE-SEQUENCE" - "&PARSE-BODY")) + "&PARSE-BODY" + + ;; PCL declaration identifiers. + "SLOTS" "AUTO-COMPILE" "NOT-AUTO-COMPILE")) (defpackage "LOOP") (dolist diff --git a/docs/cmu-user/extensions.tex b/docs/cmu-user/extensions.tex index 6766d5801..13c4be4af 100644 --- a/docs/cmu-user/extensions.tex +++ b/docs/cmu-user/extensions.tex @@ -1905,11 +1905,11 @@ will occur if \code{value} is not a \code{fixnum}. In method \cindex{slot access optimization} \cindex{slot declarations} -The declaration \code{pcl:slots} is used for optimizing slot access in +The declaration \code{ext:slots} is used for optimizing slot access in methods. \begin{example} -declare (pcl:slots specifier*) +declare (ext:slots specifier*) specifier ::= (quality class-entry*) quality ::= SLOT-BOUNDP | INLINE @@ -1937,7 +1937,7 @@ Example: (a b)) (defmethod bar ((x foo)) - (declare (pcl:slots (slot-boundp foo))) + (declare (ext:slots (slot-boundp foo))) (list (slot-value x 'a) (slot-value x 'b))) \end{example} @@ -1962,7 +1962,7 @@ Example: (a b)) (defmethod bar ((x foo)) - (declare (pcl:slots (inline (foo a)))) + (declare (ext:slots (inline (foo a)))) (list (slot-value x 'a) (slot-value x 'b))) \end{example} @@ -1978,7 +1978,7 @@ If a class is \code{proclaim}ed to use inline slot access before it is defined, the class is defined at compile time. Example: \begin{example} -(declaim (pcl:slots (inline (foo slot-a)))) +(declaim (ext:slots (inline (foo slot-a)))) (defclass foo () ...) (defclass bar (foo) ...) \end{example} @@ -2042,8 +2042,8 @@ class changes. Two declarations control which methods are automatically recompiled. \begin{example} -declaim (pcl:auto-compile specifier*) -declaim (pcl:not-auto-compile specifier*) +declaim (ext:auto-compile specifier*) +declaim (ext:not-auto-compile specifier*) specifier ::= gf-name | (gf-name qualifier* (specializer*)) gf-name ::= the name of a generic function @@ -2061,7 +2061,7 @@ of that generic function. Examples: \begin{example} -(declaim (pcl:auto-compile foo)) +(declaim (ext:auto-compile foo)) (defmethod foo :around ((x bar)) ...) \end{example} @@ -2069,7 +2069,7 @@ The around-method \code{foo} will be automatically recompiled because the declamation applies to all methods with name \code{foo}. \begin{example} -(declaim (pcl:auto-compile (foo (bar)))) +(declaim (ext:auto-compile (foo (bar)))) (defmethod foo :around ((x bar)) ...) (defmethod foo ((x bar)) ...) \end{example} @@ -2078,8 +2078,8 @@ The around-method will not be automatically recompiled, but the primary method will. \begin{example} -(declaim (pcl:auto-compile foo)) -(declaim (pcl:not-auto-compile (foo :around (bar))) +(declaim (ext:auto-compile foo)) +(declaim (ext:not-auto-compile (foo :around (bar))) (defmethod foo :around ((x bar)) ...) (defmethod foo ((x bar)) ...) \end{example} diff --git a/general-info/release-19a.txt b/general-info/release-19a.txt index 16a4d257c..34e299a70 100644 --- a/general-info/release-19a.txt +++ b/general-info/release-19a.txt @@ -119,6 +119,8 @@ New in this release: - SLOT-VALUE, (SETF SLOT-VALUE), SLOT-BOUNDP working with conditions. - (SETF SLOT-VALUE) working on read-only structure slots like in other implementations. + - The declaration identifiers SLOTS, AUTO-COMPILE, + NOT-AUTO-COMPILE have been moved from PCL to EXT. * Improvements to Hemlock, the Emacs-like editor: diff --git a/pcl/info.lisp b/pcl/info.lisp index 0b547236b..377349a0a 100644 --- a/pcl/info.lisp +++ b/pcl/info.lisp @@ -36,7 +36,7 @@ ;;; GF is actually non-accessor GF. Clean this up. ;;; (setf symbol-value) should be handled like (setf fdefinition) -(file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/info.lisp,v 1.5 2003/05/07 17:14:24 gerd Exp $") +(file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/info.lisp,v 1.6 2003/05/20 20:08:04 gerd Exp $") (in-package "PCL") @@ -525,7 +525,6 @@ ;;; Set up SLOTS, AUTO-COMPILE, and NOT-AUTO-COMPILE as a recognizable ;;; declaration. ;;; -(export '(slots auto-compile not-auto-compile)) (declaim (declaration slots auto-compile not-auto-compile)) (pushnew 'slots *variable-declarations-with-argument*) (pushnew 'slots walker:*variable-declarations*) -- GitLab