0.8.20.26:
[sbcl.git] / src / code / target-package.lisp
index f85db16..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*)
@@ -985,7 +987,8 @@ error if any of PACKAGES is not a valid package designator."
             :package package
             :format-control
             "~@<These symbols are not accessible in the ~A package:~2I~_~S~@:>"
-            :format-arguments (list (package-%name package) missing)))
+            :format-arguments (list (package-%name package) missing))
+           'import (package-%name package))
          (import missing package))
        (import imports package))