Skip to content
Snippets Groups Projects
Commit e10b73e5 authored by gerd's avatar gerd
Browse files

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:.
parent 20254db5
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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}
......
......@@ -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:
......
......@@ -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*)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment