- small improvements in multi-language support jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sat, 22 Aug 2009 09:34:50 +0100
branchjv
changeset 17729 4187f74d2df8
parent 17728 bbc5fa73dfab
child 17730 71a6cb11de98
- small improvements in multi-language support - overidden methods now keep their source code locally - fixed generation of Make.spec
AbstractSourceFileWriter.st
ClassBuilder.st
ClassDescription.st
Make.proto
Make.spec
Method.st
ProgrammingLanguage.st
ProjectDefinition.st
Smalltalk.st
SmalltalkChunkFileSourceWriter.st
SmalltalkLanguage.st
UserPreferences.st
abbrev.stc
libInit.cc
stx_libbasic.st
--- a/AbstractSourceFileWriter.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/AbstractSourceFileWriter.st	Sat Aug 22 09:34:50 2009 +0100
@@ -8,6 +8,19 @@
 !
 
 
+!AbstractSourceFileWriter methodsFor:'fileout'!
+
+fileOut:aClass on:outStreamArg 
+
+    self 
+        fileOut:aClass on:outStreamArg 
+        withTimeStamp:true withInitialize:true 
+        withDefinition:true 
+        methodFilter:nil encoder:nil
+
+    "Created: / 15-08-2009 / 13:11:31 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
 !AbstractSourceFileWriter methodsFor:'source writing'!
 
 fileOut: class on:stream withTimeStamp: stampIt withInitialize: initIt withDefinition: withDefinition methodFilter:methodFilter encoder:encoderOrNil
@@ -18,9 +31,68 @@
     "Modified: / 16-08-2009 / 09:59:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+!AbstractSourceFileWriter methodsFor:'source writing - comments'!
+
+fileOutComment: aStringOrStringCollection on: aStream
+
+    "
+        Writes a comment to a stream
+        using proper syntax
+    "
+    self fileOutCommentStartOn: aStream.
+    aStringOrStringCollection isStringCollection
+        ifTrue:
+            [aStringOrStringCollection 
+                do:[:line|self fileOutCommentLine: line on: aStream]
+                separatedBy: [aStream cr]]
+        ifFalse:
+            [(aStringOrStringCollection includes: Character cr)
+                ifTrue:"/hmm...multiline comment as string
+                    [aStringOrStringCollection asStringCollection
+                        do:[:line|self fileOutCommentLine: line on: aStream]
+                        separatedBy: [aStream cr]]
+                ifFalse:
+                    [self fileOutCommentLine: aStringOrStringCollection on: aStream]].
+    self fileOutCommentEndOn: aStream.
+
+    "Created: / 21-08-2009 / 09:36:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+fileOutCommentEndOn: aStream
+    "
+        Writes a comment end mark on aStream.
+    "
+
+    ^self subclassResponsibility
+
+    "Created: / 21-08-2009 / 09:40:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+fileOutCommentLine: aString on: aStream
+
+    "
+        Writes a single line of comment on a comment to a stream.
+        Should not put an cr to the stream!!
+    "
+
+    ^self subclassResponsibility
+
+    "Created: / 21-08-2009 / 09:42:23 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+fileOutCommentStartOn: aStream
+    "
+        Writes a comment start mark on aStream.
+    "
+
+    ^self subclassResponsibility
+
+    "Created: / 21-08-2009 / 09:40:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
 !AbstractSourceFileWriter class methodsFor:'documentation'!
 
 version
 
-    ^'$Id: AbstractSourceFileWriter.st 10465 2009-08-16 17:14:23Z vranyj1 $'
+    ^'$Id: AbstractSourceFileWriter.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
--- a/ClassBuilder.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/ClassBuilder.st	Sat Aug 22 09:34:50 2009 +0100
@@ -201,7 +201,7 @@
 
         mustInvalidate ifTrue:[
             "we have to parse it ..."
-            p := Parser parseMethod:source in:newClass.
+            p := newClass parserClass parseMethod:source in:newClass.
             (p isNil 
              or:[(p usedVars includesAny:setOfNames)
              or:[superBoolean and:[p usesSuper]]]) ifFalse:[
@@ -223,8 +223,9 @@
     ].
     newClass methodDictionary:newMethodDict.
 
-    "Modified: 7.6.1996 / 08:33:52 / stefan"
-    "Modified: 19.6.1997 / 18:27:09 / cg"
+    "Modified: / 07-06-1996 / 08:33:52 / stefan"
+    "Modified: / 19-06-1997 / 18:27:09 / cg"
+    "Modified: / 21-08-2009 / 10:14:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 copyMethodsFrom:oldClass for:newClass
@@ -2177,5 +2178,5 @@
 !ClassBuilder class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ClassBuilder.st 10467 2009-08-19 16:14:36Z vranyj1 $'
+    ^ '$Id: ClassBuilder.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
--- a/ClassDescription.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/ClassDescription.st	Sat Aug 22 09:34:50 2009 +0100
@@ -1690,38 +1690,38 @@
     |p|
 
     self selectorsAndMethodsDo:[:aSelector :aMethod |
-	|mustCompile lits source|
-
-	mustCompile := nil.
-
-	source := aMethod source.
-
-	"/ avoid parsing, if possible
-	superBoolean ifFalse:[
-	    setOfNames size == 1 ifTrue:[
-		(source findString:(setOfNames first)) == 0 ifTrue:[
-		    mustCompile := false.
-		]
-	    ]
-	].
-
-	mustCompile isNil ifTrue:[
-	    p := Parser parseMethod:source in:self.
-	    (p isNil
-	     or:[(p usedVars includesAny:setOfNames)
-	     or:[superBoolean and:[p usesSuper]]]) ifTrue:[
-		mustCompile := true
-	    ]
-	].
-
-	mustCompile == true ifTrue:[
-	    self recompile:aSelector
-	]
+        |mustCompile lits source|
+
+        mustCompile := nil.
+
+        source := aMethod source.
+
+        "/ avoid parsing, if possible
+        superBoolean ifFalse:[
+            setOfNames size == 1 ifTrue:[
+                (source findString:(setOfNames first)) == 0 ifTrue:[
+                    mustCompile := false.
+                ]
+            ]
+        ].
+
+        mustCompile isNil ifTrue:[
+            p := self parserClass parseMethod:source in:self.
+            (p isNil
+             or:[(p usedVars includesAny:setOfNames)
+             or:[superBoolean and:[p usesSuper]]]) ifTrue:[
+                mustCompile := true
+            ]
+        ].
+
+        mustCompile == true ifTrue:[
+            self recompile:aSelector
+        ]
     ]
 
-    "Modified: 12.6.1996 / 11:52:35 / stefan"
-    "Created: 1.4.1997 / 23:44:46 / stefan"
-    "Modified: 29.8.1997 / 07:58:32 / cg"
+    "Created: / 01-04-1997 / 23:44:46 / stefan"
+    "Modified: / 29-08-1997 / 07:58:32 / cg"
+    "Modified: / 21-08-2009 / 12:19:09 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 recompileMethodsAccessingAnyClassvarOrGlobal:aCollection
@@ -4054,7 +4054,7 @@
 !ClassDescription class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ClassDescription.st 10457 2009-06-19 15:51:39Z vranyj1 $'
+    ^ '$Id: ClassDescription.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
 
 ClassDescription initialize!
--- a/Make.proto	Wed Aug 19 17:14:36 2009 +0100
+++ b/Make.proto	Sat Aug 22 09:34:50 2009 +0100
@@ -63,14 +63,10 @@
 
 all:: preMake classLibRule postMake
 
-pre_objs::  update-svn-revision
+pre_objs::  
 
 
 
-update-svn-revision:
-	sed -i -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"'$(shell svnversion -n)'\"\$$\"/g" \
-		stx_libbasic.st
-.PHONY: update-svn-revision
 
 
 # add more install actions here
@@ -86,7 +82,7 @@
 postMake:: cleanjunk
 
 prereq: $(REQUIRED_SUPPORT_DIRS)
-	cd ../librun && $(MAKE)
+	cd ../librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
--- a/Make.spec	Wed Aug 19 17:14:36 2009 +0100
+++ b/Make.spec	Sat Aug 22 09:34:50 2009 +0100
@@ -49,6 +49,26 @@
 # STCWARNINGS=-warnEOLComments
 STCWARNINGS=-warnNonStandard
 
+WIN32_OBJS= \
+    $(OUTDIR)CharacterEncoderImplementations__MS_Baltic.$(O) \
+    $(OUTDIR)CharacterEncoderImplementations__MS_Cyrillic.$(O) \
+    $(OUTDIR)CharacterEncoderImplementations__MS_Greek.$(O) \
+    $(OUTDIR)PCFilename.$(O) \
+    $(OUTDIR)Win32FILEHandle.$(O) \
+    $(OUTDIR)Win32Handle.$(O) \
+    $(OUTDIR)Win32OperatingSystem.$(O) \
+
+
+MACOS_OBJS= \
+    $(OUTDIR)MacFilename.$(O) \
+
+
+VMS_OBJS= \
+    $(OUTDIR)OpenVMSFileHandle.$(O) \
+    $(OUTDIR)OpenVMSFilename.$(O) \
+    $(OUTDIR)OpenVMSOperatingSystem.$(O) \
+
+
 UNIX_OBJS= \
     $(OUTDIR)UnixFileDescriptorHandle.$(O) \
     $(OUTDIR)UnixFileHandle.$(O) \
--- a/Method.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/Method.st	Sat Aug 22 09:34:50 2009 +0100
@@ -452,9 +452,11 @@
     "Set overridden method to aMethod"
 
     Overrides ifNil:[Overrides := WeakIdentityDictionary new:10].
+    aMethod makeLocalStringSource.
     Overrides at: self put: aMethod
 
     "Created: / 17-06-2009 / 19:09:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 21-08-2009 / 23:42:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 package
@@ -2085,6 +2087,13 @@
     "Created: / 13-08-2009 / 22:55:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
+isVisualWorksTypedef
+    "Return true, if this is a type-returning method (a visualWorks typedef)"
+
+    ^ (self literals size > 0)
+    and:[ (self literalAt:1) isKindOf:CType ]
+!
+
 language
 
     ^SmalltalkLanguage instance
@@ -2093,13 +2102,6 @@
     "Modified: / 16-08-2009 / 10:37:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
-isVisualWorksTypedef
-    "Return true, if this is a type-returning method (a visualWorks typedef)"
-
-    ^ (self literals size > 0)
-    and:[ (self literalAt:1) isKindOf:CType ]
-!
-
 mclass
     "return the class in which the receiver was compiled.
      Same as #containingClass, for ST80 compatibility."
@@ -2951,7 +2953,7 @@
 !Method class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Method.st 10467 2009-08-19 16:14:36Z vranyj1 $'
+    ^ '$Id: Method.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
 
 Method initialize!
--- a/ProgrammingLanguage.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/ProgrammingLanguage.st	Sat Aug 22 09:34:50 2009 +0100
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:'LanguageQuerySignal'
 	poolDictionaries:''
-	category:'Kernel-ProgrammingLanguages'
+	category:'Kernel-Languages'
 !
 
 ProgrammingLanguage class instanceVariableNames:'Instance'
@@ -65,6 +65,14 @@
 
     "Created: / 15-08-2009 / 22:40:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 16-08-2009 / 10:58:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+named: aString ifNone: aBlock
+    ^ self 
+        instancesDetect:[:each | each name = aString ]
+        ifNone: aBlock
+
+    "Created: / 21-08-2009 / 13:07:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !ProgrammingLanguage class methodsFor:'Signal constants'!
@@ -135,6 +143,22 @@
     "Created: / 16-08-2009 / 10:57:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+!ProgrammingLanguage class methodsFor:'testing'!
+
+isAvailable: langName
+
+    self instancesDetect: [:lang|lang name = langName] ifNone: [^false].
+    ^true
+
+    "
+        ProgrammingLanguage isAvailable: 'Smalltalk' 
+        ProgrammingLanguage isAvailable: 'Ruby'  
+        ProgrammingLanguage isAvailable: 'Haskell'   
+    "
+
+    "Created: / 21-08-2009 / 12:56:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
 !ProgrammingLanguage methodsFor:'accessing'!
 
 name
@@ -164,6 +188,43 @@
 
 !ProgrammingLanguage methodsFor:'accessing - classes'!
 
+compilerClass
+    "
+        Answer a class suitable for compiling a source code
+        in 'my' language
+    "
+
+    ^self subclassResponsibility
+
+    "Created: / 21-08-2009 / 13:00:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+explainerClass
+
+    "
+        Answers a class used by browser and debugger to
+        show some hints about the code. It is OK to return
+        nil, which means that there is no explainer for given
+        language.
+    "
+
+    "return nil by default"
+    ^nil
+
+    "Created: / 21-08-2009 / 08:49:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+parserClass
+    "
+        Answer a class suitable for parsing a source code
+        in 'my' language
+    "
+
+    ^self subclassResponsibility
+
+    "Created: / 21-08-2009 / 13:00:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
 sourceFileReaderClass
 
     "
@@ -235,7 +296,7 @@
     "Created: / 16-08-2009 / 09:01:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
-!ProgrammingLanguage methodsFor:'utilities'!
+!ProgrammingLanguage methodsFor:'utilities - file in/file out'!
 
 fileIn: aFilename
 
@@ -251,10 +312,23 @@
     "Created: / 16-08-2009 / 11:05:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+!ProgrammingLanguage methodsFor:'utilities - source code'!
+
+writeComment: aStringOrStringCollection on: aStream 
+    "
+        Utility method - writes a comment to a stream
+        using proper syntax"
+    
+    ^ self sourceFileWriterClass new fileOutComment: aStringOrStringCollection
+        on: aStream
+
+    "Created: / 21-08-2009 / 09:35:07 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
 !ProgrammingLanguage class methodsFor:'documentation'!
 
 version
-    ^'$Id: ProgrammingLanguage.st 10467 2009-08-19 16:14:36Z vranyj1 $'
+    ^'$Id: ProgrammingLanguage.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
 
 ProgrammingLanguage initialize!
--- a/ProjectDefinition.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/ProjectDefinition.st	Sat Aug 22 09:34:50 2009 +0100
@@ -699,6 +699,7 @@
     "Created: / 14-09-2006 / 14:59:53 / cg"
 ! !
 
+
 !ProjectDefinition class methodsFor:'class initialization'!
 
 initialize
@@ -1424,12 +1425,16 @@
 
     ^ self 
         classNamesForWhich:[:nm :attr | 
-            (attr includes:#autoload) not and:[attr includes:platformName]
+            "/(attr includes:#autoload) not and:[attr includes:platformName]
+            "JV: I changed this, because all platform specific classes
+             should be present in class library - I thing"
+            attr includes:platformName
         ].
 
     "Created: / 07-08-2006 / 19:02:57 / fm"
     "Modified: / 07-08-2006 / 21:25:25 / fm"
     "Modified: / 09-10-2006 / 13:30:08 / cg"
+    "Modified: / 22-08-2009 / 10:09:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 compiled_classNames_common
@@ -4194,7 +4199,7 @@
 !ProjectDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProjectDefinition.st 10467 2009-08-19 16:14:36Z vranyj1 $'
+    ^ '$Id: ProjectDefinition.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
 
 ProjectDefinition initialize!
--- a/Smalltalk.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/Smalltalk.st	Sat Aug 22 09:34:50 2009 +0100
@@ -3673,18 +3673,6 @@
 
 !Smalltalk class methodsFor:'system environment'!
 
-language
-    "return the language setting"
-
-    ^ Language
-
-    "
-     Smalltalk language
-    "
-
-    "Modified: 26.4.1996 / 17:10:05 / cg"
-!
-
 language:aLanguageSymbol
     "set the language - send out change notifications"
 
@@ -7216,5 +7204,5 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Smalltalk.st 10467 2009-08-19 16:14:36Z vranyj1 $'
+    ^ '$Id: Smalltalk.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
--- a/SmalltalkChunkFileSourceWriter.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/SmalltalkChunkFileSourceWriter.st	Sat Aug 22 09:34:50 2009 +0100
@@ -292,26 +292,32 @@
 
     interestingMethods := OrderedCollection new.
     aClass methodsDo:[:aMethod |
-        |wanted|
-
-        (methodsAlreadySaved includes:aMethod) ifFalse:[
-            (aCategory = aMethod category) ifTrue:[
-                (methodFilter isNil or:[methodFilter value:aMethod]) ifTrue:[
+        |method wanted|
+        wanted := false.
+        method := aMethod.
+        "Check all overridden methods as well"
+        [ wanted not and:[method notNil]]
+            whileTrue:[
+        (methodsAlreadySaved includes:method) ifFalse:[
+            (aCategory = method category) ifTrue:[
+                (methodFilter isNil or:[methodFilter value:method]) ifTrue:[
                     skippedMethods notNil ifTrue:[
-                        wanted := (skippedMethods includesIdentical:aMethod) not
+                        wanted := (skippedMethods includesIdentical:method) not
                     ] ifFalse:[
-                        wanted := savedMethods isNil or:[ savedMethods includesIdentical:aMethod ].
+                        wanted := savedMethods isNil or:[ savedMethods includesIdentical:method ].
                     ].
                     wanted ifTrue:[
-                        aMethod selector isSymbol ifTrue:[
-                            interestingMethods add:aMethod
+                        method selector isSymbol ifTrue:[
+                            interestingMethods add:method
                         ] ifFalse:[
-                            Transcript showCR:'skipping non-symbol method ',aMethod selector.
+                            Transcript showCR:'skipping non-symbol method ',method selector.
                         ].
                     ].
                 ]
             ]
-        ]
+        ].
+        method := method overriddenMethod.
+        ].
     ].
     interestingMethods notEmpty ifTrue:[
         first := true.
@@ -359,10 +365,10 @@
         aStream cr
     ]
 
-    "Modified: 28.8.1995 / 14:30:41 / claus"
-    "Modified: 12.6.1996 / 11:37:33 / stefan"
-    "Modified: 15.11.1996 / 11:32:21 / cg"
-    "Created: 1.4.1997 / 16:04:33 / stefan"
+    "Modified: / 28-08-1995 / 14:30:41 / claus"
+    "Modified: / 15-11-1996 / 11:32:21 / cg"
+    "Created: / 01-04-1997 / 16:04:33 / stefan"
+    "Modified: / 21-08-2009 / 23:57:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 fileOutCategory:aCategory of:aClass methodFilter:methodFilter on:aStream
@@ -419,8 +425,41 @@
     ].
 ! !
 
+!SmalltalkChunkFileSourceWriter methodsFor:'source writing - comments'!
+
+fileOutCommentEndOn:aStream
+    "
+        Writes a comment end mark on aStream.
+    "
+
+    ^aStream nextPut:$"
+
+    "Modified: / 21-08-2009 / 09:50:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+fileOutCommentLine:aString on:aStream
+    "
+             Writes a single line of comment on a comment to a stream.
+             Should not put an cr to the stream!!
+         "
+
+    aStream nextPutAll: aString
+
+    "Modified: / 21-08-2009 / 09:51:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+fileOutCommentStartOn:aStream
+    "
+        Writes a comment end mark on aStream.
+    "
+
+    ^aStream nextPut:$"
+
+    "Modified: / 21-08-2009 / 09:50:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
 !SmalltalkChunkFileSourceWriter class methodsFor:'documentation'!
 
 version
-    ^ '$Id: SmalltalkChunkFileSourceWriter.st 10467 2009-08-19 16:14:36Z vranyj1 $'
+    ^ '$Id: SmalltalkChunkFileSourceWriter.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
--- a/SmalltalkLanguage.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/SmalltalkLanguage.st	Sat Aug 22 09:34:50 2009 +0100
@@ -35,6 +35,43 @@
 
 !SmalltalkLanguage methodsFor:'accessing - classes'!
 
+compilerClass
+    "
+        Answer a class suitable for compiling a source code
+        in 'my' language
+    "
+
+    ^Smalltalk::Compiler
+
+    "Modified: / 21-08-2009 / 13:02:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+explainerClass
+
+    "
+        Answers a class used by browser and debugger to
+        show some hints about the code. It is OK to return
+        nil, which means that there is no explainer for given
+        language.
+    "
+
+    "return nil by default"
+    ^Explainer
+
+    "Created: / 21-08-2009 / 08:49:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+parserClass
+    "
+        Answer a class suitable for parsing a source code
+        in 'my' language
+    "
+
+    ^Smalltalk::Parser
+
+    "Modified: / 21-08-2009 / 13:02:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
 sourceFileReaderClass
         "
          Answers a class that can be used for
@@ -57,6 +94,34 @@
     "Modified: / 16-08-2009 / 09:51:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+!SmalltalkLanguage methodsFor:'mimicry'!
+
+, anObject
+    "
+        Emulates symbol behavior. This is sometimes required
+        as Smalltalk language is used by legacy code to access
+        current language. Future versions should contain class
+        Locale.
+    "
+
+    ^Language , anObject
+
+    "Created: / 22-08-2009 / 09:33:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+asSymbol
+    "
+        Returns a language symbol. This is sometimes required
+        as Smalltalk language is used by legacy code to access
+        current language. Future versions should contain class
+        Locale.
+    "
+
+    ^Language
+
+    "Created: / 22-08-2009 / 09:33:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
 !SmalltalkLanguage methodsFor:'testing'!
 
 isSmalltalk
@@ -69,5 +134,5 @@
 !SmalltalkLanguage class methodsFor:'documentation'!
 
 version
-    ^'$Id: SmalltalkLanguage.st 10465 2009-08-16 17:14:23Z vranyj1 $'
+    ^'$Id: SmalltalkLanguage.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
--- a/UserPreferences.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/UserPreferences.st	Sat Aug 22 09:34:50 2009 +0100
@@ -273,273 +273,6 @@
     "
 ! !
 
-!UserPreferences class methodsFor:'saving'!
-
-saveSettings:userPrefs in:fileName
-    "save settings to a settings-file."
-
-    "a temporary kludge for old classVariable-based settings
-     - all of those MUST go into the user-preferences dictionary eventually"
-
-    |s screen|
-
-    s := fileName asFilename writeStream.
-
-    screen := Screen current.
-
-    s nextPutLine:'"/ ST/X saved settings';
-      nextPutLine:'"/ DO NOT MODIFY MANUALLY';
-      nextPutLine:'"/ (modifications would be lost with next save-settings)';
-      nextPutLine:'"/';
-      nextPutLine:'"/ this file was automatically generated by the';
-      nextPutLine:'"/ ''save settings'' function of the SettingsDialog';
-      nextPutLine:'"/'.
-    s cr.
-
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ saved by ' , OperatingSystem getLoginName , '@' , OperatingSystem getHostName , ' at ' , Timestamp now printString.
-    s nextPutLine:'"/'.
-    s cr.
-
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Display settings:'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ only restore the display settings, if on the same Display ...'.
-    s nextPutLine:'Display notNil ifTrue:['.
-    s nextPutLine:' Display displayName = ' , (screen displayName storeString) , ' ifTrue:['.
-      screen fixColors notNil ifTrue:[
-	s nextPutLine:'  Image flushDeviceImages.'.
-	s nextPutLine:'  Color colorAllocationFailSignal catch:['.
-	s nextPutLine:'    Color getColorsRed:6 green:6 blue:4 on:Display'.
-	s nextPutLine:'  ].'.
-      ] ifFalse:[
-	s nextPutLine:'  Display releaseFixColors.'.
-      ].
-      s nextPutLine:'  Display hasColors: ' , (screen hasColors storeString) , '.'.
-      s nextPutLine:'  Display widthInMillimeter: ' , (screen widthInMillimeter storeString) , '.'.
-      s nextPutLine:'  Display heightInMillimeter: ' , (screen heightInMillimeter storeString) , '.'.
-      s nextPutLine:'  Display supportsDeepIcons: ' , (screen supportsDeepIcons storeString) , '.'.
-      s nextPutLine:'  Image ditherAlgorithm: ' , (Image ditherAlgorithm storeString) , '.'.
-      s nextPutLine:'  View defaultStyle:' , View defaultStyle storeString , '.'.
-    s nextPutLine:' ].'.
-    s nextPutLine:'].'.
-    s cr.
-
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Parser/Compiler settings:'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'ParserFlags warnSTXSpecials: ' , (ParserFlags warnSTXSpecials storeString) , '.';
-      nextPutLine:'ParserFlags warnings: ' , (ParserFlags warnings storeString) , '.';
-      nextPutLine:'ParserFlags warnUnderscoreInIdentifier: ' , (ParserFlags warnUnderscoreInIdentifier storeString) , '.';
-      nextPutLine:'ParserFlags warnOldStyleAssignment: ' , (ParserFlags warnOldStyleAssignment storeString) , '.';
-      nextPutLine:'ParserFlags warnCommonMistakes: ' , (ParserFlags warnCommonMistakes storeString) , '.';
-      nextPutLine:'ParserFlags warnPossibleIncompatibilities: ' , (ParserFlags warnPossibleIncompatibilities storeString) , '.';
-      nextPutLine:'ParserFlags allowUnderscoreInIdentifier: ' , (ParserFlags allowUnderscoreInIdentifier storeString) , '.';
-      nextPutLine:'ParserFlags allowSqueakExtensions: ' , (ParserFlags allowSqueakExtensions storeString) , '.';
-      nextPutLine:'ParserFlags allowDolphinExtensions: ' , (ParserFlags allowDolphinExtensions storeString) , '.';
-      nextPutLine:'ParserFlags allowQualifiedNames: ' , (ParserFlags allowQualifiedNames storeString) , '.';
-      nextPutLine:'ParserFlags arraysAreImmutable: ' , (ParserFlags arraysAreImmutable storeString) , '.';
-      nextPutLine:'Compiler lineNumberInfo: ' , (Compiler lineNumberInfo storeString) , '.';
-
-      nextPutLine:'Compiler foldConstants: ' , (Compiler foldConstants storeString) , '.';
-      nextPutLine:'ParserFlags stcCompilation: ' , (ParserFlags stcCompilation storeString) , '.';
-      nextPutLine:'OperatingSystem getOSType = ' , (OperatingSystem getOSType storeString) , ' ifTrue:[';
-      nextPutLine:'  ParserFlags stcCompilationIncludes: ' , (ParserFlags stcCompilationIncludes storeString) , '.';
-      nextPutLine:'  ParserFlags stcCompilationDefines: ' , (ParserFlags stcCompilationDefines storeString) , '.';
-      nextPutLine:'  ParserFlags stcCompilationOptions: ' , (ParserFlags stcCompilationOptions storeString) , '.';
-      nextPutLine:'  ' , (ParserFlags stcModulePath storeString) , ' asFilename exists ifTrue:[';
-      nextPutLine:'    ParserFlags stcModulePath: ' , (ParserFlags stcModulePath storeString) , '.';
-      nextPutLine:'  ].';
-      nextPutLine:'  ParserFlags stcPath: ' , (ParserFlags stcPath storeString) , '.';
-      nextPutLine:'  ParserFlags ccCompilationOptions: ' , (ParserFlags ccCompilationOptions storeString) , '.';
-      nextPutLine:'  ParserFlags ccPath: ' , (ParserFlags ccPath storeString) , '.';
-      nextPutLine:'  ParserFlags linkArgs: ' , (ParserFlags linkArgs storeString) , '.';
-      nextPutLine:'  ParserFlags linkSharedArgs: ' , (ParserFlags linkSharedArgs storeString) , '.';
-      nextPutLine:'  ParserFlags linkCommand: ' , (ParserFlags linkCommand storeString) , '.';
-      nextPutLine:'  ParserFlags makeCommand: ' , (ParserFlags makeCommand storeString) , '.';
-      nextPutLine:'  ParserFlags libPath: ' , (ParserFlags libPath storeString) , '.';
-      nextPutLine:'  ParserFlags searchedLibraries: ' , (ParserFlags searchedLibraries storeString) , '.';
-      nextPutLine:'].';
-
-      nextPutLine:'ObjectMemory justInTimeCompilation: ' , (ObjectMemory justInTimeCompilation storeString) , '.';
-      nextPutLine:'ObjectMemory fullSingleStepSupport: ' , (ObjectMemory fullSingleStepSupport storeString) , '.'.
-
-    HistoryManager notNil ifTrue:[
-	HistoryManager isActive ifTrue:[
-	    s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager activate].'.
-	    s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager fullHistoryUpdate:' , HistoryManager fullHistoryUpdate storeString , '].'.
-	] ifFalse:[
-	    s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager deactivate].'.
-	].
-    ].
-
-    s nextPutLine:'Class catchMethodRedefinitions: ' , (Class catchMethodRedefinitions storeString) , '.'.
-    s nextPutLine:'ClassCategoryReader sourceMode: ' , (ClassCategoryReader sourceMode storeString) , '.'.
-
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Info & Debug Messages:'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'Smalltalk hasNoConsole ifFalse:[ ObjectMemory infoPrinting: ' , (ObjectMemory infoPrinting storeString) , '].';
-      nextPutLine:'ObjectMemory debugPrinting: ' , (ObjectMemory debugPrinting storeString) , '.';
-      nextPutLine:'Smalltalk hasNoConsole ifFalse:[ Object infoPrinting: ' , (Object infoPrinting storeString) , '].';
-      nextPutLine:'DeviceWorkstation errorPrinting: ' , (DeviceWorkstation errorPrinting storeString) , '.'.
-
-"/    FlyByHelp isActive ifTrue:[
-"/        s nextPutLine:'FlyByHelp start.'
-"/    ].
-
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Edit settings:'.
-    s nextPutLine:'"/'.
-    "/ s nextPutLine:'EditTextView st80Mode: ' , (EditTextView st80Mode storeString) , '.'.
-    s nextPutLine:'TextView st80SelectMode: ' , (TextView st80SelectMode storeString) , '.'.
-    s nextPutLine:'UserPreferences current syntaxColoring: ' , (userPrefs syntaxColoring storeString) , '.'.
-    (ListView userDefaultTabPositions = ListView tab4Positions) ifTrue:[
-	s nextPutLine:'ListView userDefaultTabPositions:(ListView tab4Positions).'.
-    ] ifFalse:[
-	s nextPutLine:'ListView userDefaultTabPositions:(ListView tab8Positions).'.
-    ].
-
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ User preference values:'.
-    s nextPutLine:'"/'.
-    userPrefs keysAndValuesDo:[:k :v |
-	(UserPreferences includesSelector:(k , ':') asSymbol) ifTrue:[
-	    s nextPutLine:'UserPreferences current ' , k , ':' , v storeString , '.'.
-	] ifFalse:[
-	    s nextPutLine:'UserPreferences current at:' , k storeString , ' put:' , v storeString , '.'.
-	]
-    ].
-
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ GC settings:'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'ObjectMemory newSpaceSize: ' , (ObjectMemory newSpaceSize storeString) , '.';
-      nextPutLine:'ObjectMemory dynamicCodeGCTrigger: ' , (ObjectMemory dynamicCodeGCTrigger storeString) , '.';
-      nextPutLine:'ObjectMemory freeSpaceGCAmount: ' , (ObjectMemory freeSpaceGCAmount storeString) , '.';
-      nextPutLine:'ObjectMemory freeSpaceGCLimit: ' , (ObjectMemory freeSpaceGCLimit storeString) , '.';
-      nextPutLine:'ObjectMemory incrementalGCLimit: ' , (ObjectMemory incrementalGCLimit storeString) , '.';
-      nextPutLine:'ObjectMemory oldSpaceCompressLimit: ' , (ObjectMemory oldSpaceCompressLimit storeString) , '.';
-      nextPutLine:'ObjectMemory oldSpaceIncrement: ' , (ObjectMemory oldSpaceIncrement storeString) , '.'.
-
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Misc settings:'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'Class keepMethodHistory: ' , (Class methodHistory notNil storeString) , '.';
-      nextPutLine:'Smalltalk logDoits: ' , (Smalltalk logDoits storeString) , '.';
-      nextPutLine:'Autoload compileLazy: ' , (Autoload compileLazy storeString) , '.';
-      nextPutLine:'Smalltalk loadBinaries: ' , (Smalltalk loadBinaries storeString) , '.';
-      nextPutLine:'StandardSystemView includeHostNameInLabel: ' , (StandardSystemView includeHostNameInLabel storeString) , '.';
-
-      "/ claus - I dont think its a good idea to save those ...
-      nextPutLine:'"/ Class updateChanges: ' , (Class updatingChanges storeString) , '.';
-
-      nextPutLine:'ObjectMemory nameForChanges: ' , (ObjectMemory nameForChanges storeString) , '.';
-
-      nextPutLine:'StandardSystemView returnFocusWhenClosingModalBoxes: ' , (StandardSystemView returnFocusWhenClosingModalBoxes storeString) , '.';
-      nextPutLine:'StandardSystemView takeFocusWhenMapped: ' , (StandardSystemView takeFocusWhenMapped storeString) , '.';
-      nextPutLine:'Display notNil ifTrue:[';
-      nextPutLine:' Display activateOnClick: ' , ((screen activateOnClick:nil) storeString) , '.';
-      nextPutLine:'].';
-      nextPutLine:'MenuView showAcceleratorKeys: ' , (MenuView showAcceleratorKeys storeString) , '.';
-      nextPutLine:'Class tryLocalSourceFirst: ' , (Class tryLocalSourceFirst storeString) , '.'.
-    (NoHandlerError emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler) ifTrue:[
-	s nextPutLine:'NoHandlerError emergencyHandler:(AbstractLauncherApplication notifyingEmergencyHandler).'.
-    ].
-    Processor isTimeSlicing ifTrue:[
-	s nextPutLine:'Processor startTimeSlicing.'.
-	s nextPutLine:('Processor supportDynamicPriorities:' , (Processor supportDynamicPriorities ? false) storeString , '.').
-    ] ifFalse:[
-	s nextPutLine:'Processor stopTimeSlicing.'.
-    ].
-
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Printer settings:'.
-    s nextPutLine:'"/'.
-    Printer notNil ifTrue:[
-	s nextPutLine:'Printer := ' , (Printer name) , '.'.
-	Printer supportsPrintingToCommand ifTrue:[
-	    s nextPutLine:'Printer printCommand: ' , (Printer printCommand storeString) , '.'.
-	].
-	Printer supportsPageSizes ifTrue:[
-	    s nextPutLine:'Printer pageFormat: ' , (Printer pageFormat storeString) , '.'.
-	    s nextPutLine:'Printer landscape: ' , (Printer landscape storeString) , '.'.
-	].
-	Printer supportsMargins ifTrue:[
-	    s nextPutLine:'Printer topMargin: ' , (Printer topMargin storeString) , '.'.
-	    s nextPutLine:'Printer leftMargin: ' , (Printer leftMargin storeString) , '.'.
-	    s nextPutLine:'Printer rightMargin: ' , (Printer rightMargin storeString) , '.'.
-	    s nextPutLine:'Printer bottomMargin: ' , (Printer bottomMargin storeString) , '.'.
-	].
-	Printer supportsPostscript ifTrue:[
-	    s nextPutLine:'Printer supportsColor: ' , (Printer supportsColor storeString) , '.'.
-	].
-    ].
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Font settings:'.
-    s nextPutLine:'"/ (only restored, if image is restarted on the same display)'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'Display notNil ifTrue:['.
-    s nextPutLine:' Display displayName = ' , (screen displayName storeString) , ' ifTrue:['.
-    s nextPutLine:'  View defaultFont: ' , (View defaultFont storeString) , '.'.
-    s nextPutLine:'  Label defaultFont: ' , (Label defaultFont storeString) , '.'.
-    s nextPutLine:'  Button defaultFont: ' , (Button defaultFont storeString) , '.'.
-    s nextPutLine:'  Toggle defaultFont: ' , (Toggle defaultFont storeString) , '.'.
-    s nextPutLine:'  SelectionInListView defaultFont: ' , (SelectionInListView defaultFont storeString) , '.'.
-    s nextPutLine:'  MenuView defaultFont: ' , (MenuView defaultFont storeString) , '.'.
-    s nextPutLine:'  MenuPanel defaultFont: ' , (MenuPanel defaultFont storeString) , '.'.
-    s nextPutLine:'  NoteBookView defaultFont: ' , (NoteBookView defaultFont storeString) , '.'.
-    s nextPutLine:'  PullDownMenu defaultFont: ' , (PullDownMenu defaultFont storeString) , '.'.
-    s nextPutLine:'  TextView defaultFont: ' , (TextView defaultFont storeString) , '.'.
-    s nextPutLine:'  EditTextView defaultFont: ' , (EditTextView defaultFont storeString) , '.'.
-    s nextPutLine:'  CodeView defaultFont: ' , (CodeView defaultFont storeString) , '.'.
-    s nextPutLine:' ].'.
-    s nextPutLine:'].'.
-
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Language setting:'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ Notice:'.
-    s nextPutLine:'"/   Language should be taken from the Environment Variable LANG'.
-    s nextPutLine:'"/   To use the previous seting, uncomment the following:'.
-    s nextPutLine:'"/ Smalltalk language: ' , (Smalltalk language storeString) , '.'.
-    s nextPutLine:'"/ Smalltalk languageTerritory: ' , (Smalltalk languageTerritory storeString) , '.'.
-
-    s cr.
-    s nextPutLine:'"/'.
-    s nextPutLine:'"/ SourceCodeManager settings:'.
-    s nextPutLine:'"/ (only restored, if image is restarted on the same host)'.
-    s nextPutLine:'"/'.
-    s nextPutLine:'OperatingSystem getHostName = ' , (OperatingSystem getHostName storeString) , ' ifTrue:['.
-    s nextPutLine:'  Class tryLocalSourceFirst:' , Class tryLocalSourceFirst storeString , '.'.
-    s nextPutLine:'  AbstractSourceCodeManager cacheDirectoryName:' , AbstractSourceCodeManager cacheDirectoryName storeString , '.'.
-    CVSSourceCodeManager notNil ifTrue:[
-	CVSSourceCodeManager savePreferencesOn:s
-    ].
-    (StoreSourceCodeManager notNil and:[StoreSourceCodeManager isExperimental not]) ifTrue:[
-	StoreSourceCodeManager savePreferencesOn:s
-    ].
-    (SmallTeamSourceCodeManager notNil and:[SmallTeamSourceCodeManager isExperimental not]) ifTrue:[
-	SmallTeamSourceCodeManager savePreferencesOn:s
-    ].
-    s nextPutLine:'].'.
-
-    s close.
-
-    "
-     Transcript topView application saveSettings
-    "
-
-    "Modified: / 09-08-2006 / 18:52:14 / fm"
-    "Modified: / 09-11-2006 / 15:12:07 / cg"
-! !
 
 !UserPreferences methodsFor:'acccesing-locale'!
 
@@ -616,7 +349,6 @@
 
 
 
-
 !UserPreferences methodsFor:'accessing-misc-communication'!
 
 dotNetBridgeRunsInIDE
@@ -2441,13 +2173,14 @@
     "/ for now, forward to smalltalk, while all references to "Smalltalk-language"
     "/ are replaced with "UserPreferences current language"
 
-    ^ Smalltalk language
+    ^ Language
 
     "
      UserPreferences current language
     "
 
     "Created: / 20-09-2006 / 23:55:01 / cg"
+    "Modified: / 21-08-2009 / 15:36:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 languageTerritory
@@ -2761,5 +2494,5 @@
 !UserPreferences class methodsFor:'documentation'!
 
 version
-    ^ '$Id: UserPreferences.st 10461 2009-08-12 13:49:00Z vranyj1 $'
+    ^ '$Id: UserPreferences.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !
--- a/abbrev.stc	Wed Aug 19 17:14:36 2009 +0100
+++ b/abbrev.stc	Sat Aug 22 09:34:50 2009 +0100
@@ -100,7 +100,7 @@
 PackageId PackageId stx:libbasic 'System-Support-Projects' 0
 PluginSupport PluginSupport stx:libbasic 'System-Support' 0
 ProcessorScheduler ProcessorScheduler stx:libbasic 'Kernel-Processes' 0
-ProgrammingLanguage ProgrammingLanguage stx:libbasic 'Kernel-ProgrammingLanguages' 1
+ProgrammingLanguage ProgrammingLanguage stx:libbasic 'Kernel-Languages' 1
 Project Project stx:libbasic 'System-Support' 0
 ProjectDefinition ProjectDefinition stx:libbasic 'System-Support-Projects' 2
 QualifiedName QualifiedName stx:libbasic 'Kernel-Support' 0
@@ -114,7 +114,7 @@
 SomeNumber SomeNumber stx:libbasic 'Magnitude-Numbers' 0
 StandaloneStartup StandaloneStartup stx:libbasic 'System-Support' 1
 Stream Stream stx:libbasic 'Streams' 0
-SystemNotification SystemNotification stx:libbasic 'Kernel-Exceptions-Notifications' 1
+SystemNotification SystemNotification stx:libbasic 'Kernel-Exceptions-Notifications' 0
 TextCollectorStream TextCollectorStream stx:libbasic 'Streams-Misc' 0
 UnboundedExternalStream UnboundedExternalStream stx:libbasic 'Streams-External' 0
 UndefinedObject UndefinedObject stx:libbasic 'Kernel-Objects' 0
@@ -123,8 +123,6 @@
 Visitor Visitor stx:libbasic 'System-Visiting' 0
 WeakValueIdentityDictionary WeakValueIdentityDictionary stx:libbasic 'Collections-Weak' 0
 Win32FILEHandle Win32FILEHandle stx:libbasic 'OS-Windows' 0
-Win32Handle Win32Handle stx:libbasic 'OS-Windows' 0
-Win32OperatingSystem Win32OperatingSystem stx:libbasic 'OS-Windows' 0
 Win32Process Win32Process stx:libbasic 'OS-Windows' 0
 AbstractTime AbstractTime stx:libbasic 'Magnitude-Time' 0
 ApplicationDefinition ApplicationDefinition stx:libbasic 'System-Support-Projects' 2
@@ -215,6 +213,7 @@
 UserInformation UserInformation stx:libbasic 'Kernel-Exceptions-Notifications' 1
 UserInterrupt UserInterrupt stx:libbasic 'Kernel-Exceptions-Control' 1
 Warning Warning stx:libbasic 'Kernel-Exceptions' 1
+Win32Handle Win32Handle stx:libbasic 'OS-Windows' 0
 XDGDesktop XDGDesktop stx:libbasic 'System-Desktop' 0
 YesToAllConfirmation YesToAllConfirmation stx:libbasic 'Kernel-Exceptions-Notifications' 1
 stx_libbasic stx_libbasic stx:libbasic '* Projects & Packages *' 2
@@ -331,6 +330,7 @@
 TimeConversionError TimeConversionError stx:libbasic 'Magnitude-Time' 1
 UnorderedNumbersError UnorderedNumbersError stx:libbasic 'Kernel-Exceptions-Errors' 1
 WeakDependencyDictionary WeakDependencyDictionary stx:libbasic 'Collections-Weak' 0
+Win32OperatingSystem Win32OperatingSystem stx:libbasic 'OS-Windows' 0
 WriteError WriteError stx:libbasic 'Kernel-Exceptions-Errors' 1
 WrongProceedabilityError WrongProceedabilityError stx:libbasic 'Kernel-Exceptions-Errors' 1
 BadLiteralsError BadLiteralsError stx:libbasic 'Kernel-Exceptions-ExecutionErrors' 1
--- a/libInit.cc	Wed Aug 19 17:14:36 2009 +0100
+++ b/libInit.cc	Sat Aug 22 09:34:50 2009 +0100
@@ -303,6 +303,20 @@
 _UnixFileHandle_Init(pass,__pRT__,snd);
 _UnixOperatingSystem_Init(pass,__pRT__,snd);
 #endif /* UNIX */
+#ifdef WIN32
+_CharacterEncoderImplementations__MS_137Baltic_Init(pass,__pRT__,snd);
+_CharacterEncoderImplementations__MS_137Cyrillic_Init(pass,__pRT__,snd);
+_CharacterEncoderImplementations__MS_137Greek_Init(pass,__pRT__,snd);
+_PCFilename_Init(pass,__pRT__,snd);
+_Win32FILEHandle_Init(pass,__pRT__,snd);
+_Win32Handle_Init(pass,__pRT__,snd);
+_Win32OperatingSystem_Init(pass,__pRT__,snd);
+#endif /* WIN32 */
+#ifdef VMS
+_OpenVMSFileHandle_Init(pass,__pRT__,snd);
+_OpenVMSFilename_Init(pass,__pRT__,snd);
+_OpenVMSOperatingSystem_Init(pass,__pRT__,snd);
+#endif /* VMS */
 
 
 __END_PACKAGE__();
--- a/stx_libbasic.st	Wed Aug 19 17:14:36 2009 +0100
+++ b/stx_libbasic.st	Sat Aug 22 09:34:50 2009 +0100
@@ -64,9 +64,12 @@
         #'stx:libcompat'    "StringCollationPolicy - referenced by SequenceableCollection>>quickSort: "
         #'stx:goodies/sunit'    "TestCase - superclass of CmdLineParserTest "
         #'stx:goodies/xml/stx'    "XMLCoder - referenced by ClassDescription>>fileOutXMLString:on: "
+
+        #'stx:goodies/libsvn'
+        #'stx:libsvn' "maybe sometimes in a future, libsvn will become natural part of St/X :-)"
     )
 
-    "Modified: / 24-06-2009 / 21:42:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 22-08-2009 / 09:35:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 preRequisites
@@ -225,8 +228,6 @@
         Visitor
         (WeakValueIdentityDictionary autoload)
         (Win32FILEHandle win32 autoload)
-        (Win32Handle win32 autoload)
-        (Win32OperatingSystem win32 autoload)
         (Win32Process autoload)
         AbstractTime
         ApplicationDefinition
@@ -317,6 +318,7 @@
         UserInformation
         UserInterrupt
         Warning
+        (Win32Handle win32)
         XDGDesktop
         YesToAllConfirmation
         #'stx_libbasic'
@@ -433,6 +435,7 @@
         TimeConversionError
         UnorderedNumbersError
         WeakDependencyDictionary
+        (Win32OperatingSystem win32)
         WriteError
         WrongProceedabilityError
         BadLiteralsError
@@ -497,11 +500,11 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"'10466M'"$"
+    ^ "$SVN-Revision:"'10467M'"$"
 ! !
 
 !stx_libbasic class methodsFor:'documentation'!
 
 version
-    ^ '$Id: stx_libbasic.st 10467 2009-08-19 16:14:36Z vranyj1 $'
+    ^ '$Id: stx_libbasic.st 10468 2009-08-22 08:34:50Z vranyj1 $'
 ! !