--- a/.hgtags Fri Jul 19 23:41:31 2013 +0100
+++ b/.hgtags Wed Jul 24 11:01:42 2013 +0100
@@ -14,6 +14,7 @@
471ed2bb3bf16111afbf2e0d6dfb422d78294aca expecco_1_0_3
520c27f8cae267240021277e257e013b60b9cdb8 rel5_2_2
54dd825d531c7adec355b2ffbdd6b66d00d4678a expecco_1_6_0rc5
+550b68e18f9671024c10c0319a9839b90c32795e expecco_2_5_1
5fcd709c7fd282e9c55d8642d1a6b1d5d77baf5e expecco_2_5_0
615c4fe0f449a6be077b11450d39fb6560b1695a rel4_1_3_1
62ff001533901d30b624539b2f404d73f01db468 expecco_1_6_0
@@ -25,7 +26,7 @@
7637b5e86692e36907a176161940d8453e854c8a test
7b32ff0e0c72e6d96f5db1470e04f1f7919678e4 expeccoNET_1_6_0_0
86239edb7b7de95492d82032c4e8adb1f0ec6222 rel2_10_8_6_last2
-87f90dd8b1f4bd12b1c44598f42b9cf8ac7b1504 stable
+886e639e8740afeb4ee7185e96433d6f11b0df6a stable
8b83b6cb00ac9b0195bab75970ccec06701b9dbc stable_expecco_sel
8c59f73d3ab64139429870d798bd55d5420fee1f expeccoNET_1_4_0rc1
8d10113a89a936d0e702cabc9df87f694ffd4595 rel3_6_1
@@ -35,7 +36,6 @@
9cdd427527503c68f07643a213c28421188bb185 expecco_2_0_0
a7ae2d96849615e5d3a46f24faf788506428db65 dtm2_1
a91a569695ec39ec5e7f0fe0aa215b134430202b expecco_2_1_0
-a9a6355f89d4bed54bbf56f14154a97b25791fd4 expecco_2_5_1
b0b377ad4df192b9fdda9f2c1038c5e05c48290c expecco_2_2_0
b2c70b0a0acfd9c4f6a2c1304b1a6eab18521f81 expecco_1_7_0rc3
b64647b51eca20f04c15fa476abbc2c815cca8d7 expecco_1_5_0
--- a/ApplicationDefinition.st Fri Jul 19 23:41:31 2013 +0100
+++ b/ApplicationDefinition.st Wed Jul 24 11:01:42 2013 +0100
@@ -1279,14 +1279,14 @@
preRequisiteLine_bc_dot_mak_mappingsForClass:aClass
|relPath|
- relPath := (PackageId from:aClass package) directory copy replaceAll:$/ with:$\.
+ relPath := (PackageId from:aClass package) directory copyReplaceAll:$/ with:$\.
^ Dictionary new
at: 'FILE_NAME' put: ( aClass classBaseFilename asFilename withoutSuffix baseName );
at: 'MODULE_DIRECTORY' put:relPath;
yourself
- "Modified: / 09-02-2007 / 16:28:12 / cg"
+ "Modified: / 16-07-2013 / 19:50:26 / cg"
!
preRequisiteLine_make_dot_proto_mappings: aProjectID
@@ -3113,11 +3113,11 @@
!ApplicationDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.248 2013-06-10 18:14:13 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.249 2013-07-16 17:50:32 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.248 2013-06-10 18:14:13 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.249 2013-07-16 17:50:32 cg Exp $'
!
version_SVN
--- a/Block.st Fri Jul 19 23:41:31 2013 +0100
+++ b/Block.st Wed Jul 24 11:01:42 2013 +0100
@@ -370,7 +370,6 @@
"Modified: 23.4.1996 / 15:55:58 / cg"
! !
-
!Block methodsFor:'Compatibility-ANSI'!
argumentCount
@@ -663,7 +662,6 @@
"Created: / 28-08-2010 / 14:41:15 / cg"
! !
-
!Block methodsFor:'accessing'!
home
@@ -703,7 +701,7 @@
!
methodHome
- "return the receivers method home context (the context where it was
+ "return the receiver's method home context (the context where it was
defined). For cheap blocks, nil is returned"
home notNil ifTrue:[
@@ -3120,11 +3118,11 @@
!Block class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.198 2013-05-24 18:13:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.199 2013-07-21 10:44:09 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.198 2013-05-24 18:13:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.199 2013-07-21 10:44:09 cg Exp $'
! !
--- a/CharacterArray.st Fri Jul 19 23:41:31 2013 +0100
+++ b/CharacterArray.st Wed Jul 24 11:01:42 2013 +0100
@@ -4587,7 +4587,8 @@
^ '''' , self , ''''
"
- '''immutable'' string' asImmutableString basicStoreString
+ '''immutable'' string' asImmutableString basicStoreString
+ 'immutable string' asImmutableString basicStoreString
"
"Modified: / 14-07-2013 / 19:20:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -6411,11 +6412,11 @@
!CharacterArray class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.507 2013-07-14 22:48:34 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.508 2013-07-23 17:21:14 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.507 2013-07-14 22:48:34 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.508 2013-07-23 17:21:14 cg Exp $'
!
version_HG
--- a/Dictionary.st Fri Jul 19 23:41:31 2013 +0100
+++ b/Dictionary.st Wed Jul 24 11:01:42 2013 +0100
@@ -232,6 +232,7 @@
^ self = aDictionary
! !
+
!Dictionary methodsFor:'accessing'!
associationAt:aKey
@@ -707,13 +708,14 @@
removeAllKeys:aKeyCollection ifAbsent:aBlock
"remove all associations under each key in aKeyCollection from the collection.
- If it was not in the collection return the result from evaluating aBlock.
+ If it was not in the collection return the result from evaluating aBlock
+ (invoked for each missing element).
WARNING: do not remove elements while iterating over the receiver.
- See #saveRemoveKey: to do this."
+ See #saveRemoveKey: to do this."
aKeyCollection do:[:eachKey |
- self removeKey:eachKey ifAbsent:aBlock
+ self removeKey:eachKey ifAbsent:aBlock
].
!
@@ -2077,10 +2079,10 @@
!Dictionary class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.113 2013-06-04 08:33:56 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.114 2013-07-16 15:19:54 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.113 2013-06-04 08:33:56 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.114 2013-07-16 15:19:54 cg Exp $'
! !
--- a/OrderedDictionary.st Fri Jul 19 23:41:31 2013 +0100
+++ b/OrderedDictionary.st Wed Jul 24 11:01:42 2013 +0100
@@ -204,6 +204,12 @@
"Created: 28.9.1995 / 13:49:39 / stefan"
!
+atIndex:index ifAbsent:aBlock
+ "return an element at a given index"
+
+ ^ self at:(order at:index ifAbsent:[^ aBlock value])
+!
+
atIndex:index put:anAssociation
"put an association to a given index. remove the old associatioan at this index"
|key|
@@ -981,10 +987,10 @@
!OrderedDictionary class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/OrderedDictionary.st,v 1.41 2013-07-01 14:48:19 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/OrderedDictionary.st,v 1.42 2013-07-22 08:25:33 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/OrderedDictionary.st,v 1.41 2013-07-01 14:48:19 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/OrderedDictionary.st,v 1.42 2013-07-22 08:25:33 stefan Exp $'
! !
--- a/PCFilename.st Fri Jul 19 23:41:31 2013 +0100
+++ b/PCFilename.st Wed Jul 24 11:01:42 2013 +0100
@@ -878,22 +878,23 @@
setName:aString
"set the filename, convert unix directory separators to native separators"
- nameString := aString copy replaceAll:$/ with:$\
+ nameString := aString copyReplaceAll:$/ with:$\
- "Created: 22.1.1998 / 17:32:45 / md"
+ "Created: / 22-01-1998 / 17:32:45 / md"
+ "Modified: / 16-07-2013 / 19:44:00 / cg"
! !
!PCFilename class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.59 2013-05-07 15:29:18 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.60 2013-07-16 17:51:30 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.59 2013-05-07 15:29:18 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.60 2013-07-16 17:51:30 cg Exp $'
!
version_SVN
- ^ '$Id: PCFilename.st,v 1.59 2013-05-07 15:29:18 cg Exp $'
+ ^ '$Id: PCFilename.st,v 1.60 2013-07-16 17:51:30 cg Exp $'
! !
--- a/ProgrammingLanguage.st Fri Jul 19 23:41:31 2013 +0100
+++ b/ProgrammingLanguage.st Wed Jul 24 11:01:42 2013 +0100
@@ -265,6 +265,15 @@
"Created: / 21-08-2009 / 13:00:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+compilerWithBreakpointSupportClass
+ "Answer a class suitable for compiling a source code with breakpoints
+ in 'my' language. If there is non, return nil."
+
+ ^ nil
+
+ "Created: / 22-07-2013 / 15:45:00 / cg"
+!
+
evaluatorClass
"Answer a class suitable for evaluating a doIt in 'my' language"
@@ -524,15 +533,16 @@
!ProgrammingLanguage class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.25 2012-12-11 17:26:54 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.26 2013-07-22 13:45:07 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.25 2012-12-11 17:26:54 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.26 2013-07-22 13:45:07 cg Exp $'
!
version_SVN
- ^ '§ Id: ProgrammingLanguage.st 10643 2011-06-08 21:53:07Z vranyj1 §'
+ ^ '$ Id: ProgrammingLanguage.st 10643 2011-06-08 21:53:07Z vranyj1 $'
! !
+
ProgrammingLanguage initialize!
--- a/ProjectDefinition.st Fri Jul 19 23:41:31 2013 +0100
+++ b/ProjectDefinition.st Wed Jul 24 11:01:42 2013 +0100
@@ -391,7 +391,7 @@
!
moduleDirectory_win32
- ^ (PackageId from:self package) directory copy replaceAll:$/ with:$\
+ ^ (PackageId from:self package) directory copyReplaceAll:$/ with:$\
"
bosch_dapasx_datenbasis moduleDirectory_win32
@@ -404,13 +404,15 @@
moduleDirectory_win32For: projectID
- ^(self moduleDirectoryFor:projectID) copy replaceAll:$/ with:$\
+ ^(self moduleDirectoryFor:projectID) copyReplaceAll:$/ with:$\
"
self moduleDirectory_win32For: #'bosch:dapasx/pav_vergleich'
self moduleDirectory_win32For: #'stx:goodies/xml/stx'
self moduleDirectory_win32For: #'stx:libbasic2'
"
+
+ "Modified: / 16-07-2013 / 19:47:24 / cg"
!
moduleFor:aProjectID
@@ -4551,7 +4553,9 @@
$source_dir/%(APPLICATION)
$source_dir/resources
$source_dir/keyboard.rc
+$source_dir/keyboardMacros.rc
$source_dir/display.rc
+$source_dir/host.rc
$source_dir/../doc
$source_dir/../testsuites/webedition
$source_dir/../projects/libraries
@@ -4586,6 +4590,9 @@
#installLib *.so
#installData resources
#installData keyboard.rc
+#installData keyboardMacros.rc
+#installData host.rc
+#installData display.rc
#installData doc
[Uninstall]
@@ -7528,11 +7535,11 @@
!ProjectDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.479 2013-06-20 22:45:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.481 2013-07-16 17:47:48 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.479 2013-06-20 22:45:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.481 2013-07-16 17:47:48 cg Exp $'
!
version_HG
--- a/SequenceableCollection.st Fri Jul 19 23:41:31 2013 +0100
+++ b/SequenceableCollection.st Wed Jul 24 11:01:42 2013 +0100
@@ -368,6 +368,7 @@
^ self == SequenceableCollection
! !
+
!SequenceableCollection methodsFor:'Compatibility-Squeak'!
allButFirst
@@ -687,6 +688,7 @@
^ self replaceFrom:start to:stop with:anArray startingAt:repStart
! !
+
!SequenceableCollection methodsFor:'accessing'!
after:anObject
@@ -789,6 +791,13 @@
"Created: / 08-08-2010 / 00:50:10 / cg"
!
+atIndex:index ifAbsent:absentBlock
+ "return an element at a given index. This allows for seqenveableCollections
+ and orderedDictionaries to be both accessed via a numeric index."
+
+ ^ self at:index ifAbsent:absentBlock
+!
+
atIndex:index put:newValue
"return an element at a given index. This allows for seqentialCollections
and orderedDictionaries to be both accessed via a numeric index."
@@ -6840,6 +6849,7 @@
"Created: 14.2.1997 / 16:13:03 / cg"
! !
+
!SequenceableCollection methodsFor:'searching'!
detect:aBlock startingAt:startIndex
@@ -8990,11 +9000,11 @@
!SequenceableCollection class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.342 2013-07-13 20:42:11 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.343 2013-07-22 08:25:50 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.342 2013-07-13 20:42:11 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.343 2013-07-22 08:25:50 stefan Exp $'
! !
--- a/SmalltalkLanguage.st Fri Jul 19 23:41:31 2013 +0100
+++ b/SmalltalkLanguage.st Wed Jul 24 11:01:42 2013 +0100
@@ -57,6 +57,15 @@
"Modified: / 21-08-2009 / 13:02:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+compilerWithBreakpointSupportClass
+ "Answer a class suitable for compiling a source code with breakpoints
+ in 'my' language"
+
+ ^ Smalltalk::ByteCodeCompilerWithBreakpointSupport
+
+ "Created: / 22-07-2013 / 15:46:12 / cg"
+!
+
explainerClass
"Answers a class used by browser and debugger to
show some hints about the code. It is OK to return
@@ -179,13 +188,14 @@
!SmalltalkLanguage class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkLanguage.st,v 1.20 2012-10-02 15:16:27 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkLanguage.st,v 1.21 2013-07-22 13:46:23 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkLanguage.st,v 1.20 2012-10-02 15:16:27 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkLanguage.st,v 1.21 2013-07-22 13:46:23 cg Exp $'
!
version_SVN
- ^'§Id: SmalltalkLanguage.st 10468 2009-08-22 08:34:50Z vranyj1 §'
+ ^'$Id: SmalltalkLanguage.st,v 1.21 2013-07-22 13:46:23 cg Exp $'
! !
+
--- a/String.st Fri Jul 19 23:41:31 2013 +0100
+++ b/String.st Wed Jul 24 11:01:42 2013 +0100
@@ -3066,14 +3066,17 @@
!String methodsFor:'printing & storing'!
errorPrint
- "print the receiver on standard output.
+ "print the receiver on standard error, if the global Stderr is nil;
+ otherwise, fall back to the inherited errorPrint, which sends the string to
+ the Stderr stream.
This method does NOT (by purpose) use the stream classes and
- will therefore work even in case of emergency (but only, if Stdout is nil)."
+ will therefore work even in case of emergency during early startup
+ (but only, as long as Stderr is nil, which is set later after startup)."
%{ /* NOCONTEXT */
if (@global(Stderr) == nil) {
- if (__qIsStringLike(self)) {
+ if (__qIsStringLike(self)) {
console_fprintf(stderr, "%s" , __stringVal(self));
console_fflush(stderr);
RETURN (self);
@@ -3091,14 +3094,17 @@
!
errorPrintCR
- "print the receiver on standard output, followed by a cr.
+ "print the receiver on standard error, followed by a cr,
+ if the global Stderr is nil; otherwise, fall back to the inherited errorPrintCR,
+ which sends the string to the Stderr stream.
This method does NOT (by purpose) use the stream classes and
- will therefore work even in case of emergency (but only, if Stdout is nil)."
+ will therefore work even in case of emergency during early startup
+ (but only, as long as Stderr is nil, which is set later after startup)."
%{ /* NOCONTEXT */
if (@global(Stderr) == nil) {
- if (__qIsStringLike(self)) {
+ if (__qIsStringLike(self)) {
console_fprintf(stderr, "%s\n" , __stringVal(self));
console_fflush(stderr);
RETURN (self);
@@ -3109,14 +3115,17 @@
!
print
- "print the receiver on standard output.
+ "print the receiver on standard output, if the global Stdout is nil;
+ otherwise, fall back to the inherited errorPrint, which sends the string to
+ the Stdout stream.
This method does NOT (by purpose) use the stream classes and
- will therefore work even in case of emergency (but only, if Stdout is nil)."
+ will therefore work even in case of emergency during early startup
+ (but only, as long as Stdout is nil, which is set later after startup)."
%{ /* NOCONTEXT */
if (@global(Stdout) == nil) {
- if (__qIsStringLike(self)) {
+ if (__qIsStringLike(self)) {
console_fprintf(stdout, "%s" , __stringVal(self));
console_fflush(stdout);
RETURN (self);
@@ -3127,14 +3136,17 @@
!
printCR
- "print the receiver on standard output, followed by a cr.
+ "print the receiver on standard output, followed by a cr,
+ if the global Stdout is nil; otherwise, fall back to the inherited errorPrintCR,
+ which sends the string to the Stdout stream.
This method does NOT (by purpose) use the stream classes and
- will therefore work even in case of emergency (but only, if Stdout is nil)."
+ will therefore work even in case of emergency during early startup
+ (but only, as long as Stdout is nil, which is set later after startup)."
%{ /* NOCONTEXT */
if (@global(Stdout) == nil) {
- if (__qIsStringLike(self)) {
+ if (__qIsStringLike(self)) {
console_fprintf(stdout, "%s\n" , __stringVal(self));
console_fflush(stdout);
RETURN (self);
@@ -3149,7 +3161,7 @@
Return a printed representation of the receiver as specified by formatString,
which is defined by printf.
This method is NONSTANDARD and may be removed without notice.
- WARNNG: this goes directly to the C-printf function and may therefore me inherently unsafe.
+ WARNNG: this goes directly to the C-printf function and may therefore be inherently unsafe.
Please use the printf: method, which is safe as it is completely implemented in Smalltalk."
%{ /* STACK: 1000 */
@@ -3899,10 +3911,10 @@
!String class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.307 2013-07-15 10:33:30 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.308 2013-07-22 09:34:52 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.307 2013-07-15 10:33:30 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.308 2013-07-22 09:34:52 cg Exp $'
! !