0.8.20.26:
authorChristophe Rhodes <csr21@cam.ac.uk>
Wed, 16 Mar 2005 10:21:46 +0000 (10:21 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Wed, 16 Mar 2005 10:21:46 +0000 (10:21 +0000)
Fix MAKE-PACKAGE.ERROR.[34] (PFD ansi-tests, exposed by removal
of the TOPLEVEL restart)

NEWS
src/code/target-package.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 46a9a7e..f2d24a2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -49,6 +49,8 @@ changes in sbcl-0.8.21 (0.9alpha.1?) relative to sbcl-0.8.20:
     on x86-64
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** MISC.564: defined out-of-line version of %ATAN2 on x86.
+    ** attempting to create a package with a colliding nickname causes
+       correctable errors to be signalled.
 
 changes in sbcl-0.8.20 (0.9alpha.0?) relative to sbcl-0.8.19:
   * fixed inspection of specialized arrays. (thanks to Simon Alexander)
index d835545..b501208 100644 (file)
@@ -477,15 +477,17 @@ error if any of PACKAGES is not a valid package designator."
             (push n (package-%nicknames package)))
            ((eq found package))
            ((string= (the string (package-%name found)) n)
-             (error 'simple-package-error
-                    :package package
-                    :format-control "~S is a package name, so it cannot be a nickname for ~S."
-                    :format-arguments (list n (package-%name package))))
+             (cerror "Ignore this nickname."
+                    'simple-package-error
+                    :package package
+                    :format-control "~S is a package name, so it cannot be a nickname for ~S."
+                    :format-arguments (list n (package-%name package))))
            (t
-             (error 'simple-package-error
-                    :package package
-                    :format-control "~S is already a nickname for ~S."
-                    :format-arguments (list n (package-%name found))))))))
+             (cerror "Leave this nickname alone."
+                    'simple-package-error
+                    :package package
+                    :format-control "~S is already a nickname for ~S."
+                    :format-arguments (list n (package-%name found))))))))
 
 (defun make-package (name &key
                          (use '#.*default-package-use-list*)
index 0e507e6..58c0a3d 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.20.25"
+"0.8.20.26"