[cmucl-imp] [cmucl-commit] CMUCL commit: src/code (package.lisp)

Stas Boukarev stassats at gmail.com
Sun Dec 26 15:32:07 CET 2010


Madhu <madhu at cs.unm.edu> writes:

>   |From: Raymond Toy <rtoy at common-lisp.net>
>   |Date: Sun, 26 Dec 2010 09:03:48 -0500
>   |MIME-Version: 1.0
>   |Content-Type: text/plain; charset="us-ascii"
>   |
>   |    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.
>
> [It would be nice to have the whole relevant description in the
>  repository, as part of the commit, instead of citing some website
>  which may or may not be offline]
>
> I believe this patch would break the following use case which used to
> work earlier
>
> $ cat test.l
> (in-package "CL-USER")
> (eval-when (load eval compile)
>   (when (find-package "FOO-PACKAGE") (delete-package "FOO-PACKAGE"))
>   (when (find-package "BAR-PACKAGE") (delete-package "BAR-PACKAGE")))
> (defpackage "FOO-PACKAGE" (:export "BAR-SYMBOL"))
> (defpackage "BAR-PACKAGE")
> (eval-when (load eval compile)
>   (unintern 'foo-package:bar-symbol "FOO-PACKAGE"))
>
> (assert (not (find-symbol "BAR-SYMBOL" "FOO-PACKAGE")))
>
> * (load (compile-file "test.l"))
It breaks non-standard code, that is right.

-- 
With Best Regards, Stas.


More information about the cmucl-imp mailing list