#autoload - raise error if fileIn fails.
authorStefan Vogel <sv@exept.de>
Thu, 01 Jul 2004 12:06:47 +0200
changeset 8431 3e06c959dcff
parent 8430 8834f0014fb8
child 8432 c6919af01ed6
#autoload - raise error if fileIn fails. Bevor this change, no error was raised, but the class was still autoloaded.
Autoload.st
--- a/Autoload.st	Wed Jun 30 17:40:25 2004 +0200
+++ b/Autoload.st	Thu Jul 01 12:06:47 2004 +0200
@@ -334,8 +334,8 @@
                         package:package
                         initialize:false 
                         lazy:LazyLoading
-                        silent:nil) isNil 
-                    ifTrue:[
+                        silent:nil)  
+                    isNil ifTrue:[
                         "/ temporary: try without stx/package prefix
                         "/ this will vanish as soon as source-directory
                         "/ is always guaranteed to contain an stx-subtree
@@ -358,6 +358,7 @@
             Project setProject:project.
         ].
     ] ifCurtailed:[
+        "something went wrong, restore previous state"
         ClassCategoryReader sourceMode:prevMode.
         project notNil ifTrue:[
             Project setProject:project.
@@ -370,7 +371,7 @@
     Smalltalk at:myName put:mySelf.   "will be undone by become:"
 
     "no - report the error"
-    newClass isNil ifTrue:[
+    (newClass isNil or:[newClass isLoaded not]) ifTrue:[
         "
          this signal is raised, if an autoloaded class
          cannot be loaded. Usually, this happends when
@@ -834,7 +835,7 @@
 !Autoload class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.124 2004-06-07 15:43:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.125 2004-07-01 10:06:47 stefan Exp $'
 ! !
 
 Autoload initialize!