String refactoring

Andreas Raab andreas.raab at gmx.de
Tue Apr 12 01:36:44 UTC 2005


Hi Yoshiki,

>   I found one project that doesn't load into 3.8-6638 with StringRefactor.sar:
> 
> http://www.cue.im.dendai.ac.jp/~masuda/squeak/projects/2004/04ki101/04ki101.pr

I was able to load it just fine - can you say what kind of problem you 
had? I did notice that I got a DNU after entering the project which was 
caused by one of the many inconsistencies of String and MultiString. 
Perhaps this is what you're referring to?

The problem is that MultiString #capitalized wasn't implemented and that 
the project has an iVar called fish\uXYZ in it. When constructing the 
getter and setter selector (due to the absence of having #capitalized) 
the system would create #getfish\uXYZ and setfish\uXYZ: whereas after 
the refactoring it uses the (obviously correct) getFish\uXYZ and 
setFish\uXYZ: - and I am not sure what can or should be done to fix 
this. This is definitely broken in the *current* version and anything 
that ever implements MultiString>>capitalized (and trust me, some will 
notice that a string with -say- an Umlaut or Accent which escapes into 
MultiString) will break these projects in precisely the same way.

Suggestions?

Cheers,
   - Andreas



More information about the Squeak-dev mailing list