*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Tue, 21 Nov 2006 15:05:45 +0100
changeset 10186 c0d6457790e6
parent 10185 881875c8010e
child 10187 5bb38e7b8923
*** empty log message ***
Smalltalk.st
--- a/Smalltalk.st	Mon Nov 20 12:56:42 2006 +0100
+++ b/Smalltalk.st	Tue Nov 21 15:05:45 2006 +0100
@@ -6337,15 +6337,21 @@
     "make certain, that some particular package is loaded into the system.
      Experimental."
 
-    |pkg packageDir|
+    |defClass pkg packageDir|
+
+    defClass := ProjectDefinition definitionClassForPackage: aPackageId.
+    defClass notNil ifTrue:[
+        defClass load.
+        ^ defClass isFullyLoaded.
+    ].
 
     pkg := Project projectWithId:aPackageId.
     (pkg notNil and:[pkg isLoaded]) ifTrue:[
-	"/ ('Smalltalk [info]: Package ' , aPackageId , ' already loaded.') infoPrintCR.
-	(doLoadAsAutoloaded
-	or:[pkg areAllClassesLoaded]) ifTrue:[
-	    ^ true
-	].
+        "/ ('Smalltalk [info]: Package ' , aPackageId , ' already loaded.') infoPrintCR.
+        (doLoadAsAutoloaded
+        or:[pkg areAllClassesLoaded]) ifTrue:[
+            ^ true
+        ].
     ].
 
     "/ ok; not yet loaded.
@@ -6354,26 +6360,28 @@
     "/    $(SYSPATH)/packages/<packageDir>
     packageDir := self packageDirectoryForPackageId:aPackageId.
     packageDir isNil ifTrue:[
-	(aPackageId includes:$:) ifFalse:[
-	    "/ assume stx
-	    packageDir := self packageDirectoryForPackageId:('stx:',aPackageId).
-	].
+        (aPackageId includes:$:) ifFalse:[
+            "/ assume stx
+            packageDir := self packageDirectoryForPackageId:('stx:',aPackageId).
+        ].
     ].
     packageDir isNil ifTrue:[
-	('Smalltalk [warning]: cannot find packageDirectory for: ' , aPackageId) errorPrintCR.
-	^ false
+        ('Smalltalk [warning]: cannot find packageDirectory for: ' , aPackageId) errorPrintCR.
+        ^ false
     ].
 
     ^ self
-	loadPackageWithId:aPackageId
-	fromDirectory:packageDir
-	asAutoloaded:doLoadAsAutoloaded
+        loadPackageWithId:aPackageId
+        fromDirectory:packageDir
+        asAutoloaded:doLoadAsAutoloaded
 
     "
      Smalltalk loadPackageWithId:'stx:libbasic'
      Smalltalk loadPackageWithId:'stx:goodies/persistency'
      Smalltalk loadPackageWithId:'exept:ctypes'
     "
+
+    "Modified: / 21-11-2006 / 15:05:14 / cg"
 !
 
 loadPackageWithId:aPackageId fromDirectory:packageDirOrString asAutoloaded:doLoadAsAutoloaded
@@ -6902,5 +6910,5 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.782 2006-11-20 11:37:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.783 2006-11-21 14:05:45 cg Exp $'
 ! !