projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.48.17: hopefully fix build on win32
[sbcl.git]
/
src
/
code
/
target-package.lisp
diff --git
a/src/code/target-package.lisp
b/src/code/target-package.lisp
index
0e0a0aa
..
3f9bb9a
100644
(file)
--- a/
src/code/target-package.lisp
+++ b/
src/code/target-package.lisp
@@
-599,7
+599,7
@@
implementation it is ~S." *default-package-use-list*)
(cerror "Clobber existing package."
"A package named ~S already exists" name)
(setf clobber t))
(cerror "Clobber existing package."
"A package named ~S already exists" name)
(setf clobber t))
- (with-packages ()
+ (with-package-graph ()
;; Check for race, signal the error outside the lock.
(when (and (not clobber) (find-package name))
(go :restart))
;; Check for race, signal the error outside the lock.
(when (and (not clobber) (find-package name))
(go :restart))
@@
-640,9
+640,10
@@
implementation it is ~S." *default-package-use-list*)
(defun rename-package (package-designator name &optional (nicknames ()))
#!+sb-doc
"Changes the name and nicknames for a package."
(defun rename-package (package-designator name &optional (nicknames ()))
#!+sb-doc
"Changes the name and nicknames for a package."
+ (let ((package nil))
(tagbody :restart
(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))
(found (find-package name))
(nicks (mapcar #'string nicknames)))
(unless (or (not found) (eq found package))
@@
-668,8
+669,8
@@
implementation it is ~S." *default-package-use-list*)
(setf (package-%name package) name
(gethash name names) package
(package-%nicknames 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
(defun delete-package (package-designator)
#!+sb-doc
@@
-966,8
+967,8
@@
uninterned."
(remove symbol shadowing-symbols)))
(multiple-value-bind (s w) (find-symbol name package)
(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))
(nuke-symbol (if (eq w :internal)
(package-internal-symbols package)
(package-external-symbols package))