[squeak-dev] The Inbox: Files-kfr.120.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Nov 12 18:24:02 UTC 2012

A new version of Files was added to project The Inbox:

==================== Summary ====================

Name: Files-kfr.120
Author: kfr
Time: 12 November 2012, 6:23:28.531 pm
UUID: 4a518133-203f-bd43-9fce-78b8dcfb337d
Ancestors: Files-cmm.119

Fix for test failure on Windows

=============== Diff against Files-cmm.119 ===============

Item was added:
+ ----- Method: DosFileDirectory>>relativeNameIfAbsoluteFor: (in category 'path access') -----
+ relativeNameIfAbsoluteFor: aFileName
+ 	"Answer either the relative name for aFileName, if aFileName names a file in me or
+ 	 subdirectories, or aFileName's absolute path if it isn't in me or subdirectories.
+ 	 P.S. Ths is what I'd expect relativeNameFor: to do, but it is taken and means
+ 	 exactly the opposite, i.e. the absolute path for a relative name."
+ 	| fullNameSize fullName fileNameSize |
+ 	       (aFileName isEmpty or: [aFileName first ~= self driveName first]) ifTrue:
+                 [self error: 'this method expects an absolute filename'].
+ 	fullNameSize := (fullName := self fullName) size.
+ 	fileNameSize := aFileName size.
+ 	^(aFileName beginsWith: fullName)
+ 		ifTrue: [(fileNameSize = fullNameSize
+ 				or: [fileNameSize - 1 = fullNameSize
+ 					and: [(aFileName at: fileNameSize) = self pathNameDelimiter]])
+ 					ifTrue: [self class currentDirectoryNickname]
+ 					ifFalse: [aFileName copyFrom: fullNameSize + 2 to: fileNameSize]]
+ 		ifFalse: [aFileName]
+ 	"SourceFiles asArray collect: [:sf| FileDirectory default relativeNameIfAbsoluteFor: sf fullName]"
+ 	"FileDirectory default relativeNameIfAbsoluteFor: FileDirectory default fullName" "should be dot"
+ 	"FileDirectory default relativeNameIfAbsoluteFor: FileDirectory default fullName, FileDirectory default slash" "should also be dot"!

More information about the Squeak-dev mailing list