On Fri, Jul 13, 2012 at 10:47 PM, Sven Van Caekenberghe <sven@beta9.be> wrote:

On 13 Jul 2012, at 15:44, Marcus Denker wrote:

> Issue 6356: � some cleanups related to methods moved away from SmalltalkImage (vm and os related)
> � � � http://code.google.com/p/pharo/issues/detail?id=6356

OK. but how can a poor library developer trying to write code that has to remain compatible with 1.3 and 1.4 deal with this ?


Last version of Fuel works from Pharo 1.1 to 2.0. What we do is to have "Compatibility packages" which are usually some overrides in a few methods. Fuel's "trunk" is CLEAN, as good as possible (no need of any backward compatibility) and expected to work in latest Pharo while all the rest is fixed in those overrides for those compatibility packages. For example, see ConfigurationOfFuel:

spec
package: 'FuelCompatibilityForSqueak' with: [ spec requires: #( 'FuelCompatibilityBeforePharo12' ) ];
package: 'FuelCompatibilityBeforePharo12' with: [ spec requires: #( 'FuelCompatibilityBeforePharo13' ) ];
package: 'FuelCompatibilityBeforePharo13' with: [ spec requires: #( 'FuelCompatibilityBeforePharo14' ) ];
package: 'FuelCompatibilityBeforePharo14' with: [ spec requires: #( 'FuelCompatibilityBeforePharo20' ) ];
package: 'FuelCompatibilityBeforePharo20' with: [ spec requires: #( 'Fuel' ) ].

The browse any of those packages to see what I mean. �

Maybe something like this can help you.

Cheers
Have a look at

ZnUserAgentSettings class>>#platformDetails
� � � � ^ self platform platformName, ' ', self platform platformSubtype, ' ', self platform osVersion

Now, this is a deprecated class in Zn as well, but rewriting

� self platform osVersion

to

� self platform os version

does not seem to give the same result in 1.4

Any suggestions ?

Thx,

Sven






--
Mariano
http://marianopeck.wordpress.com