Summary
,m still mixes up namespaces and renamings
Metadata
- Id: f68275af84227fe1923bbf8b8ef3937f4f615b0a
- Trac id: 911
- Type: defect
- Reporter: ckeen
- Owner:
- Cc:
- Status: closed
- Component: core tools
- Estimated difficulty:
- Resolution: worksforme
- Priority: minor
- Milestone: 4.9.0
- Version: 4.8.x
- Changetime: 2012-09-24 21:47:48 UTC
- Created: 2012-09-04 17:42:11 UTC
- Keywords: csi ,m command module system
Description
Hi,
due to a discussion on IRC I have noticed that the ,m command still does not work as desired. For example, I would expect this to work:
CHICKEN (c)2008-2011 The Chicken Team (c)2000-2007 Felix L. Winkelmann Version 4.7.5 (rev e061038) linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ] compiled 2012-08-31 on devpool08 (Linux) ; loading /home/ckellerm/.csirc ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/parley.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/chicken.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/data-structures.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/extras.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/ports.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/posix.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/srfi-1.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/srfi-13.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/srfi-18.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/stty.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/srfi-69.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/foreign.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/foreigners.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/parley.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/stty.so ... #;1> (use irc) ; loading /home/ckellerm/chickens/master/lib/chicken/6/irc.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/matchable.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/tcp.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/regex.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/irregex.import.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/irc.so ... ; loading /home/ckellerm/chickens/master/lib/chicken/6/regex.so ... #;2> ,m irc ; switching current module to `irc' #;irc:2> default-port ; not exported constant in the irc egg Error: unbound variable: irc#default-port #;irc:2> make-irc:connection ; not exported constructor of the connection record Error: unbound variable: irc#make-irc:connection #;irc:2>
Changes and comments
[2012-09-04 17:42:38 UTC] ckeen changed priority from major to minor
[2012-09-04 17:42:38 UTC] ckeen set keywords to csi ,m command module system
[2012-09-04 17:42:38 UTC] ckeen changed component from unknown to core tools
[2012-09-04 17:42:38 UTC] ckeen removed owner
[2012-09-04 22:12:49 UTC] felix changed status from new to closed
[2012-09-04 22:12:49 UTC] felix set resolution to worksforme
[2012-09-04 22:12:49 UTC] felix wrote:
This is not a bug: in compiled modules, unexported identifiers do truly not exist: they are hidden and effectively optimized away, stored in some location only known to the compiler. Unexported bindings can be inlined and removed completely in many cases. So switching into the module can not make them magically appear again. This is different when using interpreted code: here even hidden bindings still exist, even if hidden. If you think this is an inconsistency between compiled and interpreted code, you are right. But the compiler must be able to remove non-exported bindings, for performance reasons.
[2012-09-24 21:47:48 UTC] felix changed milestone from 4.8.0 to 4.9.0
[2012-09-24 21:47:48 UTC] felix wrote:
Milestone 4.8.0 deleted