Revision: 2899 Author: eliot Date: 2014-04-21 15:13:04 -0700 (Mon, 21 Apr 2014) Log Message: ----------- Fix things like '../platforms' for the VMMaker image in Squeak 4.5.
Modified Paths: -------------- branches/Cog/image/BuildSqueak45Image.st
Added Paths: ----------- branches/Cog/image/FileDirectory-on-methods.st
Modified: branches/Cog/image/BuildSqueak45Image.st =================================================================== --- branches/Cog/image/BuildSqueak45Image.st 2014-04-21 19:44:55 UTC (rev 2898) +++ branches/Cog/image/BuildSqueak45Image.st 2014-04-21 22:13:04 UTC (rev 2899) @@ -23,7 +23,9 @@
#( 'FT2Constants.st' 'Object-performwithwithwithwithwith.st' - 'CompiledMethod-usesAlternateBytecodeSet.st' ) do: + 'CompiledMethod-usesAlternateBytecodeSet.st' + 'FileDirectory-on-methods.st' + ) do: [:fileName| (FileDirectory default fileNamed: fileName) fileIn].
load do: Added: branches/Cog/image/FileDirectory-on-methods.st =================================================================== --- branches/Cog/image/FileDirectory-on-methods.st (rev 0) +++ branches/Cog/image/FileDirectory-on-methods.st 2014-04-21 22:13:04 UTC (rev 2899) @@ -0,0 +1,28 @@ +'From Squeak4.5 of 18 April 2014 [latest update: #13719] on 21 April 2014 at 3:07:52 pm'! + +!FileDirectory class methodsFor: 'instance creation' stamp: 'eem 4/21/2014 14:53'! +on: pathString + "Return a new file directory for the given path, of the appropriate FileDirectory subclass for the current OS platform." + + | pathName | + DirectoryClass ifNil: [self setDefaultDirectoryClass]. + "If path ends with a delimiter (: or /) then remove it" + pathName := pathString. + (pathName at: pathName size ifAbsent: nil) = self pathNameDelimiter ifTrue: + [pathName := pathName allButLast]. + DirectoryClass parentDirectoryNickname ifNotNil: + [:parentName| + (pathName beginsWith: parentName) ifTrue: + [pathName = parentName ifTrue: + [^self default containingDirectory]. + (pathName at: parentName size + 1 ifAbsent: nil) = self pathNameDelimiter ifTrue: + [^self default containingDirectory on: (pathName allButFirst: parentName size + 1)]]]. + ^DirectoryClass new setPathName: pathName! ! + +!FileDirectory methodsFor: 'path access' stamp: 'eem 4/21/2014 14:57'! +on: path + "Return another instance" + + ^ self class on: ((path at: 1 ifAbsent: nil) = self pathNameDelimiter + ifTrue: [path] + ifFalse: [pathName asString, (String with: self pathNameDelimiter), path])! !
vm-dev@lists.squeakfoundation.org