Smalltalk.st
changeset 10041 1ef0cb09523b
parent 9937 fc6bfabec990
child 10046 1b39e1efbf0e
--- a/Smalltalk.st	Fri Oct 06 11:46:31 2006 +0200
+++ b/Smalltalk.st	Fri Oct 06 11:49:43 2006 +0200
@@ -9,7 +9,6 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
 "{ Package: 'stx:libbasic' }"
 
 Object subclass:#Smalltalk
@@ -2315,6 +2314,12 @@
     ^ false
 !
 
+isBrowserStartable
+    ^ false.
+
+    "Created: / 06-10-2006 / 11:46:52 / cg"
+!
+
 isNameSpace
     "return true, if the receiver is a nameSpace."
 
@@ -5170,23 +5175,35 @@
 getPackageDirectoryForPackage:aPackageID
     "search for a particular package; return its directory, or nil"
 
-    |packageDir|
-
-    packageDir := aPackageID copyReplaceAll:$: with:$/.
+    |checkForPackageDirectory module packageSubDirectory|
+
+    module := aPackageID asPackageId module.
+    packageSubDirectory := aPackageID asPackageId directory.
+
+    checkForPackageDirectory := 
+        [:moduleDir |
+            |packageDir|
+
+            (moduleDir exists and:[moduleDir isDirectory]) ifTrue:[
+                packageDir := moduleDir construct:packageSubDirectory.
+                (packageDir exists and:[packageDir isDirectory]) ifTrue:[
+                    ^ packageDir
+                ]
+            ].
+        ].
+
     self packagePath do:[:aPath |
-        |dir|
-
-        dir := aPath asFilename construct:packageDir.
-        (dir exists and:[dir isDirectory]) ifTrue:[^ dir].
-    ].
-
-    "/ not found - special case for the stx package ...
-    (aPackageID upTo:$:) = 'stx' ifTrue:[
-        packageDir :=  aPackageID copyFrom:(aPackageID indexOf:$:) + 1.
-        packageDir := '../../' ,  packageDir.
-        packageDir := packageDir asFilename.
-        (packageDir exists and:[packageDir isDirectory]) ifTrue:[^ packageDir].
-    ].
+        |moduleDir|
+
+        moduleDir := aPath asFilename construct:module.
+        checkForPackageDirectory value:moduleDir.
+    ].
+
+    "/ not found - special case for the stx package...
+    module = 'stx' ifTrue:[
+        checkForPackageDirectory value:('../../' asFilename).
+    ].
+
     ^ nil
 
     "
@@ -5194,6 +5211,8 @@
      Smalltalk getPackageDirectoryForPackage:'stx:goodies/bitmaps'
      Smalltalk getPackageDirectoryForPackage:'stx:libview'
     "
+
+    "Modified: / 06-10-2006 / 11:49:27 / cg"
 !
 
 getPackageFileName:aFileName
@@ -6917,5 +6936,5 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.756 2006-09-18 19:49:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.757 2006-10-06 09:49:43 cg Exp $'
 ! !