smalltalk.rc
changeset 169 08055578224e
parent 153 f42ccdad6f93
child 170 0a0f8d35451e
--- a/smalltalk.rc	Fri Nov 08 19:46:34 1996 +0100
+++ b/smalltalk.rc	Sat Nov 09 02:03:57 1996 +0100
@@ -186,6 +186,15 @@
 "/
 "/ lazy loading
 "/ (faster fileIn) - this is EXPERIMENTAL.
+"/
+"/ - if turned on, an autoload operation will only create methodStubs
+"/   (uncompiled) which trap when called the first time.
+"/   The bytecode compiler will compile them when first executen.
+"/
+"/ - if turned off, an autoload will load & compile the while class,
+"/   which makes autoloading slower, but avoids the initial delays
+"/
+"/ This is much like just-in-time compilation, but on a higher level.
 "/ If there are any problems with lazy methods, disable the following
 "/ and let me (cg@exept.ssw.de) know what happened.
 "/
@@ -193,11 +202,11 @@
 
 "/
 "/ define the language (you can also set the LANG-shell variable)
-"/ (currently only #english, #german and #french are supported).
+"/ (currently #english, #german and #french are supported).
+"/ some fragments for other languages (japanese ;-) exist.
 "/ Setting it here will override the LANG variable setting,
 "/ if neither set here nor in LANG, #english is the default.
-"/ (currently, strings are not available for other than english
-"/  and german; french will follow next - see resource files)
+"/ see (and enhance) the resource files
 "/ Claus: supposed to be done in private.rc or via LANG variable
 "/
 "/ Smalltalk language:#german.
@@ -215,27 +224,37 @@
 Smalltalk fileIn:'host.rc'.
 
 "/
-"/ set the package to some useful default
-"/
-Project notNil ifTrue:[
-    Project setDefaultProject.
-    Project current packageName:#'private'.
-].
-
-"/
 "/ Ask user to accept Licence.
 "/ exit, if rejected.
 "/ You may find this annoying - but lawers say: "this is a must ..." ;-)
 "/ (it will not be shown when coming up via a snapshot image)
 "/
 Smalltalk addStartBlock:[
+    |loader needToReactivate|
+
+    needToReactivate := HistoryManager isActive.
+    HistoryManager deactivate.
+
     LicenceBox autoload.
+
+    "/ fetch autoloaded classes in the meanwhile ...
+    loader := [
+	Class withoutUpdatingChangesDo:[   
+	    'installing autoloaded classes ...' printCR.
+	    Smalltalk installAutoloadedClassesFrom:'include/abbrev.stc'.
+	].
+	needToReactivate ifTrue:[HistoryManager activate].
+    ] forkAt:Processor userBackgroundPriority.
+
     LicenceBox licenceRejectSignal handle:[:ex|
 	Smalltalk exit
     ] do:[
 	LicenceBox open.
 	Smalltalk at:#LicenceBox put:nil.
     ].
+
+    "/ wait for loader
+    loader waitUntilTerminated.
 ].
 
 "/
@@ -245,6 +264,19 @@
 Smalltalk fileIn:'private.rc'.
 
 "/
+"/ read saved configuration settings (if any)
+"/
+Smalltalk fileIn:'settings.stx'.
+
+"/
+"/ set the package to some useful default
+"/
+Project notNil ifTrue:[
+    Project setDefaultProject.
+    Project current packageName:#'private'.
+].
+
+"/
 "/ if error occurs, and debugger has problems coming up,
 "/ uncomment the following ...
 "/