Date: Sunday, December 26, 2010 @ 09:03:48 Author: rtoy Path: /project/cmucl/cvsroot/src/code
Modified: package.lisp
Unintern removes the wrong symbol. See https://bugs.launchpad.net/sbcl/+bug/693796.
--------------+ package.lisp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Index: src/code/package.lisp diff -u src/code/package.lisp:1.80 src/code/package.lisp:1.81 --- src/code/package.lisp:1.80 Tue Apr 20 13:57:45 2010 +++ src/code/package.lisp Sun Dec 26 09:03:48 2010 @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /project/cmucl/cvsroot/src/code/package.lisp,v 1.80 2010-04-20 17:57:45 rtoy Rel $") + "$Header: /project/cmucl/cvsroot/src/code/package.lisp,v 1.81 2010-12-26 14:03:48 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1444,8 +1444,8 @@ (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))