Merge jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 10 Mar 2016 08:13:13 +0000
branchjv
changeset 19331 59f77658de07
parent 19304 f6490a32d738 (current diff)
parent 19312 22491f76a317 (diff)
child 19332 9686fae7951b
Merge
Collection.st
ExternalLibraryFunction.st
LibraryDefinition.st
ProjectDefinition.st
String.st
UserPreferences.st
bc.mak
stx_libbasic.st
--- a/Collection.st	Tue Mar 08 07:53:52 2016 +0000
+++ b/Collection.st	Thu Mar 10 08:13:13 2016 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1989 by Claus Gittinger
               All Rights Reserved
@@ -65,7 +67,7 @@
     However, for performance reasons, many of them are also redefined in
     concrete subclasses, as some can be implemented much faster if implementation
     details are known (for example, searching can be done faster if it is known that
-    elements are sorted or accessable by a key).
+    elements are sorted or accessible by a key).
 
     [author:]
         Claus Gittinger
@@ -4197,7 +4199,7 @@
     aStream nextPut:$)
 
     "
-     #(1 2 3 'hello' $a $ü) printOn:Transcript
+     #(1 2 3 'hello' $a $ü) printOn:Transcript
      (Array new:100000) printOn:Transcript
      (Array new:100000) printOn:Stdout          
      (Array new:100000) printString size 
--- a/ExternalLibraryFunction.st	Tue Mar 08 07:53:52 2016 +0000
+++ b/ExternalLibraryFunction.st	Thu Mar 10 08:13:13 2016 +0000
@@ -136,7 +136,7 @@
   Synchronous vs. Asynchronous calls:
 
     by default, foreign function calls are synchronous, effectively blocking the whole ST/X system
-    (that is by purpose,´because most C-code is not prepared for being interrupted, and also, normal
+    (that is by purpose,because most C-code is not prepared for being interrupted, and also, normal
      code is not prepared for a garbage collector to move objects around, while another C thread might
      access the data...).
     Therefore, the following will block all ST/X activity for 10 seconds
@@ -1747,7 +1747,7 @@
 !
 
 version_SVN
-    ^ '§ Id: ExternalLibraryFunction.st 10643 2011-06-08 21:53:07Z vranyj1  §'
+    ^ ' Id: ExternalLibraryFunction.st 10643 2011-06-08 21:53:07Z vranyj1  '
 ! !
 
 
--- a/LibraryDefinition.st	Tue Mar 08 07:53:52 2016 +0000
+++ b/LibraryDefinition.st	Thu Mar 10 08:13:13 2016 +0000
@@ -103,9 +103,10 @@
 
 generate_libInit_dot_cc
     ^ self replaceMappings: self libInit_dot_cc_mappings
-	    in: self libInit_dot_cc
+            in: self libInit_dot_cc
 
     "
+     stx_libbasic2 generate_libInit_dot_cc
      bosch_dapasx_datenbasis generate_libInit_dot_cc
      bosch_dapasx_application generate_libInit_dot_cc
     "
@@ -152,11 +153,16 @@
     ^ Dictionary new
         at: 'LIBRARY_NAME' put: (self libraryName);
         at: 'PACKAGE' put: (self package);
-        at: 'DEFINITION_CLASSES' put: (self generate_definitionClassLine_libInit_dot_cc);
+        at: 'EXTERN_DECLARATIONS' put: (self generateExternalDeclarationLines_libInit_dot_cc);
+        at: 'DEFINITION_CLASSES' put: (self generateDefinitionClassLine_libInit_dot_cc);
         at: 'CLASSES' put: (self generateClassLines_libInit_dot_cc);
         at: 'EXTENSION' put: (self generateExtensionLine_libInit_dot_cc);
         yourself
 
+    "
+     stx_libbasic libInit_dot_cc_mappings
+    "
+    
     "Created: / 09-08-2006 / 11:20:24 / fm"
     "Modified: / 16-08-2006 / 18:19:03 / User"
     "Modified: / 14-09-2006 / 18:56:42 / cg"
@@ -346,7 +352,7 @@
 
 extensionLine_libInit_dot_cc
 
-    ^ '_%(LIBRARY_NAME)_extensions_Init(pass,__pRT__,snd);'
+    ^ '    _%(LIBRARY_NAME)_extensions_Init(pass,__pRT__,snd);'
 
     "Created: / 08-08-2006 / 15:48:56 / fm"
     "Modified: / 08-08-2006 / 19:32:33 / fm"
@@ -374,19 +380,21 @@
 DLL_EXPORT void _%(LIBRARY_NAME)_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-void _%(LIBRARY_NAME)_InitDefinition(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("%(LIBRARY_NAME)__DFN", _%(LIBRARY_NAME)_InitDefinition, "%(PACKAGE)");
+%(EXTERN_DECLARATIONS)
+
+void _%(LIBRARY_NAME)_InitDefinition(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("%(LIBRARY_NAME)__DFN", _%(LIBRARY_NAME)_InitDefinition, "%(PACKAGE)");
 %(DEFINITION_CLASSES)
-__END_PACKAGE__();
+  __END_PACKAGE__();
 }
 
-void _%(LIBRARY_NAME)_Init(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("%(LIBRARY_NAME)", _%(LIBRARY_NAME)_Init, "%(PACKAGE)");
+void _%(LIBRARY_NAME)_Init(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("%(LIBRARY_NAME)", _%(LIBRARY_NAME)_Init, "%(PACKAGE)");
 %(CLASSES)
 %(EXTENSION)
-__END_PACKAGE__();
+  __END_PACKAGE__();
 }
 '
 
--- a/ProjectDefinition.st	Tue Mar 08 07:53:52 2016 +0000
+++ b/ProjectDefinition.st	Thu Mar 10 08:13:13 2016 +0000
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 2006 by eXept Software AG
               All Rights Reserved
@@ -4161,7 +4159,8 @@
         streamContents:[:s |
             |classesLoaded classNamesUnloaded classNamesSorted putLineForClassName|
 
-            putLineForClassName := [:className |
+            putLineForClassName := 
+                [:className |
                     |newClassLine mappings|
 
                     mappings := self classLine_mappings:className.
@@ -4260,6 +4259,19 @@
     "Modified: / 20-10-2006 / 16:18:54 / cg"
 !
 
+generateDefinitionClassLine_libInit_dot_cc
+    "for the init-file: generate a single class-init-line for the definition class itself"
+
+    ^ self
+        generateClassLines:(self classLine_libInit_dot_cc)
+        forClasses:(Array with:self name)
+        includeAdditionalClasses:false
+
+    "
+     stx_libbasic generateDefinitionClassLine_libInit_dot_cc
+    "
+!
+
 generateDependencies:whichArchitecture
     ^ String
         streamContents:[:s |
@@ -4446,6 +4458,17 @@
     "Created: / 14-09-2006 / 12:39:18 / cg"
 !
 
+generateExternalDeclarationLines_libInit_dot_cc
+    "for the init-file: generate a single external definition for a single class for the definition class itself"
+
+    ^ self
+        generateClassLines:(self classExternalDeclarationLine_libInit_dot_cc)
+
+    "
+     stx_libbasic generateExternalDeclarationLines_libInit_dot_cc
+    "
+!
+
 generateLocalIncludes_unix
     ^ String streamContents:[:s |
         s nextPutAll:(self localIncludes_unix).
@@ -4930,9 +4953,14 @@
     "Created: / 24-02-2011 / 11:58:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+classExternalDeclarationLine_libInit_dot_cc
+
+^'extern void _%(CLASS)_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);'
+!
+
 classLine_libInit_dot_cc
 
-^'_%(CLASS)_Init(pass,__pRT__,snd);'
+^'    _%(CLASS)_Init(pass,__pRT__,snd);'
 
     "Created: / 08-08-2006 / 12:51:44 / fm"
     "Modified: / 08-08-2006 / 15:46:05 / fm"
--- a/String.st	Tue Mar 08 07:53:52 2016 +0000
+++ b/String.st	Thu Mar 10 08:13:13 2016 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
 	      All Rights Reserved
@@ -120,12 +122,12 @@
 
     Strings are kind of kludgy: to allow for easy handling by c-functions,
     there is always one 0-byte added at the end, which is not counted
-    in the strings size, and is not accessable from the smalltalk level.
+    in the strings size, and is not accessible from the smalltalk level.
     This guarantees, that a smalltalk string can always be passed to a
     C- or a system api function without danger (of course, this does not
     prevent a nonsense contents ...)
 
-    You cannot add any instvars to String, since the the run time system & compiler
+    You cannot add any instvars to String, since the run time system & compiler
     creates literal strings and knows that strings have no named instvars.
     If you really need strings with instVars, you have to create a subclass
     of String (the access functions defined here can handle this).
@@ -137,11 +139,11 @@
     or use instances of encodedString.
 
     [author:]
-	Claus Gittinger
+        Claus Gittinger
 
     [see also:]
-	Text StringCollection TwoByteString JISEncodedString
-	Symbol
+        Text StringCollection TwoByteString JISEncodedString
+        Symbol
 "
 ! !
 
@@ -524,9 +526,6 @@
 ! !
 
 
-
-
-
 !String methodsFor:'Compatibility-VW5.4'!
 
 asByteString
@@ -1246,7 +1245,7 @@
      'hello world' indexOfAny:'AOE' startingAt:1
      'hello world' indexOfAny:'o' startingAt:6
      'hello world' indexOfAny:'o' startingAt:6
-     'hello world' indexOfAny:'#$' startingAt:6
+     'hello world§' indexOfAny:'#§$' startingAt:6
     "
 !
 
@@ -3100,10 +3099,10 @@
 	'abcde1234' utf8EncodedOn:w
      ].
      String streamContents:[:w|
-	 'abcde' utf8EncodedOn:w
+	 'abcdeäöüß' utf8EncodedOn:w
      ].
      String streamContents:[:w|
-	 'abcde' asUnicode16String utf8EncodedOn:w
+	 'abcdeäöüß' asUnicode16String utf8EncodedOn:w
      ].
     "
 ! !
@@ -3566,8 +3565,8 @@
     "
       'hello world' asUnicode16String errorPrint
       (Character value:356) asString errorPrint
-      'Bnnigheim' errorPrint
-      'Bnnigheim' asUnicodeString errorPrint
+      'Bönnigheim' errorPrint
+      'Bönnigheim' asUnicodeString errorPrint
     "
 !
 
@@ -3979,7 +3978,6 @@
     ^ super reverse
 ! !
 
-
 !String methodsFor:'substring searching'!
 
 indexOfSubCollection:aSubString startingAt:startIndex ifAbsent:exceptionValue caseSensitive:caseSensitive
@@ -4491,7 +4489,6 @@
 
 ! !
 
-
 !String class methodsFor:'documentation'!
 
 version
--- a/UserPreferences.st	Tue Mar 08 07:53:52 2016 +0000
+++ b/UserPreferences.st	Thu Mar 10 08:13:13 2016 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1998 by eXept Software AG
 	      All Rights Reserved
@@ -582,21 +584,23 @@
           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 ? 'modules') storeString , ' asFilename exists ifTrue:[';
-          nextPutLine:'    ParserFlags stcModulePath: ' , (ParserFlags stcModulePath ? 'modules') storeString , '.';
+          nextPutLine:'  ParserFlags ccCompilationOptions: ' , (ParserFlags ccCompilationOptions storeString) , '.';
+          nextPutLine:'  ParserFlags makeCommand: ' , (ParserFlags makeCommand storeString) , '.';
+          nextPutLine:'  ExternalBytes sizeofPointer = ' , (ExternalBytes sizeofPointer storeString) , ' ifTrue:[';
+          nextPutLine:'    ParserFlags stcCompilationIncludes: ' , (ParserFlags stcCompilationIncludes storeString) , '.';
+          nextPutLine:'    ',(ParserFlags stcModulePath ? 'modules') storeString , ' asFilename exists ifTrue:[';
+          nextPutLine:'      ParserFlags stcModulePath: ' , (ParserFlags stcModulePath ? 'modules') storeString , '.';
+          nextPutLine:'    ].';
+          nextPutLine:'    ParserFlags stcPath: ' , (ParserFlags stcPath 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 libPath: ' , (ParserFlags libPath storeString) , '.';
+          nextPutLine:'    ParserFlags searchedLibraries: ' , (ParserFlags searchedLibraries 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) , '.';
@@ -839,8 +843,6 @@
 ! !
 
 
-
-
 !UserPreferences methodsFor:'accessing-changes & history'!
 
 historyManagerAllowEditOfHistory:aBoolean
--- a/bc.mak	Tue Mar 08 07:53:52 2016 +0000
+++ b/bc.mak	Thu Mar 10 08:13:13 2016 +0000
@@ -64,7 +64,7 @@
 test: $(TOP)\goodies\builder\reports\NUL
 	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
 	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
-        
+
 clean::
 	del *.$(CSUFFIX)
 
--- a/stx_libbasic.st	Tue Mar 08 07:53:52 2016 +0000
+++ b/stx_libbasic.st	Thu Mar 10 08:13:13 2016 +0000
@@ -41,6 +41,7 @@
     Package documentation:
 
     This library contains basic (nonGUI) classes.
+    
     These are the fundamental classes which are required for any Smalltalk,
     whether scripting, non-GUI, repl, IDE or end user application.