--- a/Autoload.st Thu Oct 04 18:52:40 2001 +0200
+++ b/Autoload.st Mon Oct 08 11:09:47 2001 +0200
@@ -280,78 +280,78 @@
"/ recheck - in case my class somehow came into the system
"/ (by loading a binary...)
(newClass := Smalltalk at:myName) ~~ self ifTrue:[
- (newClass isBehavior and:[newClass isLoaded]) ifTrue:[
- ('Autoload [info]: already loaded: ', myName , '.') infoPrintCR.
- self class becomeSameAs:newClass class.
- self becomeSameAs:newClass.
+ (newClass isBehavior and:[newClass isLoaded]) ifTrue:[
+ ('Autoload [info]: already loaded: ', myName , '.') infoPrintCR.
+ self class becomeSameAs:newClass class.
+ self becomeSameAs:newClass.
- ObjectMemory flushCaches.
- ^ newClass
- ].
+ ObjectMemory flushCaches.
+ ^ newClass
+ ].
].
"load it"
(Object infoPrinting and:[Smalltalk silentLoading ~~ true]) ifTrue:[
- Transcript showCR:('autoloading ', myName , ' ...'); endEntry.
+ Transcript showCR:('autoloading ', myName , ' ...'); endEntry.
].
[
- "remove myself - to avoid recompilation"
- Smalltalk at:myName put:nil.
+ "remove myself - to avoid recompilation"
+ Smalltalk at:myName put:nil.
- prevMode := ClassCategoryReader sourceMode.
+ prevMode := ClassCategoryReader sourceMode.
"/
"/ no- do not do this; it may lead to trouble ...
"/ ClassCategoryReader sourceMode:#reference.
- "/
- "/ in order to not get a package of private (or whatever),
- "/ temporarily set the currentProject to nil.
- "/ we will later set the classes package to something useful
- "/
- Project notNil ifTrue:[
- project := Project current.
- Project setProject:nil.
- ].
+ "/
+ "/ in order to not get a package of private (or whatever),
+ "/ temporarily set the currentProject to nil.
+ "/ we will later set the classes package to something useful
+ "/
+ Project notNil ifTrue:[
+ project := Project current.
+ Project setProject:nil.
+ ].
- package := self package.
- Class nameSpaceQuerySignal answer:myNameSpace "Smalltalk"
- do:[
- Class packageQuerySignal answer:package
- do:[
- (Smalltalk
- fileInClass:myName
- package:package
- initialize:false
- lazy:LazyLoading
- 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
- ((package startsWith:'stx/')
- or:[package startsWith:'stx:']) ifTrue:[
- package := package copyFrom:5.
- Smalltalk
- fileInClass:myName
- package:package
- initialize:false
- lazy:LazyLoading
- silent:nil.
- ]
- ]
- ]
- ].
- ClassCategoryReader sourceMode:prevMode.
- project notNil ifTrue:[
- Project setProject:project.
- ].
+ package := self package.
+ Class nameSpaceQuerySignal answer:myNameSpace "Smalltalk"
+ do:[
+ Class packageQuerySignal answer:package
+ do:[
+ (Smalltalk
+ fileInClass:myName
+ package:package
+ initialize:false
+ lazy:LazyLoading
+ 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
+ ((package startsWith:'stx/')
+ or:[package startsWith:'stx:']) ifTrue:[
+ package := package copyFrom:5.
+ Smalltalk
+ fileInClass:myName
+ package:package
+ initialize:false
+ lazy:LazyLoading
+ silent:nil.
+ ]
+ ]
+ ]
+ ].
+ ClassCategoryReader sourceMode:prevMode.
+ project notNil ifTrue:[
+ Project setProject:project.
+ ].
] valueOnUnwindDo:[
- ClassCategoryReader sourceMode:prevMode.
- project notNil ifTrue:[
- Project setProject:project.
- ].
- Smalltalk at:myName put:mySelf.
+ ClassCategoryReader sourceMode:prevMode.
+ project notNil ifTrue:[
+ Project setProject:project.
+ ].
+ Smalltalk at:myName put:mySelf.
].
"did it work ?"
@@ -360,29 +360,29 @@
"no - report the error"
newClass isNil ifTrue:[
- "
- this signal is raised, if an autoloaded class
- cannot be loaded. Usually, this happends when
- some sourcefile is missing, not readable or if
- an entry is missing in the abbreviation file.
- Check for a readable file named <myName>.st
- in the 'source' directory and (if its a long fileName)
- for a corresponding entry in the abbreviation file
- 'include/abbrev.stc'.
- Finally, your searchpath could be set wrong -
- both 'source' and 'include' directories must be found in
- one of the directories named in systemPath.
+ "
+ this signal is raised, if an autoloaded class
+ cannot be loaded. Usually, this happends when
+ some sourcefile is missing, not readable or if
+ an entry is missing in the abbreviation file.
+ Check for a readable file named <myName>.st
+ in the 'source' directory and (if its a long fileName)
+ for a corresponding entry in the abbreviation file
+ 'include/abbrev.stc'.
+ Finally, your searchpath could be set wrong -
+ both 'source' and 'include' directories must be found in
+ one of the directories named in systemPath.
- In the debugger, press 'abort' to continue execution.
- "
- AutoloadFailedSignal
- raiseRequestWith:self
- errorString:('autoload of ' , myName , ' failed').
- ^ nil
+ In the debugger, press 'abort' to continue execution.
+ "
+ AutoloadFailedSignal
+ raiseRequestWith:self
+ errorString:('autoload of ' , myName , ' failed').
+ ^ nil
].
newClass setPackage:package.
- newClass allSelectorsAndMethodsDo:[:sel :mthd | mthd setPackage:package].
+ newClass instAndClassSelectorsAndMethodsDo:[:sel :mthd | mthd setPackage:package].
"/
"/ autoloaded classes get their package from the revision (if present)
@@ -400,7 +400,7 @@
"/ ].
LoadedClasses isNil ifTrue:[
- LoadedClasses := IdentitySet new.
+ LoadedClasses := IdentitySet new.
].
LoadedClasses add:newClass.
@@ -621,6 +621,6 @@
!Autoload class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.109 2001-08-13 13:03:33 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.110 2001-10-08 09:09:47 cg Exp $'
! !
Autoload initialize!