#DOCUMENTATION
authorClaus Gittinger <cg@exept.de>
Thu, 19 Nov 2015 15:22:51 +0100
changeset 18924 f5063aa4e434
parent 18923 fc32a7567437
child 18925 84de2435046a
#DOCUMENTATION class: Smalltalk comment/format in: #loadExtensionsForPackage: #loadExtensionsForPackage:language: #loadExtensionsFromDirectory: changed: #hello #languageTerritory:
Smalltalk.st
--- a/Smalltalk.st	Thu Nov 19 14:56:31 2015 +0100
+++ b/Smalltalk.st	Thu Nov 19 15:22:51 2015 +0100
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
 	      All Rights Reserved
@@ -2449,8 +2447,8 @@
     | extensionsLoaded |
 
     extensionsLoaded := false.
-    ProgrammingLanguage allDo:[:lang|
-	extensionsLoaded := extensionsLoaded | (self loadExtensionsForPackage:aPackageId language: lang)
+    ProgrammingLanguage allDo:[:programmingLanguage|
+        extensionsLoaded := extensionsLoaded | (self loadExtensionsForPackage:aPackageId language: programmingLanguage)
     ].
     ^ extensionsLoaded
 
@@ -2459,81 +2457,81 @@
     "Modified (format): / 04-09-2011 / 09:19:24 / cg"
 !
 
-loadExtensionsForPackage:aPackageId language: language
+loadExtensionsForPackage:aPackageId language: programmingLanguage
     |mgr packageDirName inStream projectDefinition extensionsFilename mod dir
      extensionsRevisionString extensionsRevisionInfo|
 
-    language supportsExtensionMethods ifFalse:[^false].
+    programmingLanguage supportsExtensionMethods ifFalse:[^false].
 
     packageDirName := aPackageId copyReplaceAll:$: with:$/.
     packageDirName := self getPackageFileName:packageDirName.
 
     (packageDirName notNil and:[Class tryLocalSourceFirst]) ifTrue:[
-	(self loadExtensionsFromDirectory:packageDirName language: language) ifTrue:[
-	    ^ true.
-	].
-	packageDirName := nil.  "do not try again"
+        (self loadExtensionsFromDirectory:packageDirName language: programmingLanguage) ifTrue:[
+            ^ true.
+        ].
+        packageDirName := nil.  "do not try again"
     ].
 
     "
      if there is a sourceCodeManager, ask it first for the extensions
     "
     (Smalltalk at:#AbstractSourceCodeManager) notNil ifTrue:[
-	mgr := AbstractSourceCodeManager managerForPackage: aPackageId
+        mgr := AbstractSourceCodeManager managerForPackage: aPackageId
     ].
     mgr notNil ifTrue:[
-	extensionsFilename := 'extensions.' , language sourceFileSuffix.
-
-	projectDefinition := ProjectDefinition definitionClassForPackage:aPackageId.
-	projectDefinition notNil ifTrue:[
-	    mod := aPackageId asPackageId module.
-	    dir := aPackageId asPackageId directory.
-	    extensionsRevisionString := projectDefinition perform:(mgr nameOfVersionMethodForExtensions) ifNotUnderstood:nil.
-	    extensionsRevisionString notNil ifTrue:[
-		extensionsRevisionInfo := mgr revisionInfoFromString:extensionsRevisionString inClass:nil.
-		extensionsRevisionInfo notNil ifTrue:[
-		    extensionsRevisionInfo fileName = extensionsFilename ifFalse:[
-			"JV@2011-10-23: following condition is never satisfied for
-			 filed-in packages. The whole scheme of extensionVersion_XXX
-			 works ONLY for compiled packages as it depends on fact, that
-			 extension Init() routine is called AFTER all classes are inited,
-			 therefore the extensionVersion_XXX methods from extensions.st
-			 overwrites methods coming from package definition class. All this
-			 is so tricky and error prone, that we have to come up with better
-			 solution!!"
-			packageDirName notNil ifTrue:[
-			    ^ self loadExtensionsFromDirectory:packageDirName language: language
-			] ifFalse:[
-			    ^ false
-			]
-		    ]
-		]
-	    ].
-	    SourceCodeManagerError handle:[:ex |
-	    ] do:[
-		inStream := mgr streamForExtensionFile:extensionsFilename package:aPackageId directory:dir module:mod cache:true.
-	    ].
-	].
-	inStream isNil ifTrue:[
-	    SourceCodeManagerError handle:[:ex |
-	    ] do:[
-		inStream := mgr getMostRecentSourceStreamForFile:extensionsFilename inPackage:aPackageId.
-	    ].
-	].
-	inStream notNil ifTrue:[
-	    Class withoutUpdatingChangeSetDo:[
-		inStream fileIn.
-	    ].
-	    inStream close.
-	    VerboseLoading ifTrue:[
-		Transcript showCR:('loaded extensions for ',aPackageId,' from repository').
-	    ].
-	    ^ true
-	]
+        extensionsFilename := 'extensions.' , programmingLanguage sourceFileSuffix.
+
+        projectDefinition := ProjectDefinition definitionClassForPackage:aPackageId.
+        projectDefinition notNil ifTrue:[
+            mod := aPackageId asPackageId module.
+            dir := aPackageId asPackageId directory.
+            extensionsRevisionString := projectDefinition perform:(mgr nameOfVersionMethodForExtensions) ifNotUnderstood:nil.
+            extensionsRevisionString notNil ifTrue:[
+                extensionsRevisionInfo := mgr revisionInfoFromString:extensionsRevisionString inClass:nil.
+                extensionsRevisionInfo notNil ifTrue:[
+                    extensionsRevisionInfo fileName = extensionsFilename ifFalse:[
+                        "JV@2011-10-23: following condition is never satisfied for
+                         filed-in packages. The whole scheme of extensionVersion_XXX
+                         works ONLY for compiled packages as it depends on fact, that
+                         extension Init() routine is called AFTER all classes are inited,
+                         therefore the extensionVersion_XXX methods from extensions.st
+                         overwrites methods coming from package definition class. All this
+                         is so tricky and error prone, that we have to come up with better
+                         solution!!"
+                        packageDirName notNil ifTrue:[
+                            ^ self loadExtensionsFromDirectory:packageDirName language: programmingLanguage
+                        ] ifFalse:[
+                            ^ false
+                        ]
+                    ]
+                ]
+            ].
+            SourceCodeManagerError handle:[:ex |
+            ] do:[
+                inStream := mgr streamForExtensionFile:extensionsFilename package:aPackageId directory:dir module:mod cache:true.
+            ].
+        ].
+        inStream isNil ifTrue:[
+            SourceCodeManagerError handle:[:ex |
+            ] do:[
+                inStream := mgr getMostRecentSourceStreamForFile:extensionsFilename inPackage:aPackageId.
+            ].
+        ].
+        inStream notNil ifTrue:[
+            Class withoutUpdatingChangeSetDo:[
+                inStream fileIn.
+            ].
+            inStream close.
+            VerboseLoading ifTrue:[
+                Transcript showCR:('loaded extensions for ',aPackageId,' from repository').
+            ].
+            ^ true
+        ]
     ].
 
     packageDirName notNil ifTrue:[
-	^ self loadExtensionsFromDirectory:packageDirName language: language
+        ^ self loadExtensionsFromDirectory:packageDirName language: programmingLanguage
     ].
     ^ false
 
@@ -2544,13 +2542,13 @@
 !
 
 loadExtensionsFromDirectory:packageDirOrString
-
     | extensionsLoaded |
+
     extensionsLoaded := false.
-    ProgrammingLanguage allDo:
-	[:lang|
-	extensionsLoaded := extensionsLoaded | (self loadExtensionsFromDirectory: packageDirOrString language: lang)].
-    ^extensionsLoaded
+    ProgrammingLanguage allDo:[:programmingLanguage|
+        extensionsLoaded := extensionsLoaded | (self loadExtensionsFromDirectory: packageDirOrString language: programmingLanguage)
+    ].
+    ^ extensionsLoaded
 
     "Modified: / 02-01-2010 / 10:40:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -4972,9 +4970,11 @@
 languageTerritory:aTerritorySymbol
     "set the language territory - send out change notifications"
 
-    LanguageTerritory := aTerritorySymbol asSymbol.
-    self changed:#LanguageTerritory
-
+    aTerritorySymbol ~= LanguageTerritory ifTrue:[
+        LanguageTerritory := aTerritorySymbol asSymbol.
+        self changed:#LanguageTerritory
+    ].
+    
     "
      Time now
 
@@ -8104,35 +8104,35 @@
     "return a greeting string"
 
     "stupid: this should come from a resource file ...
-     but I dont use it here, to allow mini-systems without
+     but I don't use it here, to allow mini-systems without
      Resource-stuff."
 
     |proto lang|
 
     lang := Language.
     (lang == #de) ifTrue:[
-	proto := 'Willkommen bei %1 (Version %2 von %3)'
+        proto := 'Willkommen bei %1 (Version %2 von %3)'
     ] ifFalse:[ (lang == #fr) ifTrue:[
-	proto := 'Salut, Bienvenue à %1 (version %2 de %3)'
+        proto := 'Salut, Bienvenue à %1 (version %2 de %3)'
     ] ifFalse:[ (lang == #it) ifTrue:[
-	proto := 'Ciao, benvenuto al %1 (versione %2 di %3)'
+        proto := 'Ciao, benvenuto al %1 (versione %2 di %3)'
     ] ifFalse:[ (lang == #es) ifTrue:[
-"/        proto := 'Hola, bienvenida a %1 (versión %2 de %3)'
-    ] ifFalse:[ (lang == #es) ifTrue:[
-"/        proto := 'Oi, benvindo a %1 (versão %2 de %3)'
+        proto := 'Hola, bienvenida a %1 (version %2 de %3)'
+    ] ifFalse:[ (lang == #pt) ifTrue:[
+        proto := 'Olá!!, mem-vindo a %1 (version %2 de %3)'
     ] ifFalse:[ (lang == #no) ifTrue:[
-	proto := 'Hei, verdenmottakelse til %1 (versjon %2 av %3)'
+        proto := 'Hei, verdenmottakelse til %1 (versjon %2 av %3)'
     ]]]]]].
 
     "/ ... more needed here ...
 
     proto isNil ifTrue:[
-	proto := 'Hello World - here is %1 version %2 of %3'.
+        proto := 'Hello World - welcome to %1 version %2 of %3'.
     ].
 
     ^ proto bindWith:('SmallTalk/X' allBold)
-		with:(self versionString)
-		with:(self versionDate)
+                with:(self versionString)
+                with:(self versionDate)
 
     "
      Smalltalk language:#us.