smalltalk.rc
author HG Automerge
Thu, 24 Nov 2016 22:00:02 +0000
branchjv
changeset 1481 4a4686007f8f
parent 1447 0b149293564f
parent 1467 befae5d031b8
child 1484 cef397199379
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
     1
"/ Encoding: iso8859-1
25
claus
parents: 24
diff changeset
     2
"/
claus
parents: 24
diff changeset
     3
"/ $Header$
86
7cb0bbfd6431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 80
diff changeset
     4
"/
399
5a842f5d7196 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 397
diff changeset
     5
"/ MIMEType: application/x-smalltalk-source
5a842f5d7196 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 397
diff changeset
     6
"/
209
22793de5d56e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
     7
"/ ST/X startup configuration & command file:
22793de5d56e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
     8
"/
25
claus
parents: 24
diff changeset
     9
"/ startup configuration for smalltalk
claus
parents: 24
diff changeset
    10
"/
claus
parents: 24
diff changeset
    11
"/ - everything in here are plain smalltalk expressions;
claus
parents: 24
diff changeset
    12
"/ - statements with in a group are separated by a period.
claus
parents: 24
diff changeset
    13
"/ - Each group of statements has to be delimited by an exclamation
claus
parents: 24
diff changeset
    14
"/   character.
claus
parents: 24
diff changeset
    15
"/ - avoid exclas in comments (or double them)
claus
parents: 24
diff changeset
    16
"/ - nested comments are not allowed - take care.
claus
parents: 24
diff changeset
    17
"/
claus
parents: 24
diff changeset
    18
"/ remember: this is fileOut-format
claus
parents: 24
diff changeset
    19
"/
claus
parents: 24
diff changeset
    20
"/ comments can be either:
claus
parents: 24
diff changeset
    21
"/ - standard smalltalk comments (i.e. from dquote to dquote)
claus
parents: 24
diff changeset
    22
"/ - ST/X end of line comments (i.e. dquote followed by /)
claus
parents: 24
diff changeset
    23
"/
claus
parents: 24
diff changeset
    24
"/    "this is a comment"
claus
parents: 24
diff changeset
    25
"/    "/ another comment
claus
parents: 24
diff changeset
    26
"/
claus
parents: 24
diff changeset
    27
"/***************************************************************
claus
parents: 24
diff changeset
    28
"/ PLEASE: only add things here, if they are of general interrest
claus
parents: 24
diff changeset
    29
"/         and NEITHER site specific NOT display specific.
claus
parents: 24
diff changeset
    30
"/
claus
parents: 24
diff changeset
    31
"/ site specific things are to be added to "h_<hostname>.rc"
claus
parents: 24
diff changeset
    32
"/ display specifics to "d_<displayName>.rc"
claus
parents: 24
diff changeset
    33
"/ and private user stuff in "private.rc"
claus
parents: 24
diff changeset
    34
"/***************************************************************
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    35
|cpu enableJIT|
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    36
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    37
"/
1299
5c85be8ef967 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1298
diff changeset
    38
"/ the JIT translator is (was) known to work with the following
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    39
"/ architectures:
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    40
"/  ix86        (linux, win32, unixware)
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    41
"/  sgi-mips    (irix)      [no longer supported]
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    42
"/  alpha       (osf)       [no longer supported]
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    43
"/  sparc       (solaris)   [only tested with v7 & v8 & v9 cpus]
1299
5c85be8ef967 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1298
diff changeset
    44
"/  rs6k        (aix)       [not very well tested]
5c85be8ef967 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1298
diff changeset
    45
"/  mc68k                   [no longer supported]
5c85be8ef967 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1298
diff changeset
    46
"/  mc88k                   [no longer supported]
5c85be8ef967 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1298
diff changeset
    47
"/  pa-risk                 [no longer supported]
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    48
"/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    49
enableJIT := false.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    50
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    51
cpu := OperatingSystem getCPUType.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    52
(#(
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    53
  'i386'
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    54
  'sparc'
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    55
"/  'mips'
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    56
"/  'alpha'
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    57
) includes:cpu) ifTrue:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    58
    enableJIT := true.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    59
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    60
    cpu = 'sparc' ifTrue:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    61
	"/ for now, disable if we detect running on a sparcV10;
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    62
	"/ Reason:
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    63
	"/   we do not have v10 machines here at exept ,
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    64
	"/   and therefore have no way of checking if it runs on v10.
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    65
	"/  I don't want ST/X to crash on your side in that case ...
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    66
	"/  ... better run a bit slower than not running at all.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    67
	"/ Please let us know if it runs and we will remove the code below
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    68
	"/ (which you should do as well).
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    69
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    70
	((OperatingSystem getSystemInfo at:#instructionSets) includesString:'sparcv10') ifTrue:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    71
	    'smalltalk.rc [warning]: disable JIT for sparcV10 - not yet validated' infoPrintCR.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    72
	    enableJIT := false
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    73
	]
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    74
    ]
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    75
].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    76
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    77
enableJIT ifTrue:[
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
    78
    "/ 'smalltalk.rc [info]: turn on JIT...' infoPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    79
    ObjectMemory justInTimeCompilation:true.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    80
].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    81
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    82
"/ OperatingSystem disableSignal:14.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    83
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    84
ObjectMemory infoPrinting:false.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    85
"/ Smalltalk loadBinaries:true.
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    86
"/ Compiler allowUnderscoreInIdentifier:true.
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    87
"/ Compiler warnUnderscoreInIdentifier:false.
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    88
"/ Compiler warnSTXSpecials:false.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
    89
!
0
0cb137a77319 Initial revision
claus
parents:
diff changeset
    90
25
claus
parents: 24
diff changeset
    91
"/
53
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    92
"/ allow definition of the systemPath from an environment variable
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    93
"/ for example, to only try files in a users home and /usr/local/lib/smalltalk,
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    94
"/ add the following in your shell-profile:
86
7cb0bbfd6431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 80
diff changeset
    95
"/      export STX_SYSTEMPATH=$HOME:/usr/local/lib/smalltalk
53
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    96
"/ notice, that shell variable names are NOT expanded again in STX_SYSTEMPATH
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    97
"/ Make certain that all relevant files are found along your path - you may see
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    98
"/ funny viewStyles, colors and stupid strings if wrong.
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    99
"/
197
0c288e422494 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 195
diff changeset
   100
781
a40503a94982 packagepath fixes
Claus Gittinger <cg@exept.de>
parents: 724
diff changeset
   101
|path pathOfSTXExecutable pathOfCurrentDir|
287
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   102
704
24e71c95dbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 689
diff changeset
   103
"/ 'systemPath before: ' infoPrint. Smalltalk systemPath infoPrintCR.
24e71c95dbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 689
diff changeset
   104
"/ 'exec: ' infoPrint. OperatingSystem nameOfSTXExecutable infoPrintCR.
24e71c95dbfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 689
diff changeset
   105
"/ 'execPath: ' infoPrint. OperatingSystem pathOfSTXExecutable infoPrintCR.
680
d327b2c1b486 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 679
diff changeset
   106
782
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   107
pathOfSTXExecutable := OperatingSystem pathOfSTXExecutable.
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   108
pathOfSTXExecutable notNil ifTrue:[
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   109
    pathOfSTXExecutable := pathOfSTXExecutable asFilename directory.
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   110
].
781
a40503a94982 packagepath fixes
Claus Gittinger <cg@exept.de>
parents: 724
diff changeset
   111
pathOfCurrentDir := Filename currentDirectory asAbsoluteFilename.
672
43a67655f4f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 668
diff changeset
   112
53
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
   113
(path := OperatingSystem getEnvironment:'STX_SYSTEMPATH') notNil ifTrue:[
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
   114
    Smalltalk systemPath:(path asCollectionOfSubstringsSeparatedBy:$:)
287
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   115
] ifFalse:[
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   116
    "/ look for gnu-smalltalk class files along my PATH.
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   117
    "/ if found, remove that directory from the PATH to avoid
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   118
    "/ autoloading wrong classes.
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   119
    (path := Smalltalk getSystemFileName:'initialize.st') notNil ifTrue:[
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   120
	path := path asFilename directoryName.
308
6e6d557009c7 dont loose windows keyboard setup after image restart
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
   121
	('smalltalk.rc [info]: found gnu-smalltalk sources in ' , path , '; removed from systemPath.') infoPrintCR.
287
8151d262bd27 check for gnu-smalltalk sources along my path;
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   122
	Smalltalk systemPath:(Smalltalk systemPath remove:path; yourself).
672
43a67655f4f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 668
diff changeset
   123
    ].
782
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   124
    pathOfSTXExecutable notNil ifTrue:[
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   125
	(Smalltalk systemPath includes:pathOfSTXExecutable name) ifFalse:[
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   126
	    Smalltalk systemPath addFirst:pathOfSTXExecutable name.
035c101ce005 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   127
	]
677
222fd88429a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
   128
    ].
781
a40503a94982 packagepath fixes
Claus Gittinger <cg@exept.de>
parents: 724
diff changeset
   129
    (Smalltalk systemPath includes:pathOfCurrentDir name) ifFalse:[
a40503a94982 packagepath fixes
Claus Gittinger <cg@exept.de>
parents: 724
diff changeset
   130
	Smalltalk systemPath addFirst:pathOfCurrentDir name.
a40503a94982 packagepath fixes
Claus Gittinger <cg@exept.de>
parents: 724
diff changeset
   131
    ].
672
43a67655f4f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 668
diff changeset
   132
677
222fd88429a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
   133
    "/ the current directory should always be first...
222fd88429a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
   134
    (Smalltalk systemPath includes:'.') ifTrue:[
222fd88429a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
   135
	Smalltalk systemPath remove:'.'.
222fd88429a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
   136
    ].
1384
e45c6e854be7 Filename currentDirectory
Stefan Vogel <sv@exept.de>
parents: 1364
diff changeset
   137
    (Smalltalk systemPath includes:Filename currentDirectory pathName) ifTrue:[
e45c6e854be7 Filename currentDirectory
Stefan Vogel <sv@exept.de>
parents: 1364
diff changeset
   138
	Smalltalk systemPath remove:Filename currentDirectory pathName.
677
222fd88429a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
   139
    ].
1384
e45c6e854be7 Filename currentDirectory
Stefan Vogel <sv@exept.de>
parents: 1364
diff changeset
   140
    Smalltalk systemPath addFirst:Filename currentDirectory pathName.
53
00437bd1cfe7 allow systemPath to be set via a shell variable
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
   141
].
409
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   142
689
0a5205406bb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 687
diff changeset
   143
"/ 'systemPath: ' errorPrint. Smalltalk systemPath errorPrintCR.
672
43a67655f4f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 668
diff changeset
   144
409
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   145
Smalltalk flushPathCaches.
1447
0b149293564f Issue #98: Added -P / --package-path command line option
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1446
diff changeset
   146
0b149293564f Issue #98: Added -P / --package-path command line option
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1446
diff changeset
   147
SmalltalkStartup main: Smalltalk commandLineArguments ? #().
0b149293564f Issue #98: Added -P / --package-path command line option
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1446
diff changeset
   148
86
7cb0bbfd6431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 80
diff changeset
   149
!
7cb0bbfd6431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 80
diff changeset
   150
1276
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   151
"/ look fore one ore more --loadPackage arguments
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   152
"/ load the packages
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   153
|args idx|
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   154
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   155
args := Smalltalk commandLineArguments ? #().
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   156
[
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   157
    idx := args indexOf:'-L'.
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   158
    idx == 0 ifTrue:[
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   159
	idx := args indexOf:'--loadPackage'.
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   160
    ].
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   161
    idx ~~ 0
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   162
] whileTrue:[
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   163
    Smalltalk loadPackage:(args at:idx+1).
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   164
    args removeAtIndex:idx+1; removeAtIndex:idx.
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   165
].
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   166
!
80b650ffab1c New option --loadPackage <packageName> - may oocur multiple times
Stefan Vogel <sv@exept.de>
parents: 1248
diff changeset
   167
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   168
|args buildClasses openDisplay prevCatchSetting|
86
7cb0bbfd6431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 80
diff changeset
   169
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   170
args := Smalltalk commandLineArguments ? #().
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   171
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   172
buildClasses := false.
126
565643e43074 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 123
diff changeset
   173
((args size > 0) and:[args last = '--buildClasses']) ifTrue:[
86
7cb0bbfd6431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 80
diff changeset
   174
    'binary' asFilename isDirectory ifFalse:[
195
1cf850844da9 new infoMessage scheme
Claus Gittinger <cg@exept.de>
parents: 170
diff changeset
   175
	'smalltalk.rc [warning]: no binary directory for classes.' errorPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   176
	Smalltalk exit.
86
7cb0bbfd6431 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 80
diff changeset
   177
    ].
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   178
    buildClasses := true.
432
cc53b5447d56 showBanner now invoked by smalltalk.rc
ps
parents: 428
diff changeset
   179
].
cc53b5447d56 showBanner now invoked by smalltalk.rc
ps
parents: 428
diff changeset
   180
8
d82829c0d867 *** empty log message ***
claus
parents: 7
diff changeset
   181
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   182
"/ check for display-classes being required and compiled into the system;
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   183
"/ if not, load the display classes.
25
claus
parents: 24
diff changeset
   184
"/
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   185
openDisplay := false.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   186
(Smalltalk isHeadless or:[args includes:'--noDisplay']) ifFalse:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   187
    (Smalltalk at:#DeviceWorkstation) isNil ifTrue:[
637
17edc607c922 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   188
	 "no view classes compiled into the system.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   189
	  Minimum smalltalk does only contain libbasic, libcomp and librun.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   190
	  FileIn view stuff"
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   191
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   192
	 'smalltalk.rc [info]: installing required class libraries...' infoPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   193
	 (Smalltalk isClassLibraryLoaded:'libbasic2') ifFalse:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   194
	      Smalltalk loadPackage:'stx:libbasic2'.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   195
	 ].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   196
	 Smalltalk loadPackage:'stx:libview'.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   197
	 Smalltalk fileInClassLibrary:'XWorkstation' inPackage:'stx:libview'.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   198
	 OperatingSystem isMSWINDOWSlike ifTrue:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   199
	     Smalltalk fileInClassLibrary:'WinWorkstation' inPackage:'stx:libview'.
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   200
	 ].
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   201
    ].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   202
    openDisplay := true.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   203
].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   204
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   205
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   206
"/ Install patches, once everything has been loaded.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   207
"/ System methods may be overwritten by patches.
336
5eb44f3e88af do not output 'no sourceCode' warning messages
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   208
1111
a139aac9c633 Print warning on error during fileIn of 'patches'
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
   209
prevCatchSetting := Class catchMethodRedefinitions:false.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   210
(Smalltalk secureFileIn:(Smalltalk commandName asFilename withSuffix:'pch')) ifFalse:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   211
    Smalltalk isStandAloneApp ifFalse:[
1111
a139aac9c633 Print warning on error during fileIn of 'patches'
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
   212
	(Smalltalk secureFileIn:'patches') ifFalse:[
1112
9cd232b85097 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 1111
diff changeset
   213
	    'smalltalk.rc [warning]: error while filing in ''patches'' - some patches have not been loaded!!' errorPrintCR.
1111
a139aac9c633 Print warning on error during fileIn of 'patches'
Stefan Vogel <sv@exept.de>
parents: 1090
diff changeset
   214
	].
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   215
    ].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   216
].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   217
Class catchMethodRedefinitions:prevCatchSetting.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   218
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   219
openDisplay ifTrue:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   220
    "/ open the graphical display
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   221
    [
1361
26e2d523c52a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1358
diff changeset
   222
	'smalltalk.rc [info]: opening display...' infoPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   223
	Screen openDefaultDisplay:nil.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   224
    ] on:Screen deviceOpenErrorSignal do:[:ex|
1112
9cd232b85097 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 1111
diff changeset
   225
	('smalltalk.rc [warning]: no display connection to: ', ex parameter printString) errorPrintCR.
9cd232b85097 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 1111
diff changeset
   226
	'smalltalk.rc [info]: either set the DISPLAY environment variable,' infoPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   227
	'smalltalk.rc [info]: or start smalltalk with a -display argument.' infoPrintCR.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   228
	Smalltalk isStandAloneApp ifFalse:[
394
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   229
	    '' errorPrintCR.
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   230
	    'Textmode (enter smalltalk expressions terminated by single exclamation mark;' errorPrintCR.
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   231
	    OperatingSystem isUNIXlike ifTrue:[
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   232
		'          CTRL-D to leave line-by-line interpreter.)' errorPrintCR.
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   233
	    ] ifFalse:[
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   234
		'          CTRL-Z to leave line-by-line interpreter.)' errorPrintCR.
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   235
	    ].
70ecff920548 Fix DISPLAY access for headless servers.
Stefan Vogel <sv@exept.de>
parents: 387
diff changeset
   236
	    Smalltalk readEvalPrint.
355
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   237
	].
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   238
	Smalltalk exit
5
420e4af41733 *** empty log message ***
claus
parents: 0
diff changeset
   239
    ].
10
43d0db9ff204 *** empty log message ***
claus
parents: 8
diff changeset
   240
].
0
0cb137a77319 Initial revision
claus
parents:
diff changeset
   241
25
claus
parents: 24
diff changeset
   242
"/
claus
parents: 24
diff changeset
   243
"/ this makes X-errors be handled immediately (so you see,
claus
parents: 24
diff changeset
   244
"/ where it occured) but slows down the system soooo muuuucccchhh ..
claus
parents: 24
diff changeset
   245
"/ if commented out, errors will be reported asynchronously.
claus
parents: 24
diff changeset
   246
"/ (I enable this, when things go bad during startup)
claus
parents: 24
diff changeset
   247
"/
10
43d0db9ff204 *** empty log message ***
claus
parents: 8
diff changeset
   248
"/ Display unBuffered.
0
0cb137a77319 Initial revision
claus
parents:
diff changeset
   249
924
5141db35696d Disable splash screen
Stefan Vogel <sv@exept.de>
parents: 782
diff changeset
   250
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   251
"/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   252
"/ lazy loading
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   253
"/ (faster fileIn) - this is EXPERIMENTAL.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   254
"/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   255
"/ - if turned on, an autoload operation will only create methodStubs
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   256
"/   (uncompiled) which trap when called the first time.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   257
"/   The bytecode compiler will compile them when first executen.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   258
"/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   259
"/ - if turned off, an autoload will load & compile the whole class,
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   260
"/   which makes autoloading slower, but avoids the initial delays
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   261
"/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   262
"/ This is much like just-in-time compilation, but on a higher level.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   263
"/ If there are any problems with lazy methods, disable the following
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   264
"/ and let me (info@exept.de) know what happened.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   265
"/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   266
Autoload compileLazy:true.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   267
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   268
"/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   269
"/ read the abbrev.stc file, extract class names
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   270
"/ and install all nonExisting classes as autoloaded
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   271
"/
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   272
Class withoutUpdatingChangesDo:[
568
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   273
    |needToReactivate|
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   274
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   275
    HistoryManager notNil ifTrue:[
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   276
	needToReactivate := HistoryManager isActive.
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   277
	HistoryManager deactivate.
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   278
    ] ifFalse:[
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   279
	needToReactivate := false
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   280
    ].
617
f6afee16b359 Add --quick options to come up without gimmicks
Stefan Vogel <sv@exept.de>
parents: 612
diff changeset
   281
1467
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   282
"/    ((Smalltalk commandLineArguments includes:'--quick')
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   283
"/    or:[ (Smalltalk isPlugin)
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   284
"/    or:[ (Smalltalk commandLineArguments includes:'--faststart')
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   285
"/    or:[ (Smalltalk commandLineArguments includes:'--fastStart')
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   286
"/    ]]]) ifFalse:
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   287
    (Smalltalk commandLineArguments includes:'--autoload')
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   288
    ifTrue:
befae5d031b8 --autoload option to get the old behavior;
Claus Gittinger <cg@exept.de>
parents: 1457
diff changeset
   289
    [
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   290
	'smalltalk.rc [info]: installing autoloaded classes...' infoPrintCR.
617
f6afee16b359 Add --quick options to come up without gimmicks
Stefan Vogel <sv@exept.de>
parents: 612
diff changeset
   291
	Smalltalk installAutoloadedClasses.
f6afee16b359 Add --quick options to come up without gimmicks
Stefan Vogel <sv@exept.de>
parents: 612
diff changeset
   292
    ].
568
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   293
    needToReactivate ifTrue:[HistoryManager activate].
15e0e2736c8b fileNameAbbrevs; make rules
Claus Gittinger <cg@exept.de>
parents: 566
diff changeset
   294
].
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   295
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   296
buildClasses ifTrue:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   297
    "/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   298
    "/ load all lazy classes
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   299
    "/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   300
    Autoload subclasses do:[:aClass |
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   301
	Autoload autoloadFailedSignal handle:[:ex |
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   302
	    'smalltalk.rc [warning]: autoload failed' errorPrintCR.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   303
	    ex return.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   304
	] do:[
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   305
	    'smalltalk.rc [info]: loading ' infoPrint. aClass name infoPrint. '...' infoPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   306
	    aClass autoload.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   307
	]
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   308
    ].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   309
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   310
    "/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   311
    "/ binary save all classes
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   312
    "/
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   313
    Autoload loadedClasses do:[:cls |
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   314
	'smalltalk.rc [info]: saving binary of ' infoPrint. cls name infoPrint. '...' infoPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   315
	cls binaryFileOut.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   316
	OperatingSystem executeCommand:'mv *.cls binary'.
1346
0d6116434680 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1341
diff changeset
   317
    ].
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   318
    Smalltalk exit
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   319
].
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   320
!
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   321
25
claus
parents: 24
diff changeset
   322
"/
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   323
"/ Memory settings. NOTE that all these settings may be overwritten by
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   324
"/                  settings.stx which stores the Launcher's settings.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   325
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   326
"/
25
claus
parents: 24
diff changeset
   327
"/ this starts the incremental GC earlier
claus
parents: 24
diff changeset
   328
"/ (default is 500000)
claus
parents: 24
diff changeset
   329
"/ the number given is the number of bytes which have to be allocated
claus
parents: 24
diff changeset
   330
"/ since the last GC, to start the incremental GC running.
claus
parents: 24
diff changeset
   331
"/ (see ObjectMemory>>documentation)
claus
parents: 24
diff changeset
   332
"/ Claus: I moved this to the private.rc file
claus
parents: 24
diff changeset
   333
"/
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   334
"/ ObjectMemory incrementalGCLimit:100000.
0
0cb137a77319 Initial revision
claus
parents:
diff changeset
   335
25
claus
parents: 24
diff changeset
   336
"/
claus
parents: 24
diff changeset
   337
"/ this starts the incremental GC when freeSpace drops below a limit
claus
parents: 24
diff changeset
   338
"/ (default is nil - i.e. dont look at freeSpace)
claus
parents: 24
diff changeset
   339
"/ (see ObjectMemory>>documentation)
claus
parents: 24
diff changeset
   340
"/ Claus: I moved this to the private.rc file
claus
parents: 24
diff changeset
   341
"/
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   342
"/ ObjectMemory freeSpaceGCLimit:300000.
16
db5d473df9f0 *** empty log message ***
claus
parents: 12
diff changeset
   343
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   344
"/ experimental: try to always keep some bytes in the pocket
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   345
"/ this changes the memory policy, to start the background collector whenever
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   346
"/ freespace drops below 250k or 500k have been allocated since the last GC.
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   347
"/ AND to allocate more memory, if (after the collect) less than 1Mb is free.
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   348
"/ Doing so makes the system behave better if lots of memory is required
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   349
"/ for short periods of time, since it prepares itself for that situation
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   350
"/ during idle time. (I often walk around in the fileBrowser, loading big
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   351
"/ files like XWorkstation.st or SystemBrowser.st ....)
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   352
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   353
ObjectMemory freeSpaceGCAmount:(1024*1024).
1362
4fdbb86567d1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
   354
ObjectMemory freeSpaceGCLimit:(4*1024*1024).
4fdbb86567d1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
   355
"/ ObjectMemory incrementalGCLimit:(4*1024*1024).
4fdbb86567d1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
   356
ObjectMemory oldSpaceIncrement:(4*1024*1024).
457
de0d828c363c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 453
diff changeset
   357
ObjectMemory oldSpaceCompressLimit:0.   "/ temporary kludge
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   358
ObjectMemory startBackgroundCollectorAt:5.
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   359
ObjectMemory startBackgroundFinalizationAt:5.
566
fedb8719e3b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 558
diff changeset
   360
fedb8719e3b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 558
diff changeset
   361
"/ this limits the amount of memory which is allocated for oldSpace
fedb8719e3b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 558
diff changeset
   362
"/ (for example to prevent ST/X from taking memory from other processes)
fedb8719e3b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 558
diff changeset
   363
"/ The absolute maximum is a builtIn constant and OS specific.
fedb8719e3b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 558
diff changeset
   364
fedb8719e3b6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 558
diff changeset
   365
"/ ObjectMemory maxOldSpace:1024*1024*128.
1297
aed67182399b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   366
"/ ObjectMemory maxOldSpace:1024*1024*512.
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   367
1298
0ac96786d93f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   368
ExternalBytes sizeofPointer == 8 ifTrue:[
1419
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   369
    "/ limit to 8GB to prevent a runaway program from thrashing the system
1298
0ac96786d93f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   370
    "/ if you really need more, change that line
1419
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   371
    ObjectMemory maxOldSpace:8*1024*1024*1024.
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   372
    "/ ObjectMemory maxOldSpace:40*1024*1024*1024.
1298
0ac96786d93f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   373
].
1297
aed67182399b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   374
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   375
"/ experimental: configure the memory manager to quickly increase
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   376
"/ its oldSpace, as long as it stays below 256Mb
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   377
"/ (i.e. do not enter a blocking mark&sweep or compress,
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   378
"/ but go straight ahead increasing the oldSpace).
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   379
"/ Above that, behave as usual, i.e. try a GC first,
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   380
"/ then increase the oldSpace size if that did not help.
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   381
"/ If you have a machine with lots of (real) memory, you may want to
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   382
"/ increase the number.
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   383
"/
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   384
ObjectMemory fastMoreOldSpaceLimit:256*1024*1024.
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   385
ObjectMemory fastMoreOldSpaceAllocation:true.
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   386
1419
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   387
"/ this changes the size of the eden generation, where objects
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   388
"/ are initially allocated. Making it bigger may increase pause
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   389
"/ times a bit, if many objects survive, but reduces the overall overhead
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   390
"/ For server type applications (request-response-loops such as in webServers),
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   391
"/ it is a good idea to make it big enough to handle a request-cycles temporary
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   392
"/ data
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   393
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   394
"/ ObjectMemory newSpaceSize:(2*1024*1024).
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   395
"/ ObjectMemory newSpaceSize:(8*1024*1024).
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   396
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   397
"/ server settings; possibly longer worst case pause times,
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   398
"/ but less overhead overall.
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   399
"/ Use this for webservers, protocol servers etc, where blocking times
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   400
"/ above 30ms are acceptable (also works for interactive programming)
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   401
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   402
ObjectMemory newSpaceSize:(16*1024*1024).
1362
4fdbb86567d1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1361
diff changeset
   403
ObjectMemory incrementalGCLimit:(64*1024*1024).
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   404
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   405
"/
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   406
"/ run the background collector at a dynamic priority - it will
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   407
"/ now always get a chance to make some progress ...
1341
9a6ea7ab9585 changed settings file order (private first)
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   408
"/
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   409
Smalltalk addStartBlock:[
1316
99c76e87fd95 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1299
diff changeset
   410
    "/ 'smalltalk.rc [info]: start timeSlicing...' infoPrintCR.
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   411
    Processor startTimeSlicing.
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   412
    Processor supportDynamicPriorities:true.
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   413
    ObjectMemory backgroundCollectProcess priorityRange:(4 to:9).
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   414
    ObjectMemory backgroundFinalizationProcess priorityRange:(4 to:9).
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   415
].
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   416
!
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   417
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   418
"/ another experimental (and a secret for now, since I don't want
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   419
"/ you to play with those ;-)
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   420
"/ For now, this is experimental. Once the best numbers
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   421
"/ have been found, I'll hardwire them and document it ...
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   422
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   423
|tenureParams|
426
74cc4af22873 install autoloaded classes BEFORE doing display.rc/host.rc
Claus Gittinger <cg@exept.de>
parents: 424
diff changeset
   424
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   425
ObjectMemory newSpaceSize > (500*1024) ifTrue:[
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   426
    tenureParams := #(nil nil nil nil -16 -4 -2 -2 0 0 16 nil) copy.
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   427
] ifFalse:[
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   428
"/         min max cpy /32 /16 /8 /4 /2 /4 /8 /16 /32 "
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   429
    "/
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   430
    "/ slow tenure - keeps objects longer in newSpace,
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   431
    "/  producing more scavenge overhead, but releasing IGC somewhat
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   432
    "/
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   433
"/  tenureParams := #(nil nil nil -100 -8 -4 -1  1  2 4 8 16 nil) copy.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   434
"/  tenureParams := #(nil nil nil nil -16 -4  0  0  0 4 16 nil) copy.
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   435
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   436
    "/
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   437
    "/ fast tenure - moves objects earlier into oldSpace,
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   438
    "/ releasing newSpace collector; however, the oldSpace IGC
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   439
    "/ may have more work to do.
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   440
    "/
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   441
    tenureParams := #(nil nil nil nil -20 -8 -3 -1 -1 1 16 nil) copy.
322
48f27b856cb9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   442
].
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   443
ObjectMemory tenureParameters:tenureParams.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   444
!
0
0cb137a77319 Initial revision
claus
parents:
diff changeset
   445
25
claus
parents: 24
diff changeset
   446
"/
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   447
"/ this defines stuff relating to the host we are running on
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   448
"/
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   449
"/ 'smalltalk.rc [info]: reading ''host.rc''...' infoPrintCR.
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   450
Smalltalk fileIn:'host.rc'.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   451
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   452
"/
25
claus
parents: 24
diff changeset
   453
"/ this handles all variant display stuff
claus
parents: 24
diff changeset
   454
"/ (i.e. things which might change, when DISPLAY is set different)
331
a0be330a1f43 moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
   455
"/ Notice, that the display may be different from the host we run on;
a0be330a1f43 moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
   456
"/ Host specific things are configured in host.rc.
25
claus
parents: 24
diff changeset
   457
"/
336
5eb44f3e88af do not output 'no sourceCode' warning messages
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   458
Display notNil ifTrue:[
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   459
    "/ 'smalltalk.rc [info]: reading ''display.rc''...' infoPrintCR.
336
5eb44f3e88af do not output 'no sourceCode' warning messages
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   460
    Smalltalk fileIn:'display.rc'.
5eb44f3e88af do not output 'no sourceCode' warning messages
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   461
].
0
0cb137a77319 Initial revision
claus
parents:
diff changeset
   462
25
claus
parents: 24
diff changeset
   463
"/
143
71dc5ec7ef26 Renamed NewLauncher to Launcher.
Stefan Vogel <sv@exept.de>
parents: 133
diff changeset
   464
"/ Ask user to accept Licence.
71dc5ec7ef26 Renamed NewLauncher to Launcher.
Stefan Vogel <sv@exept.de>
parents: 133
diff changeset
   465
"/ exit, if rejected.
324
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   466
"/
152
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   467
"/ You may find this annoying - but lawers say: "this is a must ..." ;-)
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   468
"/ (it will not be shown when coming up via a snapshot image)
324
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   469
"/ Also, the licenceBox can be suppressed with a command-line argument;
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   470
"/ however, if you do so, we assume you have read & accepted it at least
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   471
"/ once (since this command-line-argument is not documented, you obviously
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   472
"/ read the code below).
220
8200018dbaee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 209
diff changeset
   473
324
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   474
"/
325
10f4f4024870 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
   475
"/ WARNING: read the licence text before you:
10f4f4024870 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
   476
"/      - disable the code below,
10f4f4024870 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
   477
"/      - or start stx with a suppress argument.
324
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   478
"/
250
2d66cd491981 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 226
diff changeset
   479
678
728aff120ee7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 677
diff changeset
   480
(Smalltalk isStandAloneApp not
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   481
 and:[Smalltalk isPlugin not
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   482
 and:[Display notNil
678
728aff120ee7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 677
diff changeset
   483
]]) ifTrue:[
617
f6afee16b359 Add --quick options to come up without gimmicks
Stefan Vogel <sv@exept.de>
parents: 612
diff changeset
   484
    ((Smalltalk commandLineArguments includes:'--noLicenceBox')
663
6c2430ac1d44 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 656
diff changeset
   485
     or:[(Smalltalk commandLineArguments includes:'--quick')
6c2430ac1d44 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 656
diff changeset
   486
     or:[(Smalltalk commandLineArguments includes:'--faststart')
6c2430ac1d44 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 656
diff changeset
   487
     or:[(Smalltalk commandLineArguments includes:'--fastStart')
678
728aff120ee7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 677
diff changeset
   488
    ]]]) ifFalse:[
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   489
	Smalltalk addStartBlock:[
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   490
	    'smalltalk.rc [info]: show licence conditions...' infoPrintCR.
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   491
	    LicenceBox autoload.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   492
	    LicenceBox licenceRejectSignal handle:[:ex|
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   493
		Smalltalk exit
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   494
	    ] do:[
1358
7ea72a25a3d6 exitOnLastClose disabled for licenseBox
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   495
		Display exitOnLastClose:false.
656
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   496
		(LicenceBox open) ifFalse:[
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   497
		    'smalltalk.rc [info]: licence conditions not accepted.' infoPrintCR.
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   498
		    Smalltalk exit
33c547d1a706 *** empty log message ***
penk
parents: 637
diff changeset
   499
		].
687
2909ff03ad8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 686
diff changeset
   500
		Class withoutUpdatingChangesDo:[
2909ff03ad8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 686
diff changeset
   501
		    Smalltalk removeClass:LicenceBox.
2909ff03ad8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 686
diff changeset
   502
		].
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   503
	    ].
336
5eb44f3e88af do not output 'no sourceCode' warning messages
Claus Gittinger <cg@exept.de>
parents: 331
diff changeset
   504
	]
324
e8eb27061a3f llow for licenceBox to be suppressed
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
   505
    ]
143
71dc5ec7ef26 Renamed NewLauncher to Launcher.
Stefan Vogel <sv@exept.de>
parents: 133
diff changeset
   506
].
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   507
!
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   508
723
e308a2b1775b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 704
diff changeset
   509
|cls|
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   510
"/
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   511
"/ some ST80 name aliases
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   512
"/ (actually, much more is needed - this is just a start ...)
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   513
"/
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   514
(cls := Smalltalk at:#StandardSystemView) notNil ifTrue:[
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   515
    Smalltalk at:#ScheduledWindow put:cls
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   516
].
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   517
(cls := Smalltalk at:#Socket) notNil ifTrue:[
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   518
    Smalltalk at:#UnixSocketAccessor put:cls.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   519
    Smalltalk at:#SocketAccessor put:cls.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   520
    Smalltalk at:#SocketAccessorByAddress put:cls.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   521
].
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   522
Smalltalk at:#BlockClosure put:Block.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   523
Smalltalk at:#CompiledMethod put:Method.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   524
(cls := Smalltalk at:#DialogBox) notNil ifTrue:[
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   525
    Smalltalk at:#Dialog     put:cls.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   526
    Smalltalk at:#DialogView put:cls.
397
5ad969d9ea05 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 396
diff changeset
   527
    Smalltalk at:#FillInTheBlank put:cls.
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   528
].
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   529
Smalltalk at:#ByteString put:String.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   530
Smalltalk at:#ByteSymbol put:Symbol.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   531
Smalltalk at:#ByteEncodedString put:String.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   532
Smalltalk at:#Console put:Stderr.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   533
Smalltalk at:#HandlerList put:HandlerCollection.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   534
Smalltalk at:#SignalCollection put:SignalSet.
424
4b6de7399a42 ProgrsssWidgetSpec alias (VW compat)
Claus Gittinger <cg@exept.de>
parents: 416
diff changeset
   535
(cls := Smalltalk at:#ProgressIndicatorSpec) notNil ifTrue:[
4b6de7399a42 ProgrsssWidgetSpec alias (VW compat)
Claus Gittinger <cg@exept.de>
parents: 416
diff changeset
   536
    Smalltalk at:#ProgressWidgetSpec put:cls.
4b6de7399a42 ProgrsssWidgetSpec alias (VW compat)
Claus Gittinger <cg@exept.de>
parents: 416
diff changeset
   537
].
428
a73fe2bfa29e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 426
diff changeset
   538
(cls := Smalltalk at:#ProgressIndicator) notNil ifTrue:[
a73fe2bfa29e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 426
diff changeset
   539
    Smalltalk at:#ProgressWidgetView put:cls.
a73fe2bfa29e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 426
diff changeset
   540
].
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   541
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   542
"/ FileDirectory notNil ifTrue:[
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   543
"/     Smalltalk at:#Disk put:(Filename rootDirectory)
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   544
"/ ].
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   545
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   546
Screen notNil ifTrue:[
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   547
    Smalltalk at:#Window put:Screen.
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   548
    Smalltalk at:#Sensor put:Screen default.
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   549
].
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   550
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   551
"/
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   552
"/ ST/X has (currently) no Double, but Float is what ST-80's Double is ...
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   553
"/
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   554
Smalltalk at:#Double put:Float.
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   555
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   556
Smalltalk at:#Browser put:SystemBrowser.
1419
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   557
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   558
"/
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   559
"/ some ANSI name aliases
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   560
"/
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   561
(Smalltalk includesKey:#DateAndTime) ifFalse:[
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   562
    Smalltalk at:#DateAndTime put:Timestamp.
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   563
].
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   564
(Smalltalk includesKey:#Duration) ifFalse:[
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   565
    Smalltalk at:#Duration put:TimeDuration.
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   566
].
0bda34d72add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
   567
358
14a45495e3d8 autoloaded classes must be read after the host.rc file;
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   568
!
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   569
|file|
143
71dc5ec7ef26 Renamed NewLauncher to Launcher.
Stefan Vogel <sv@exept.de>
parents: 133
diff changeset
   570
71dc5ec7ef26 Renamed NewLauncher to Launcher.
Stefan Vogel <sv@exept.de>
parents: 133
diff changeset
   571
"/
41
d61cda45c461 separated keyboard macros
Claus Gittinger <cg@exept.de>
parents: 26
diff changeset
   572
"/ read private (per user) stuff
25
claus
parents: 24
diff changeset
   573
"/
632
6cb9fe000c20 -F arg to allow other than private.rc
Claus Gittinger <cg@exept.de>
parents: 617
diff changeset
   574
(Smalltalk commandLine includes:'-F') ifTrue:[
6cb9fe000c20 -F arg to allow other than private.rc
Claus Gittinger <cg@exept.de>
parents: 617
diff changeset
   575
    |idx file|
6cb9fe000c20 -F arg to allow other than private.rc
Claus Gittinger <cg@exept.de>
parents: 617
diff changeset
   576
6cb9fe000c20 -F arg to allow other than private.rc
Claus Gittinger <cg@exept.de>
parents: 617
diff changeset
   577
    idx := Smalltalk commandLine indexOf:'-F'.
6cb9fe000c20 -F arg to allow other than private.rc
Claus Gittinger <cg@exept.de>
parents: 617
diff changeset
   578
    file := Smalltalk commandLine at:idx + 1.
6cb9fe000c20 -F arg to allow other than private.rc
Claus Gittinger <cg@exept.de>
parents: 617
diff changeset
   579
] ifFalse:[
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   580
    file := 'private.rc'.
632
6cb9fe000c20 -F arg to allow other than private.rc
Claus Gittinger <cg@exept.de>
parents: 617
diff changeset
   581
].
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   582
('smalltalk.rc [info]: reading ''' , file , '''...') infoPrintCR.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   583
Smalltalk fileIn:file.
5
420e4af41733 *** empty log message ***
claus
parents: 0
diff changeset
   584
1246
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   585
!
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   586
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   587
"JV@2012-05-03: Search system path for rc.d directories, collect all *.rc files
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   588
and then file them in a lexical order"
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   589
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   590
| rcDFiles |
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   591
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   592
rcDFiles := SortedCollection sortBlock:[:a :b|a baseName < b baseName].
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   593
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   594
Smalltalk realSystemPath ? #() do:[:syspath|
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   595
    | rcD |
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   596
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   597
    rcD := syspath asFilename / 'rc.d'.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   598
    rcD exists ifTrue:[
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   599
	rcD directoryContentsAsFilenames do:[:each|
1431
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   600
	    each suffix = 'rc' ifTrue:[
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   601
	        | eachAbs |
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   602
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   603
	        eachAbs := each asAbsoluteFilename.
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   604
	        (rcDFiles includes: eachAbs) ifFalse:[
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   605
	    	    rcDFiles add: eachAbs.
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   606
	    	]
691727155921 Avoid reading rc.d files twice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1428
diff changeset
   607
	    ]
1246
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   608
	].
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   609
    ].
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   610
].
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   611
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   612
rcDFiles do:[:each|
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   613
    'smalltalk.rc [info]: reading ' infoPrint.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   614
    each baseName infoPrint.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   615
    '...' infoPrint.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   616
    ( AbortOperationRequest , TerminateProcessRequest , Parser parseErrorSignal ) handle:[:ex |
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   617
	'FAILED: ' errorPrint.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   618
	ex description errorPrintCR.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   619
	ex return.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   620
    ] do:[
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   621
	each fileIn.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   622
	'OK' infoPrintCR.
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   623
    ].
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   624
].
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   625
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   626
!
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   627
488
521e2d58f050 Changed workstation initialization.
Stefan Vogel <sv@exept.de>
parents: 475
diff changeset
   628
Screen notNil ifTrue:[
441
4602f96301f3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 437
diff changeset
   629
    "/
4602f96301f3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 437
diff changeset
   630
    "/ read saved configuration settings (if any)
4602f96301f3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 437
diff changeset
   631
    "/
1364
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   632
    | idx |
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   633
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   634
    idx := Smalltalk commandLineArguments indexOf: '--no-preferences'.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   635
    idx ~~ 0 ifTrue:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   636
	Smalltalk commandLineArguments removeAtIndex: idx.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   637
    ] ifFalse:[
1246
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   638
1364
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   639
	'smalltalk.rc [info]: reading preferences ' infoPrint.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   640
	( AbortOperationRequest , TerminateProcessRequest , Parser parseErrorSignal ) handle:[:ex |
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   641
	    'READ FAILED: ' errorPrint.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   642
	    ex description errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   643
	    ex return.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   644
	    1 halt.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   645
	] do:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   646
	    "JV@2012-03-07: Try following settings files:
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   647
	       $HOME/.smalltalk/settings.stx
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   648
	       $HOME/.smalltalk/settings.rc
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   649
	       $PWD/settings.stx
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   650
	       $PWD/settings.rc
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   651
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   652
	    in that order. Whichever is found, it is read and the rest
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   653
	    is not used. Also, path to the file which has beed read is
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   654
	    stored in 'UserPreferences current at:#settingsFilename'
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   655
	    "
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   656
	    | files continue |
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   657
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   658
	    files := nil.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   659
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   660
	    idx := Smalltalk commandLineArguments indexOf: '--preferences'.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   661
	    idx ~~ 0 ifTrue:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   662
		| file |
1246
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   663
1364
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   664
		Smalltalk commandLineArguments size <= idx ifTrue:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   665
		    '' errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   666
		    'smalltalk.rc [error]: --preferences requires an argument, none given' errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   667
		    Smalltalk exit: 1.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   668
		].
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   669
		file := (Smalltalk commandLineArguments at: idx + 1) asFilename.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   670
		file exists ifFalse:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   671
		    '' errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   672
		    ('smalltalk.rc [error]: preference file ''', file pathName,''' does not exist') errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   673
		    Smalltalk exit: 1.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   674
		].
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   675
		file isDirectory ifTrue:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   676
		    '' errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   677
		    ('smalltalk.rc [error]: preference file ''', file pathName,''' is not a regular file') errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   678
		    Smalltalk exit: 1.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   679
		].
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   680
		file isReadable ifFalse:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   681
		    '' errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   682
		    ('smalltalk.rc [error]: preference file ''', file pathName,''' is not a readable (check permissions)') errorPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   683
		    Smalltalk exit: 1.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   684
		].
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   685
		files := Array with: file.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   686
		Smalltalk commandLineArguments removeAtIndex: idx + 1.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   687
		Smalltalk commandLineArguments removeAtIndex: idx.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   688
	    ].
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   689
	    files isNil ifTrue:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   690
		files := {
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   691
			    (Filename homeDirectory / '.smalltalk' / 'settings.stx') . "/ per-user settings file (new default?)
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   692
			    (Filename homeDirectory / '.smalltalk' / 'settings.rc') .  "/ for backward compatibility with jv-branch
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   693
			    (Smalltalk getSystemFileName: 'settings.stx') .            "/ old stx default
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   694
			    (Smalltalk getSystemFileName: 'settings.rc') .             "/ for backward compatibility with jv-branch
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   695
			 }.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   696
	    ].
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   697
	    continue := true.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   698
	    files do:[:each|
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   699
		| eachFile |
1246
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   700
1364
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   701
		(continue and:[each notNil and:[(eachFile := each asFilename) exists]]) ifTrue:[
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   702
		    continue := false.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   703
		    eachFile pathName infoPrintCR.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   704
		    eachFile fileIn.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   705
		    UserPreferences current at:#settingsFilename put: eachFile pathName.
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   706
		].
1246
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   707
	    ].
1364
ab2a726d83e8 Added --no-preferences and --preferences options.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1362
diff changeset
   708
	    continue ifTrue:[ '(none found)' infoPrintCR ].
1246
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   709
	].
357edb85942f - settings reading improved - searches also ~/.smalltalk/settings.stx
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   710
    ].
933
8c19cfd716ea *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 924
diff changeset
   711
].
355
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   712
!
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   713
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   714
"/
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   715
"/ just a quick check, if this ST/X installation seems to
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   716
"/ be halfway complete (it happened to some people, that
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   717
"/ their source/resource directories were not installed)
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   718
"/ - better to warn early ...
355
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   719
"/
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   720
|anyWrong missing|
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   721
Smalltalk isStandAloneApp ifFalse:[
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   722
    anyWrong := false.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   723
    missing := ''.
409
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   724
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   725
"/
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   726
"/ no longer needed - if we have the package,
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   727
"/ we also have the resources ...
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   728
"/
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   729
"/    (Smalltalk getResourceFileName:'SystemBrowser.rs' forClass:SystemBrowser) isNil ifTrue:[
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   730
"/        '***********************************************************************' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   731
"/        '***** ATTENTION: please check installation of your >>resource<< files' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   732
"/        '***** I will not be able to give non-english messages' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   733
"/        anyWrong := true.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   734
"/        missing := '''resources'' '.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   735
"/    ].
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   736
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   737
"/
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   738
"/ no longer needed - if we have the package,
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   739
"/ we also have the styles ...
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   740
"/
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   741
"/    (Smalltalk getResourceFileName:'normal.style' forClass:View) isNil ifTrue:[
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   742
"/        '***********************************************************************' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   743
"/        '***** ATTENTION: please check installation of your >>style<< files' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   744
"/        '***** I will use a plain b&w viewStyle as a fallBack' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   745
"/        anyWrong := true.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   746
"/        missing := missing , '''resources'' '.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   747
"/    ].
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   748
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   749
    (Smalltalk getPackageFileName:'stx/libbasic/source/Object.st') isNil and:[
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   750
	(Smalltalk getPackageFileName:'stx/libbasic/Object.st') isNil and:[
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   751
	(Smalltalk getSystemFileName:'source/Object.st') isNil and:[
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   752
	(Smalltalk getSystemFileName:'source/source.zip') isNil and:[
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   753
	(Smalltalk getSystemFileName:'source/libbasic.zip') isNil and:[
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   754
	(Smalltalk getSourceFileName:'libbasic/Object.st') isNil and:[
355
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   755
	    "/
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   756
	    "/ there may still be a SourceCodeManager ...
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   757
	    "/
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   758
	    (Smalltalk at:#SourceCodeManager) isNil ifTrue:[
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   759
		'***********************************************************************' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   760
		'***** ATTENTION: please check installation of your >>source<< files' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   761
		'***** ' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   762
		'***** the browser/debugger may not be able to show sourcecode.' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   763
		'***** Also, autoloading may fail if sourceFiles are missing.' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   764
		anyWrong := true.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   765
		missing := missing , '''source'' '.
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   766
    ]]]]]]].
409
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   767
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   768
"/
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   769
"/ no longer needed - if we have the package,
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   770
"/ we also have the bitmaps ...
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   771
"/
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   772
"/    (Smalltalk bitmapFromFileNamed:'SmalltalkX.xbm' inPackage:'stx:libtool') isNil ifTrue:[
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   773
"/        '***********************************************************************' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   774
"/        '***** ATTENTION: please check installation of your >>bitmap<< files' errorPrintCR.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   775
"/        anyWrong := true.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   776
"/        missing := missing , '''bitmaps'' '.
3a136424d8e6 set packagePath earlier;
Claus Gittinger <cg@exept.de>
parents: 404
diff changeset
   777
"/    ].
355
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   778
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   779
    anyWrong ifTrue:[
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   780
	'*****' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   781
	'***** directory(s) named: ' errorPrint. missing errorPrint. 'incomplete/not existing' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   782
	'***** I could not find the missing directory along your path,' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   783
	'***** which is:' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   784
	Smalltalk systemPath do:[:dir |
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   785
	    ('*****        ' , dir storeString) errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   786
	].
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   787
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   788
	'*****' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   789
	'***** Try: "make source bitmaps resources styles"' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   790
	'*****  or: "make symlinks" to fix this.' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   791
	'***********************************************************************' errorPrintCR.
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   792
    ]
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   793
]
007bd12bd854 check for source access possible AFTER reading private.rc
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   794
!
169
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   795
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   796
"/
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   797
"/ set the package to some useful default
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   798
"/
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   799
Project notNil ifTrue:[
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   800
    Project setDefaultProject.
443
3585f07bbf1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 441
diff changeset
   801
    "/ Project current package:#'private'.
169
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   802
].
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   803
08055578224e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 153
diff changeset
   804
"/
152
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   805
"/ if error occurs, and debugger has problems coming up,
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   806
"/ uncomment the following ...
25
claus
parents: 24
diff changeset
   807
"/
10
43d0db9ff204 *** empty log message ***
claus
parents: 8
diff changeset
   808
"/ Debugger := MiniDebugger.
0
0cb137a77319 Initial revision
claus
parents:
diff changeset
   809
1422
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   810
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   811
"/
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   812
"/ load initial packages
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   813
"/
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   814
UserPreferences current autoloadedPackages notEmpty ifTrue:[
1428
e2b383b11b36 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
   815
  (Smalltalk commandLineArguments includesAny:#('--noAutoload' '--noautoload')) ifTrue:[
1426
bfdc1571fffa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
   816
    'smalltalk.rc [info]: autoloaded packages suppressed.' infoPrintCR.
bfdc1571fffa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
   817
  ] ifFalse:[
1422
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   818
    'smalltalk.rc [info]: loading autoloaded packages...' infoPrintCR.
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   819
    (UserPreferences current autoloadedPackages) do:[:eachPackage |
1424
602b53d13b37 splash message when autoloading packages
Claus Gittinger <cg@exept.de>
parents: 1422
diff changeset
   820
	Smalltalk showSplashMessage:('Autoloading ',eachPackage,'...').
1425
1a8a4bb13ac0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1424
diff changeset
   821
	Error handle:[:ex |
1457
mawalch
parents: 1428
diff changeset
   822
	    ('smalltalk.rc [error]: error while autoloading package: ',eachPackage) errorPrintCR.
1425
1a8a4bb13ac0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1424
diff changeset
   823
	] do:[
1a8a4bb13ac0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1424
diff changeset
   824
	    Smalltalk loadPackage:eachPackage.
1a8a4bb13ac0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1424
diff changeset
   825
	]
1422
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   826
    ].
1424
602b53d13b37 splash message when autoloading packages
Claus Gittinger <cg@exept.de>
parents: 1422
diff changeset
   827
    Smalltalk showSplashMessage:('done.').
1426
bfdc1571fffa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1425
diff changeset
   828
  ]
1422
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   829
].
6759e2538650 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
   830
152
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   831
"/
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   832
"/ save an initial image; this will speedup the next startup
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   833
"/ (since all autoload-stuff will already be initialized)
956f80caf731 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 144
diff changeset
   834
"/
672
43a67655f4f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 668
diff changeset
   835
((Smalltalk commandLineArguments includes:'--quick')
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   836
 or:[(Smalltalk commandLineArguments includes:'--faststart')
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   837
 or:[(Smalltalk commandLineArguments includes:'--fastStart')
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   838
 or:[(Smalltalk isPlugin)
672
43a67655f4f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 668
diff changeset
   839
]]]) ifFalse:[
1384
e45c6e854be7 Filename currentDirectory
Stefan Vogel <sv@exept.de>
parents: 1364
diff changeset
   840
    ('st.img' asFilename exists not and:[Filename currentDirectory isWritable]) ifTrue:[
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   841
	|doneWithStartupStuff|
153
f42ccdad6f93 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 152
diff changeset
   842
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   843
	doneWithStartupStuff := Semaphore new.
609
f0f51d4a0066 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 568
diff changeset
   844
686
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   845
	Smalltalk addStartBlock:[
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   846
	    [
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   847
		doneWithStartupStuff wait.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   848
		   'smalltalk.rc [info]: saving initial image for faster future startup...' infoPrintCR.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   849
		   ObjectMemory primSnapShotOn:'st.img'
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   850
	    ] forkAt:1.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   851
	    [
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   852
		Delay waitForSeconds:10.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   853
		doneWithStartupStuff signal
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   854
	    ] forkAt:1.
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   855
	].
1e48a0068d34 More source file locations
Stefan Vogel <sv@exept.de>
parents: 680
diff changeset
   856
    ].
672
43a67655f4f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 668
diff changeset
   857
].