[Pkg] Rio: File-Kernel-jrd.26.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Sun May 3 01:52:29 UTC 2009
A new version of File-Kernel was added to project Rio:
http://www.squeaksource.com/Rio/File-Kernel-jrd.26.mcz
==================== Summary ====================
Name: File-Kernel-jrd.26
Author: jrd
Time: 2 May 2009, 6:41:04 pm
UUID: a1e91f90-4541-4f68-9903-e4eaba70a979
Ancestors: File-Kernel-jrd.25
Changed:
- Added an executive for MacOS X. implements the homePath and data path as well as a mechanism to get the value of an environment variable.
=============== Diff against File-Kernel-jrd.25 ===============
Item was changed:
----- Method: FileUnixExecutive>>primEnvironmentAtSymbol: (in category 'as yet unclassified') -----
primEnvironmentAtSymbol: aSymbol
+
+ ^self class primEnvironmentAtSymbol: aSymbol!
- "Answer the value of an environment variable in the external OS process."
-
- <primitive: 'primitiveEnvironmentAtSymbol' module: 'UnixOSProcessPlugin'>
- ^ nil !
Item was added:
+ ----- Method: FileMacOSXExecutive>>homePath (in category 'as yet unclassified') -----
+ homePath
+ ^ self environmentAt: #HOME ifAbsent: [^super home]!
Item was added:
+ ----- Method: FileMacOSXExecutive>>dataPath (in category 'as yet unclassified') -----
+ dataPath
+ ^ self homePath , '/Library/Application Support/Squeak/'!
Item was added:
+ ----- Method: FileMacOSXExecutive class>>getenv: (in category 'as yet unclassified') -----
+ getenv: varString
+ " self getenv: 'HOME' "
+ " self getenv: 'ZYZZYX' "
+
+ <cdecl: char* 'getenv' ( char* ) module: 'libc.dylib'>
+ ^self externalCallFailed!
Item was added:
+ FileLocalCaseInsensitiveExecutive subclass: #FileMacOSXExecutive
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'File-Kernel'!
Item was added:
+ ----- Method: FileUnixExecutive class>>primEnvironmentAtSymbol: (in category 'as yet unclassified') -----
+ primEnvironmentAtSymbol: aSymbol
+ "Answer the value of an environment variable in the external OS process."
+ "self primEnvironmentAtSymbol: #HOME"
+
+ <primitive: 'primitiveEnvironmentAtSymbol' module: 'UnixOSProcessPlugin'>
+ ^ nil !
Item was added:
+ ----- Method: FileMacOSXExecutive>>environmentAt:ifAbsent: (in category 'as yet unclassified') -----
+ environmentAt: aSymbol ifAbsent: block
+
+ | v |
+ v := self class getenv: aSymbol asString.
+ v ifNil: [^block value].
+ ^v!
Item was changed:
----- Method: FileLocalExecutive class>>newForMacOS (in category 'image start up ') -----
newForMacOS
+ ^ FileMacOSXExecutive new!
- ^ FileLocalCaseInsensitiveExecutive new!
More information about the Packages
mailing list