Menu

#104 inspector deletes wrong package on exit

lisp error
closed-fixed
clisp (524)
5
2002-04-25
2002-04-24
No

[after a bug in the inspector I've yet to reproduce
and report, I landed in the debugger:]
1. Break INSPECT-TMP-PACKAGE-552[45]> (lisp:in-
package "USER")
#<PACKAGE COMMON-LISP-USER>
1. Break INSPECT-TMP-PACKAGE-552[45]> *package*
#<PACKAGE COMMON-LISP-USER>
1. Break INSPECT-TMP-PACKAGE-552[45]> :a

[*package* invalid]> (lisp:in-package "USER")

*** - There is no package with name "USER"
1. Break [*package* invalid]> :a

[*package* invalid]> (lisp:in-package "LISP")
#<PACKAGE COMMON-LISP>
CL[46]> (list-all-packages)
(#<PACKAGE GSTREAM> #<PACKAGE GRAY> #<PACKAGE I18N>
#<PACKAGE SOCKET>
#<PACKAGE POSIX> #<PACKAGE LDAP> #<PACKAGE FFI>
#<PACKAGE SCREEN>
#<PACKAGE CUSTOM> #<PACKAGE EXT> #<PACKAGE CLOS>
#<PACKAGE CHARSET>
#<PACKAGE KEYWORD> #<PACKAGE SYSTEM> #<PACKAGE COMMON-
LISP>
#<PACKAGE INSPECT-TMP-PACKAGE-552>)
; "USER" is gone, "INSPECT-TMP-PACKAGE-552" is still
there...

Reproducable scenario:
> (inspect 'charset:iso-8859-1)
INSPECT-- type :h for help; :q to return to the REPL --
-> :e (break)

** - Continuable Error
Break
If you continue (by typing 'continue'): Return from
BREAK loop
1. Break INSPECT-TMP-PACKAGE-728[52]> (in-
package "USER")
#<PACKAGE USER>
1. Break INSPECT-TMP-PACKAGE-728[52]> :a

[*package* invalid]>

The inspector ought to delete the package it creates,
not the current *package* at the time some unwind-
protect executes.

Regards,
Jörg Höhle

Discussion

  • Sam Steingold

    Sam Steingold - 2002-04-25
    • status: open --> closed-fixed
     
  • Sam Steingold

    Sam Steingold - 2002-04-25

    Logged In: YES
    user_id=5735

    thank you for your bug report.
    the bug has been fixed in the CVS tree.
    you can either wait for the next release (recommended)
    or check out the current CVS tree (see http://clisp.cons.org\)
    and build CLISP from the sources (be advised that between
    releases the CVS tree is very unstable and may not even build
    on your platform).

     

Log in to post a comment.