[REBOL] Re: Version incompatibilities
From: SunandaDH::aol::com at: 27-Nov-2005 16:00
Thanks for the suggestions.....
> Even back then when GET did not accept NONE, I would have coded
> that as:
Neat. That would probably have bypassed *this* problem if we'd used that
Bit it may have led to slightly more convoluted code in a case like this:
attempt [return get in my-object 'field]
;; code here for initialising my-object/field
Either way, the substantive issue is that of behaviour changes that make it
harder to migrate REBOL code to newer versions. 'get is just the one we've
found so far.
We've also hit the odd platform inconsistency that means we have to swerve
around issues on different platforms (the live site runs UNIX. The test servers
are Windows and MAC OS), Surprisingly few of those, luckily.
> Anyway, a possible solution to your problem is:
The potential problem there is there may be some built-in mezzanine code that
expects the new behaviour -- after all, Carl made the change for some reason.
So we'd have to do some fairly extensive testing to check we weren't
introducing bugs at that level.
> ** patch the current Core so that it behaves like the old one. ;)
Ideally, there'd be a standard way to do that:
system/compatibility/get: [accept-none: false]
Ditto for other changes in behaviour -- like head reverse.
Though (as noted above) it may need RT-supplied mezzanines to operate in a
different system/compatibility context to application code.