[ENH] VM tweaks for Islands project

Lex Spoon lex at cc.gatech.edu
Thu Jul 10 04:19:40 UTC 2003


"Andreas Raab" <andreas.raab at gmx.de> wrote:
> The only potential issue I could see is that primitiveStringReplace has a *slightly* different boundary check than the one being in 3.6a VMMaker. It is not clear to me whether the difference is intentional or not and (lacking any history information in the SAR file, sigh...) I can't see whether this was changed by VMMaker or by the Islands changed. In any case, it needs to be sorted out.
> 

Under threat of the comfy chair, I must admit it was intentional.  The
idea, as I recall through the dim fogginess of time, was that you could
now do a 0-length replacement--a noop--without the primitive failing.  A
0-length replacement is specified by having the "stop" index be one less
than the "start" index.

I'm struggling amazingly hard not to say any more about this tiny
subject.  I've now written and deleted 3-4 paragraphs!  Let me just say
that if this change continues to be annoying, I'd be fine with the check
going back the way it was.

As for the previous changes, note that Islands happened in Squeak
2.8 and 2.9, and that my previous tweak to this method happened
two years prior to Islands -- whatever version of Squeak that would
be.  Surely that would explain Tim's Twilight Zone observation
of the method that was changed but yet never patched.  It was
patched in the 2.x update stream! 

Lex



More information about the Squeak-dev mailing list