class: Smalltalk
authorClaus Gittinger <cg@exept.de>
Thu, 05 Mar 2015 12:06:08 +0100
changeset 17588 05b944f08b13
parent 17587 9003db1ba1f8
child 17589 eb5555986d10
class: Smalltalk changed: #fileInClass:package:initialize:lazy:silent: #installAutoloadedClasses #loadPackage:asAutoloaded: ensure preLoad/postLoad notifications for browsers
Smalltalk.st
--- a/Smalltalk.st	Thu Mar 05 12:04:46 2015 +0100
+++ b/Smalltalk.st	Thu Mar 05 12:06:08 2015 +0100
@@ -2460,40 +2460,40 @@
 
     |packageId packageString packageDir def sourceCodeManager|
 
-    packageId := aPackageStringArg asPackageId.
-    packageString := packageId string.
+    packageString := aPackageStringArg.
+
+    "/ a little convenience: so you can stx packages with loadPackage:'goodies/soap'
+    (packageString includes:$:) ifFalse:[
+        packageString := 'stx:',packageString.
+    ].
 
     "if I am here, so must my package"
     packageString = self package ifTrue:[^ true].
 
+    packageId := aPackageStringArg asPackageId.
+
     "/ if there is a projectDefinition, let it load itself...
     def := packageId projectDefinitionClass.
     (def notNil and:[def isLoaded]) ifTrue:[
-	def loadAsAutoloaded:doLoadAsAutoloaded.
-	^ true.
+        def loadAsAutoloaded:doLoadAsAutoloaded.
+        ^ true.
     ].
 
     packageDir := self packageDirectoryForPackageId:packageId.
-    packageDir isNil ifTrue:[
-	(packageString includes:$:) ifFalse:[
-	    "/ assume stx
-	    packageDir := self packageDirectoryForPackageId:('stx:',packageString).
-	].
-    ].
 
     [
-	self
-	    loadPackage:packageString
-	    fromDirectory:packageDir
-	    asAutoloaded:doLoadAsAutoloaded.
+        self
+            loadPackage:packageString
+            fromDirectory:packageDir
+            asAutoloaded:doLoadAsAutoloaded.
     ] on:PackageLoadError do:[:ex|
-	AbstractSourceCodeManager notNil ifTrue:[
-	    sourceCodeManager := AbstractSourceCodeManager sourceCodeManagerForPackage:packageString.
-	    sourceCodeManager notNil ifTrue:[
-		^ sourceCodeManager loadPackageWithId:packageString fromRepositoryAsAutoloaded:doLoadAsAutoloaded
-	    ].
-	].
-	ex reject.
+        AbstractSourceCodeManager notNil ifTrue:[
+            sourceCodeManager := AbstractSourceCodeManager sourceCodeManagerForPackage:packageString.
+            sourceCodeManager notNil ifTrue:[
+                ^ sourceCodeManager loadPackageWithId:packageString fromRepositoryAsAutoloaded:doLoadAsAutoloaded
+            ].
+        ].
+        ex reject.
     ].
 
     ^ true
@@ -5068,8 +5068,7 @@
 
     |dirsConsulted|
 
-    Smalltalk changed:#preLoad.
-    [
+    LoadInProgressQuery answerNotifyLoadingDo:[
         dirsConsulted := Set new.
 
         "/ along the package-path
@@ -5085,8 +5084,6 @@
             ]
         ].
         self splashInfo:nil.
-    ] ensure:[
-        Smalltalk changed:#postLoad
     ].
 
     "
@@ -5830,8 +5827,7 @@
     |classFileName alternativeClassFileName libName newClass ok wasLazy wasSilent sharedLibExtension inStream mgr
      filenameToSet packageDir packageFile bos|
 
-    [
-        Smalltalk changed:#preLoad.
+    ClassLoadInProgressQuery answerNotifyLoading:aClassName do:[
 
         wasLazy := Compiler compileLazy:loadLazy.
         beSilent notNil ifTrue:[
@@ -6142,8 +6138,6 @@
                 ]
             ]
         ].
-    ] ensure:[
-        Smalltalk changed:#postLoad
     ].
 
     ^ newClass
@@ -8205,11 +8199,11 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1117 2015-03-03 10:48:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1118 2015-03-05 11:06:08 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1117 2015-03-03 10:48:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1118 2015-03-05 11:06:08 cg Exp $'
 !
 
 version_SVN