Finalization (was Re: Exponents of numbers)

Daniel Vainsencher daniel.vainsencher at gmail.com
Thu Sep 15 08:40:30 UTC 2005


Hi Andreas.

Talking about getting bitten... is finalization *supposed* to not 
distinguish between objects that are #= but not #== ?

Finalization in 3.9a 6680 was completely broken (never did anything), 
and in 3.8 (and maybe before) would hold one executor for every #= 
equivalence class.

Assuming none of this is by design, test cases and fixes are in:
http://source.squeakfoundation.org/inbox/System-dvf.26.mcz
and
http://source.squeakfoundation.org/inbox/Collections-dvf.22.mcz

I'd like your opinions on those, I'm not particularly knowledgeable 
about finalization. BTW, after the fix a WeakRegistry's Default should 
be nilled out for proper reinitialization to take place.

Daniel

Andreas Raab wrote:
> Hi -
> 
> I just got horribly bitten by the fact that 16r1d4 is being parsed as 
> 65536 (yes, it really does). Looking at the methods in question it 
> appears that Number class>>canParseExponentFor:base:from: acceps *all* 
> of e, d, or q as exponent indicator.
> 
> Why??? This seems completely superfluous and causes actual harm if you 
> happen to misspell a hex constant.
> 
> Cheers,
>   - Andreas
> 
> 



More information about the Squeak-dev mailing list