[Vm-dev] [commit][2899] Fix things like '../platforms'
for the VMMaker image in Squeak 4.5.
commits at squeakvm.org
commits at squeakvm.org
Mon Apr 21 22:13:04 UTC 2014
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])! !
More information about the Vm-dev
mailing list