Marcel Taeumel uploaded a new version of GetText to project The Trunk:
http://source.squeak.org/trunk/GetText-mt.45.mcz
==================== Summary ====================
Name: GetText-mt.45
Author: mt
Time: 25 January 2018, 8:22:39.68505 am
UUID: 959000e7-a12c-3346-85c2-ef8e2971e862
Ancestors: GetText-tpr.44
Fixes GetText to not use the deprecated API call.
=============== Diff against GetText-tpr.44 ===============
Item was changed:
----- Method: LanguageEditor>>report (in category 'gui methods') -----
report
+
+ UIManager default
+ edit: self reportString
+ label: 'report' translated.!
- self reportString openInWorkspaceWithTitle: 'report' translated!
Marcel Taeumel uploaded a new version of ToolBuilder-Kernel to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Kernel-mt.119.mcz
==================== Summary ====================
Name: ToolBuilder-Kernel-mt.119
Author: mt
Time: 25 January 2018, 8:21:36.14705 am
UUID: 9e4f959b-c041-064a-8d5b-267780eebb19
Ancestors: ToolBuilder-Kernel-mt.118
As a replacement for the convenient but deprecated #openInWorkspaceWithTitle:, add #edit to both String and Text.
If you really need a title for that appearing workspace, just use UIManager >> #edit:label:.
=============== Diff against ToolBuilder-Kernel-mt.118 ===============
Item was added:
+ ----- Method: String>>edit (in category '*toolbuilder-kernel') -----
+ edit
+
+ UIManager default edit: self.!
Item was added:
+ ----- Method: Text>>edit (in category '*ToolBuilder-Kernel') -----
+ edit
+
+ UIManager default edit: self.!
Marcel Taeumel uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-mt.780.mcz
==================== Summary ====================
Name: Collections-mt.780
Author: mt
Time: 25 January 2018, 8:17:31.08605 am
UUID: 20b43cba-f50d-4f4c-97f7-85d93f6bd4f5
Ancestors: Collections-eem.779
Adds convenience API to Text that matches the one in String. Reduces the need for #asString is many cases. Look into Text's protocol "Converting" so see what we already have in this regard.
This is basically a tooling thing where texts (i.e. formatted strings) appear in places where you would just work with the String API.
=============== Diff against Collections-eem.779 ===============
Item was added:
+ ----- Method: Text>>asSymbol (in category 'converting') -----
+ asSymbol
+
+ ^ self asString asSymbol
+ !
Item was added:
+ ----- Method: Text>>withoutLeadingBlanks (in category 'converting') -----
+ withoutLeadingBlanks
+ "Return a copy of the receiver from which leading blanks have been trimmed."
+
+ | first |
+ first := string indexOfAnyOf: CharacterSet nonSeparators startingAt: 1.
+ first = 0 ifTrue: [ ^'' ]. "no non-separator character"
+ first = 1 ifTrue: [ ^self copy ].
+ ^self
+ copyFrom: first
+ to: self size
+ !
Marcel Taeumel uploaded a new version of 60Deprecated to project The Trunk:
http://source.squeak.org/trunk/60Deprecated-mt.9.mcz
==================== Summary ====================
Name: 60Deprecated-mt.9
Author: mt
Time: 25 January 2018, 8:15:11.91705 am
UUID: a9bdcc14-c4e8-724a-9f8b-0c567d49570c
Ancestors: 60Deprecated-dtl.8
Restores an old message for editing strings that was removed but never deprecated.
=============== Diff against 60Deprecated-dtl.8 ===============
Item was added:
+ ----- Method: String>>openInWorkspaceWithTitle: (in category '*60Deprecated-user interface') -----
+ openInWorkspaceWithTitle: aTitle
+ "Open up a workspace with the receiver as its contents, with the given title"
+
+ self deprecated: 'Use UIManager >> #edit:label:.'.
+ UIManager default edit: self label: aTitle.!
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.996.mcz
==================== Summary ====================
Name: System-dtl.996
Author: dtl
Time: 24 January 2018, 8:12:21.090624 pm
UUID: 0a3bc42a-c26e-48be-b30f-09fc2970bc7e
Ancestors: System-eem.995
xxxOpenContext:label:contents: is a target of the Project class>>dispatchTo:addPrefixAndSend:withArguments: mechanism. Add it to #baseSelectors so the target methods will appear in sender searches. This was missed in the conversion from #flag: identifiers to the cleaner pragma <hasLiteralTest: #isDispatchSelector:>
=============== Diff against System-eem.995 ===============
Item was changed:
----- Method: Project class>>baseSelectors (in category 'dispatching') -----
baseSelectors
"The list of known base selectors that may be dispatched to project specific
implementations. For example, #OpenLabel:in: will be dispatched to #mvcOpenLabel:in:
for its MVC specific implementation. Add new base selectors here if additional methods
are added as targets of the dispatchTo:addPrefixAndSend:withArguments: mechanism."
^ {
#StartUpLeftFlush .
#StartUpWithCaption:icon:at:allowKeyboard: .
#OpenLabel:in: .
#Open: .
#Open .
#OpenOn:context:label:contents:fullView: .
+ #ResumeProcess: .
+ #OpenContext:label:contents:
- #ResumeProcess:
}
!
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1147.mcz
==================== Summary ====================
Name: Kernel-eem.1147
Author: eem
Time: 24 January 2018, 8:45:41.289751 am
UUID: 5c2fb139-37ff-4c01-8bc3-1bfab7e7decb
Ancestors: Kernel-eem.1146
Object>>[basic]AddInstanceVarNamed:withValue: have been moved into into EToys. In base Squeak this is code that belongs in ClassDescription.
=============== Diff against Kernel-eem.1146 ===============
Item was removed:
- ----- Method: Object>>addInstanceVarNamed:withValue: (in category 'accessing') -----
- addInstanceVarNamed: aName withValue: aValue
- "Add an instance variable named aName and give it value aValue"
- self class addInstVarName: aName asString.
- self instVarAt: self class instSize put: aValue!
Item was removed:
- ----- Method: Object>>basicAddInstanceVarNamed:withValue: (in category 'accessing') -----
- basicAddInstanceVarNamed: aName withValue: aValue
- "Add an instance variable named aName and give it value aValue"
- self class addInstVarName: aName asString.
- self instVarAt: self class instSize put: aValue!
Eliot Miranda uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-eem.319.mcz
==================== Summary ====================
Name: EToys-eem.319
Author: eem
Time: 24 January 2018, 8:43:18.646033 am
UUID: 141e5504-1d44-49e4-8e82-94d3c40a348f
Ancestors: EToys-tpr.318
Move Object>>[basic]AddInstanceVarNamed:withValue: into EToys. In base Squeak this is code that belongs in ClassDescription.
=============== Diff against EToys-tpr.318 ===============
Item was added:
+ ----- Method: Object>>addInstanceVarNamed:withValue: (in category '*EToys-Scripting-accessing') -----
+ addInstanceVarNamed: aName withValue: aValue
+ "Add an instance variable named aName and give it value aValue"
+ self class addInstVarName: aName asString.
+ self instVarAt: self class instSize put: aValue!
Item was added:
+ ----- Method: Object>>basicAddInstanceVarNamed:withValue: (in category '*EToys-Scripting-accessing') -----
+ basicAddInstanceVarNamed: aName withValue: aValue
+ "Add an instance variable named aName and give it value aValue"
+ self class addInstVarName: aName asString.
+ self instVarAt: self class instSize put: aValue!
David T. Lewis uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-tonyg.234.mcz
==================== Summary ====================
Name: Multilingual-tonyg.234
Author: tonyg
Time: 22 January 2018, 11:13:59.777714 am
UUID: ca658d2d-6ee8-4e37-b776-54b30f826fe9
Ancestors: Multilingual-dtl.233
Repair bug identified in MultilingualTests-tonyg.28.
=============== Diff against Multilingual-dtl.233 ===============
Item was changed:
----- Method: MultiByteFileStream>>upToPosition: (in category 'accessing') -----
upToPosition: anInteger
"Answer a subcollection containing items starting from the current position and ending including the given position. Usefully different to #next: in that positions measure *bytes* from the file, where #next: wants to measure *characters*."
^self collectionSpecies new: 1000 streamContents: [ :stream |
| ch |
+ [ (self position >= anInteger) or: [(ch := self next) == nil] ]
- [ (ch := self next) == nil or: [ self position > anInteger ] ]
whileFalse: [ stream nextPut: ch ] ]!
David T. Lewis uploaded a new version of MultilingualTests to project The Trunk:
http://source.squeak.org/trunk/MultilingualTests-tonyg.28.mcz
==================== Summary ====================
Name: MultilingualTests-tonyg.28
Author: tonyg
Time: 22 January 2018, 11:12:45.060447 am
UUID: 99c7ed46-dc44-4c3f-96fe-840fae383b75
Ancestors: MultilingualTests-pre.27
New test cases for MultiByteFileStream upToAll: and upToPosition:, exposing a bug in the latter.
=============== Diff against MultilingualTests-pre.27 ===============
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToAllNonZeroLength (in category 'testing') -----
+ testUpToAllNonZeroLength
+ "Ensures that upToAll: correctly skips over the nonzero-length separator."
+ | in out fn |
+ fn :='testUpToAll.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 231 asCharacter asString, 'a<b<<c'.
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ self assert: in next = 231 asCharacter.
+ self assert: (in upToAll: '<<') = 'a<b'.
+ self assert: in next = $c.!
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToAllZeroLength (in category 'testing') -----
+ testUpToAllZeroLength
+ "Ensures that upToAll: behaves correctly with a zero-length separator."
+ | in out fn |
+ fn :='testUpToAll.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 231 asCharacter asString, 'a<b<<c'.
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ self assert: in next = 231 asCharacter.
+ self assert: (in upToAll: '') = ''.
+ self assert: in next = $a.!
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToPositionNonZero (in category 'testing') -----
+ testUpToPositionNonZero
+ "Ensures that upToPosition: behaves correctly with a non-zero-length read."
+ | in out fn |
+ fn :='testUpToPosition.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 231 asCharacter asString, 'a<b'.
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ self assert: in next = 231 asCharacter.
+ self assert: (in upToPosition: in position + 2) = 'a<'.
+ self assert: in next = $b.!
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToPositionZero (in category 'testing') -----
+ testUpToPositionZero
+ "Ensures that upToPosition: behaves correctly with a zero-length read."
+ | in out fn |
+ fn :='testUpToPosition.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 231 asCharacter asString, 'a<b'.
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ self assert: in next = 231 asCharacter.
+ self assert: (in upToPosition: in position) = ''.
+ self assert: in next = $a.!
David T. Lewis uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-dtl.233.mcz
==================== Summary ====================
Name: Multilingual-dtl.233
Author: dtl
Time: 21 January 2018, 11:03:22.374228 am
UUID: 271b4b88-c037-4669-b2d2-15375755dcb4
Ancestors: Multilingual-pre.232
MutliByteFileStream>>upToPosition: fix provided by Bob Arning.
See squeak-dev discussion thread "MultiByteFileStream upToAll: strange bug" for background and diagnosis. The problem was introduced in Multilingual-tonyg.218 and merged to trunk in Multilingual-pre.230
Condensed email from Bob:
To: squeak-dev(a)lists.squeakfoundation.org
From: Bob Arning
Date: Sun, 21 Jan 2018 07:01:37 -0500
Subject: Re: [squeak-dev] MultiByteFileStream upToAll: strange bug
The culprit is MultiByteFileStream>>upToPosition: which was referencing the instVar <position> directly. Changing that to "self position" allows it to stop at the right place.
=============== Diff against Multilingual-pre.232 ===============
Item was changed:
----- Method: MultiByteFileStream>>upToPosition: (in category 'accessing') -----
upToPosition: anInteger
"Answer a subcollection containing items starting from the current position and ending including the given position. Usefully different to #next: in that positions measure *bytes* from the file, where #next: wants to measure *characters*."
^self collectionSpecies new: 1000 streamContents: [ :stream |
| ch |
+ [ (ch := self next) == nil or: [ self position > anInteger ] ]
- [ (ch := self next) == nil or: [ position > anInteger ] ]
whileFalse: [ stream nextPut: ch ] ]!