Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000

Stéphane Ducasse
John

Do you know the meaning of that
        Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000]
that I turn it into a nice message?

Stef

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000

johnmci
Ah memories.

That is "Oh is this running on a macintosh, if so then is it running on OSX  versus OS 9?"

However I will point out that there is no way to run a pharo image on  OS 9 because I've never built a Closure VM for that version of the operating system.

So looking at
FreeTypeFontProvider>>platformAbsoluteDirectories
you can dispose of the check for os-x since it will always be os-x if the platform is macintosh

HostSystemMenuMacOSX>>isActiveHostMenuProxyClass
is still required since it's a subclass of the OS-9 behaviour.

HostSystemMenusTest
I note it won't trigger the OS-9 code, so you *could* remove those like in
testCommandIDMacOnly

" (SmalltalkImage current osVersion asNumber < 1000)
                ifTrue: [^self].
"

but the
        (SmalltalkImage current osVersion asNumber >= 1000 and: [SmalltalkImage current osVersion asNumber < 1030])
still is valid.

testCountsMacOnly
has (SmalltalkImage current  osVersion asNumber >= 1000)


The JapaneseEnvironment & KoreanEnvironment seem to be deciding if os-x thenUTF8 fonts

Ffenestri
of course was written for os-9 and os-x, so there is os-9 and os-x flavors/subclasses to decide on.

MacOSXPlatform>>isActivePlatform
confirms that it's osx, mind there is no os-9 flavour, so checking for os-x is kinda pointless.


On 2010-03-17, at 1:43 PM, Stéphane Ducasse wrote:

> John
>
> Do you know the meaning of that
> Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000]
> that I turn it into a nice message?
>
> Stef
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000

David T. Lewis
On Wed, Mar 17, 2010 at 03:02:10PM -0700, John M McIntosh wrote:
> Ah memories.
>
> That is "Oh is this running on a macintosh, if so then is it running on OSX  versus OS 9?"

In OSProcess, I'm using

OSProcess class>>isUnixMac
        "True if the platform is Mac OS on OSX"
        | osVersion numericOsVersion |
        osVersion := self osVersion.
        ^ ('darwin*' match: osVersion "Ian's VM")
                or: [numericOsVersion := osVersion asInteger ifNil: [0].
                        (self platformName = 'Mac OS') and: [numericOsVersion >= 1000] "John's VM"]

> but the
> (SmalltalkImage current osVersion asNumber >= 1000 and: [SmalltalkImage current osVersion asNumber < 1030])
> still is valid.

What is the significance of version 1030?

Dave


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000

Stéphane Ducasse
Thanks.
I will publish what I did and we can iterate from here.

I have
        isUnix
        isRiscOS
        isMacOS
        isWin32
        isWin32CE

And I imagine that I will need
        isMacOS9
        isMacOSX

On Mar 18, 2010, at 1:03 AM, David T. Lewis wrote:

> On Wed, Mar 17, 2010 at 03:02:10PM -0700, John M McIntosh wrote:
>> Ah memories.
>>
>> That is "Oh is this running on a macintosh, if so then is it running on OSX  versus OS 9?"
>
> In OSProcess, I'm using
>
> OSProcess class>>isUnixMac
> "True if the platform is Mac OS on OSX"
> | osVersion numericOsVersion |
> osVersion := self osVersion.
> ^ ('darwin*' match: osVersion "Ian's VM")
> or: [numericOsVersion := osVersion asInteger ifNil: [0].
> (self platformName = 'Mac OS') and: [numericOsVersion >= 1000] "John's VM"]
>
>> but the
>> (SmalltalkImage current osVersion asNumber >= 1000 and: [SmalltalkImage current osVersion asNumber < 1030])
>> still is valid.
>
> What is the significance of version 1030?

Yes this was my question?




>
> Dave
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000

johnmci

On 2010-03-18, at 12:35 AM, Stéphane Ducasse wrote:

> Thanks.
> I will publish what I did and we can iterate from here.
>
> I have
> isUnix
> isRiscOS
> isMacOS
> isWin32
> isWin32CE
>
> And I imagine that I will need
> isMacOS9
> isMacOSX
isMac

isiPhone
        "Answer true if running on iPhone"

        ^ (self platformName = 'iPhone')

So one of two things can happen here

(1) that you retain the isMacOS9 and isMacOSX to retain the existing usage where we have an OS9 codebase and a OS-X subclassed codebase.

(2)  Or  you drop OS9 completely and folded the OSX & OS9 into a
single class.

Personally I think folding the classes together is a better choice since a closure based image won't run on OS9.


>> What is the significance of version 1030?
>
> Yes this was my question?

In that case the behavior of the operating system was different between 10.0 and 10.3 versus 10.3 onwards. So
to make the tests past on 10.2 it had to be different from what happens when you run 10.4

--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk isMacOS ifTrue: [ Smalltalk osVersion asNumber >= 1000

Stéphane Ducasse
>> Thanks.
>> I will publish what I did and we can iterate from here.
>>
>> I have
>> isUnix
>> isRiscOS
>> isMacOS
>> isWin32
>> isWin32CE
>>
>> And I imagine that I will need
>> isMacOS9
>> isMacOSX
>
> isMac
>
> isiPhone
> "Answer true if running on iPhone"
>
> ^ (self platformName = 'iPhone')
>
> So one of two things can happen here
>
> (1) that you retain the isMacOS9 and isMacOSX to retain the existing usage where we have an OS9 codebase and a OS-X subclassed codebase.
>
> (2)  Or  you drop OS9 completely and folded the OSX & OS9 into a
> single class.
>
> Personally I think folding the classes together is a better choice since a closure based image won't run on OS9.
>
>
>>> What is the significance of version 1030?
>>
>> Yes this was my question?
>
> In that case the behavior of the operating system was different between 10.0 and 10.3 versus 10.3 onwards. So
> to make the tests past on 10.2 it had to be different from what happens when you run 10.4


OK 1040 = 10.4

ahhhhh finally I got it sorry to be that slow to see the obvious.


Stef


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project