On Jan 21, 2010, at 19:56 , Lukas Renggli wrote: >> Any ideas where this black magic comes from ? > > From what I know Symbols always end up in the out-pointers because > they are always referenced at least from the Symbol table.
Not necessarily. The symbol table is a *weak* set and hence if you don't strongly hold onto the symbols they get into the segment array and not into the out pointers! This is a potential source of subtle problems because after loading the segment you end up with duplicated symbols (we run into this with Cmsbox...). The easiest solution is to create a temporary variable and assign "Symbol allSymbols" while creating a segment. > That means they are serialized by the reference stream, which means > that the not so black magic happens in ReferenceStream>>#readSymbol. Yep. Cheers, Adrian > > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
