0.7.12.18:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 3 Feb 2003 16:23:55 +0000 (16:23 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 3 Feb 2003 16:23:55 +0000 (16:23 +0000)
Make genesis pass package documentation on as well as all the
symbol information
... add another element to *COLD-PACKAGE-SYMBOLS*, yuk
... test for documentation of (FIND-PACKAGE SB-EXT), because users
will legitimately want to know about it.
Slightly more OAOOness for generalized function names
... FUN-NAME-BLOCK-NAME now knows about CLASS-PREDICATE

NEWS
src/code/early-extensions.lisp
src/code/target-package.lisp
src/compiler/generic/genesis.lisp
tests/interface.pure.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 1f67cf1..498a62e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1529,12 +1529,16 @@ changes in sbcl-0.7.13 relative to sbcl-0.7.12:
     (SAFETY 3) code, errors will be signalled in almost all cases if
     invalid sequence bounding indices are passed to functions defined
     by ANSI to operate on sequences.
+  * fixed a bug in the build procedure: documentation of SBCL-specific
+    packages is now preserved and available in the final Lisp image.
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** ARRAY-IN-BOUNDS-P now allows arbitrary integers as arguments,
        not just nonnegative fixnums;
     ** the logical bit-array operators such as BIT-AND now accept an
        explicit NIL for their "opt-arg" argument (to indicate a
        freshly-consed result bit-array);
+    ** ELT now signals an error on an invalid sequence index in safe
+       code;
 
 planned incompatible changes in 0.7.x:
   * (not done yet, but planned:) When the profiling interface settles
index c342e86..5163fe1 100644 (file)
   (cond ((symbolp fun-name)
         fun-name)
        ((and (consp fun-name)
-             (= (length fun-name) 2)
-             (eq (first fun-name) 'setf))
+             (legal-fun-name-p fun-name))
         (second fun-name))
        (t
         (error "not legal as a function name: ~S" fun-name))))
index 23e9150..e7a79f2 100644 (file)
        (add-symbol external symbol))
 
       ;; Put shadowing symbols in the shadowing symbols list.
-      (setf (package-%shadowing-symbols pkg) (sixth spec))))
+      (setf (package-%shadowing-symbols pkg) (sixth spec))
+      ;; Set the package documentation
+      (setf (package-doc-string pkg) (seventh spec))))
 
   ;; FIXME: These assignments are also done at toplevel in
   ;; boot-extensions.lisp. They should probably only be done once.
index 10641b3..cdd0941 100644 (file)
 ;;;    <external-symbols>
 ;;;    <imported-internal-symbols>
 ;;;    <imported-external-symbols>
-;;;    <shadowing-symbols>)
+;;;    <shadowing-symbols>
+;;;    <package-documentation>)
 ;;;
 ;;; KLUDGE: It would be nice to implement the sublists as instances of
 ;;; a DEFSTRUCT (:TYPE LIST). (They'd still be lists, but at least we'd be
       (let* ((cold-package (car cold-package-symbols-entry))
             (symbols (cdr cold-package-symbols-entry))
             (shadows (package-shadowing-symbols cold-package))
+            (documentation (string-to-core (documentation cold-package t)))
             (internal *nil-descriptor*)
             (external *nil-descriptor*)
             (imported-internal *nil-descriptor*)
                               (cold-push handle imported-external)
                               (cold-push handle external)))))))
        (let ((r *nil-descriptor*))
+         (cold-push documentation r)
          (cold-push shadowing r)
          (cold-push imported-external r)
          (cold-push imported-internal r)
index 6208384..5d37468 100644 (file)
@@ -41,3 +41,6 @@
 (subtypep 'fixnum 'integer nil)
 (upgraded-array-element-type '(mod 5) nil)
 (upgraded-complex-part-type '(single-float 0.0 1.0) nil)
+
+;;; We should have documentation for our extension package:
+(assert (documentation (find-package "SB-EXT") t))
index f28a660..83a50fd 100644 (file)
@@ -18,4 +18,4 @@
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.12.17"
+"0.7.12.18"