From 929fde778f2e5a422f9bcd8ad5f6dcf1dbfccf15 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Wed, 16 Mar 2005 10:21:46 +0000 Subject: [PATCH] 0.8.20.26: Fix MAKE-PACKAGE.ERROR.[34] (PFD ansi-tests, exposed by removal of the TOPLEVEL restart) --- NEWS | 2 ++ src/code/target-package.lisp | 18 ++++++++++-------- version.lisp-expr | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/NEWS b/NEWS index 46a9a7e..f2d24a2 100644 --- 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) diff --git a/src/code/target-package.lisp b/src/code/target-package.lisp index d835545..b501208 100644 --- a/src/code/target-package.lisp +++ b/src/code/target-package.lisp @@ -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*) diff --git a/version.lisp-expr b/version.lisp-expr index 0e507e6..58c0a3d 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 1.7.10.4