On Sun, Nov 21, 2010 at 3:44 PM, Mariano Martinez Peck < [email protected]> 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 > > >
