(defun rename-package (package-designator name &optional (nicknames ()))
#!+sb-doc
"Changes the name and nicknames for a package."
+ (let ((package nil))
(tagbody :restart
- (let* ((package (find-undeleted-package-or-lose package-designator))
- (name (package-namify name))
+ (setq package (find-undeleted-package-or-lose package-designator))
+ (let* ((name (package-namify name))
(found (find-package name))
(nicks (mapcar #'string nicknames)))
(unless (or (not found) (eq found package))
(setf (package-%name package) name
(gethash name names) package
(package-%nicknames package) ()))
- (%enter-new-nicknames package nicknames))
- package)))
+ (%enter-new-nicknames package nicknames))))
+ package))
(defun delete-package (package-designator)
#!+sb-doc
(remove symbol shadowing-symbols)))
(multiple-value-bind (s w) (find-symbol name package)
- (declare (ignore s))
- (cond ((or (eq w :internal) (eq w :external))
+ (cond ((not (eq symbol s)) nil)
+ ((or (eq w :internal) (eq w :external))
(nuke-symbol (if (eq w :internal)
(package-internal-symbols package)
(package-external-symbols package))