#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Sat, 05 Nov 2016 17:18:58 +0100
changeset 20853 9cc798fa81e0
parent 20852 77d4e07567b2
child 20854 90b191e5945d
#FEATURE by cg class: Smalltalk changed: #start allow multiple (comma separated) files in packagePath and --load options.
Smalltalk.st
--- a/Smalltalk.st	Sat Nov 05 14:04:35 2016 +0100
+++ b/Smalltalk.st	Sat Nov 05 17:18:58 2016 +0100
@@ -4374,9 +4374,11 @@
             ] whileTrue:[
                 arg := CommandLineArguments at:idx + 1.
                 CommandLineArguments removeAtIndex:idx+1; removeAtIndex:idx.
-                self packagePath addLast:arg.
-                VerboseStartup == true ifTrue:[
-                    ('Smalltalk [info]: add to packagePath: "', arg, '".') infoPrintCR.
+                (arg asCollectionOfSubstringsSeparatedByAny:',;') do:[:each |
+                    self packagePath addLast:each.                    
+                    VerboseStartup == true ifTrue:[
+                        ('Smalltalk [info]: add to packagePath: "', arg, '".') infoPrintCR.
+                    ].
                 ].
             ].
 
@@ -4387,10 +4389,18 @@
                 arg := CommandLineArguments at:idx + 1.
                 CommandLineArguments removeAtIndex:idx+1; removeAtIndex:idx.
                 Smalltalk silentlyLoadingDo:[
-                    arg asFilename exists ifTrue:[
-                        Smalltalk fileIn:arg
-                    ] ifFalse:[
-                        Smalltalk loadPackage:arg
+                    (arg asCollectionOfSubstringsSeparatedByAny:',;') do:[:each |
+                        each asFilename exists ifTrue:[
+                            VerboseStartup == true ifTrue:[
+                                ('Smalltalk [info]: loading file: "', each, '".') infoPrintCR.
+                            ].
+                            Smalltalk fileIn:each
+                        ] ifFalse:[
+                            VerboseStartup == true ifTrue:[
+                                ('Smalltalk [info]: loading package: "', each, '".') infoPrintCR.
+                            ].
+                            Smalltalk loadPackage:each
+                        ].
                     ].
                 ].
             ].