String refactoring

Yoshiki Ohshima yoshiki at squeakland.org
Tue Apr 12 03:20:15 UTC 2005


  Andreas,

> 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?

  Yes.

> 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.

  Yes.

> Suggestions?

  Oh, well.  Probably we could do the bug compatible behavior for the
older projects.  Also, when designing the future systems, avoiding the
dependency on any sort of upper/lower case distinction/manipulation.

-- Yoshiki



More information about the Squeak-dev mailing list