On Sun, Nov 21, 2010 at 3:44 PM, Mariano Martinez Peck
<marianopeck@gmail.com> wrote:
Hi. The simplest way to find the problem (if my case it was muuuch more than this), I found the following:� MacOS is case insensitive (I've just figure it out).
Actually no. �It can be either. �You can choose. �Mine is case-sensitive.
�
Since it is a UNIX at the end, I thought it was case sensitive, but it seems it is not. Now, suppose that in the directory where my image is, I have the file called 'zaraza'. If I evaluate this:
(FileDirectory default fileOrDirectoryExists: 'zaraza')� ->>>> true
I should get true. And the same with:
(FileDirectory default fileOrDirectoryExists: 'ZARAZA')�
->>>> false
But....I get false instead of true. Which is wrong in Mac OS.
The problem is that� FileDirectory default� -----> UnixFileDirectory
And this is because
FileDirectory class >> activeDirectoryClass
��� "Return the concrete FileDirectory subclass for the platform on which we are currently running."
��� FileDirectory allSubclasses do: [:class |
��� ��� class isActiveDirectoryClass ifTrue: [^ class]].
that loop answers UnixFileDirectory. This is because:
nixFileDirectory class >> isActiveDirectoryClass
��� "Does this
class claim to be that properly active subclass of FileDirectory for
this platform?
��� Default test is whether the primPathNameDelimiter
matches the one for this class. Other tests are possible"
��� ^self pathNameDelimiter = self primPathNameDelimiter
answers true.
But anyway, why MacFileDirectory class >> isActiveDirectoryClass� answers false?
If we see:
MacFileDirectory class >> isActiveDirectoryClass
��� ^ super isActiveDirectoryClass
��� ��� and: [(Smalltalk getSystemAttribute: 1201) isNil
��� ��� ��� ��� or: [(Smalltalk getSystemAttribute: 1201) asNumber <= 31]]
(Smalltalk getSystemAttribute: 1201��� ->�� '255'
So.....my questions are:
1) Should it answer Unix one, or MacOS?� I guess than MacOS, and if it is unix, then we have to solve the kind of problem I have
2) Why (Smalltalk getSystemAttribute: 1201��� ->�� '255'
3) Why not using "Smalltalk platformName" to detect which FileDirectory to use??
Thanks
Mariano