Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.683.mcz
==================== Summary ====================
Name: Collections-ul.683
Author: ul
Time: 30 March 2016, 2:23:29.737891 am
UUID: f0634d1c-37d8-4ed1-84cc-6439546aaa74
Ancestors: Collections-ul.682
Improvement #peekFor: performance.
=============== Diff against Collections-ul.682 ===============
Item was changed:
----- Method: PositionableStream>>peekFor: (in category 'accessing') -----
peekFor: anObject
"Answer false and do not move over the next element if it is not equal to
the argument, anObject, or if the receiver is at the end. Answer true
and increment the position for accessing elements, if the next element is
equal to anObject."
- | nextObject |
self atEnd ifTrue: [^false].
- nextObject := self next.
- "peek for matching element"
- anObject = nextObject ifTrue: [^true].
"gobble it if found"
+ self next = anObject ifTrue: [ ^true ].
position := position - 1.
^false!
Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.683.mcz
==================== Summary ====================
Name: Collections-ul.683
Author: ul
Time: 30 March 2016, 2:23:29.737891 am
UUID: f0634d1c-37d8-4ed1-84cc-6439546aaa74
Ancestors: Collections-ul.682
Improvement #peekFor: performance.
=============== Diff against Collections-ul.682 ===============
Item was changed:
----- Method: PositionableStream>>peekFor: (in category 'accessing') -----
peekFor: anObject
"Answer false and do not move over the next element if it is not equal to
the argument, anObject, or if the receiver is at the end. Answer true
and increment the position for accessing elements, if the next element is
equal to anObject."
- | nextObject |
self atEnd ifTrue: [^false].
- nextObject := self next.
- "peek for matching element"
- anObject = nextObject ifTrue: [^true].
"gobble it if found"
+ self next = anObject ifTrue: [ ^true ].
position := position - 1.
^false!
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.160.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-mt.160
Author: mt
Time: 30 March 2016, 3:57:02.584647 pm
UUID: c90bb584-3c2d-4eaf-9a84-b6658026e00c
Ancestors: ToolBuilder-Morphic-kfr.159
Fixes bug where dropping into filtered lists passed the wrong index to the model.
=============== Diff against ToolBuilder-Morphic-kfr.159 ===============
Item was changed:
----- Method: PluggableListMorphPlus>>acceptDroppingMorph:event: (in category 'drag and drop') -----
acceptDroppingMorph: aTransferMorph event: evt
dropItemSelector ifNil: [^ self].
potentialDropRow ifNil: [^ self].
model
perform: dropItemSelector
withEnoughArguments: {
aTransferMorph passenger.
+ self modelIndexFor: potentialDropRow.
- potentialDropRow.
aTransferMorph shouldCopy.
aTransferMorph}.
self resetPotentialDropRow.
evt hand releaseMouseFocus: self.
Cursor normal show.
!
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.160.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-mt.160
Author: mt
Time: 30 March 2016, 3:57:02.584647 pm
UUID: c90bb584-3c2d-4eaf-9a84-b6658026e00c
Ancestors: ToolBuilder-Morphic-kfr.159
Fixes bug where dropping into filtered lists passed the wrong index to the model.
=============== Diff against ToolBuilder-Morphic-kfr.159 ===============
Item was changed:
----- Method: PluggableListMorphPlus>>acceptDroppingMorph:event: (in category 'drag and drop') -----
acceptDroppingMorph: aTransferMorph event: evt
dropItemSelector ifNil: [^ self].
potentialDropRow ifNil: [^ self].
model
perform: dropItemSelector
withEnoughArguments: {
aTransferMorph passenger.
+ self modelIndexFor: potentialDropRow.
- potentialDropRow.
aTransferMorph shouldCopy.
aTransferMorph}.
self resetPotentialDropRow.
evt hand releaseMouseFocus: self.
Cursor normal show.
!
Levente Uzonyi uploaded a new version of Regex-Tests-Core to project The Trunk:
http://source.squeak.org/trunk/Regex-Tests-Core-ul.5.mcz
==================== Summary ====================
Name: Regex-Tests-Core-ul.5
Author: ul
Time: 28 March 2016, 5:46:00.424909 pm
UUID: d237739d-6e42-4b4b-bf3e-306bcbd2061f
Ancestors: Regex-Tests-Core-ul.4
Updated RxMatcherTest class >> #packageNamesUnderTest to return Regex-Core instead of VB-Regex. Perhaps it's not such a good idea to store the package name there, because no one noticed this slip for three years.
=============== Diff against Regex-Tests-Core-ul.4 ===============
Item was removed:
- ----- Method: RxMatcherTest class>>packageNamesUnderTest (in category 'accessing') -----
- packageNamesUnderTest
- ^ #('VB-Regex')!
Levente Uzonyi uploaded a new version of Regex-Tests-Core to project The Trunk:
http://source.squeak.org/trunk/Regex-Tests-Core-ul.5.mcz
==================== Summary ====================
Name: Regex-Tests-Core-ul.5
Author: ul
Time: 28 March 2016, 5:46:00.424909 pm
UUID: d237739d-6e42-4b4b-bf3e-306bcbd2061f
Ancestors: Regex-Tests-Core-ul.4
Updated RxMatcherTest class >> #packageNamesUnderTest to return Regex-Core instead of VB-Regex. Perhaps it's not such a good idea to store the package name there, because no one noticed this slip for three years.
=============== Diff against Regex-Tests-Core-ul.4 ===============
Item was removed:
- ----- Method: RxMatcherTest class>>packageNamesUnderTest (in category 'accessing') -----
- packageNamesUnderTest
- ^ #('VB-Regex')!
Levente Uzonyi uploaded a new version of Regex-Core to project The Trunk:
http://source.squeak.org/trunk/Regex-Core-ul.49.mcz
==================== Summary ====================
Name: Regex-Core-ul.49
Author: ul
Time: 28 March 2016, 2:19:08.381924 am
UUID: 1cd17ad2-154c-4667-8211-ea6b76c1df92
Ancestors: Regex-Core-ul.48
- don't bother calling the match optimizer when it can't optimize anything. just throw it away instead
- removed some leftover methods from RxMatcher, RxmLookahead and RxmSubstring
=============== Diff against Regex-Core-ul.48 ===============
Item was changed:
----- Method: RxMatchOptimizer>>canStartMatch:in: (in category 'accessing') -----
canStartMatch: aCharacter in: aMatcher
"Answer whether a match could commence at the given lookahead
character, or in the current state of <aMatcher>. True answered
by this method does not mean a match will definitly occur, while false
answered by this method *does* guarantee a match will never occur."
aCharacter ifNil: [ ^true ].
- testBlock ifNil: [ ^true ].
^testBlock value: aCharacter value: aMatcher!
Item was added:
+ ----- Method: RxMatchOptimizer>>hasTestBlock (in category 'testing') -----
+ hasTestBlock
+
+ ^testBlock notNil!
Item was removed:
- ----- Method: RxMatcher>>atEnd (in category 'streaming') -----
- atEnd
-
- ^stream atEnd!
Item was changed:
----- Method: RxMatcher>>initialize:ignoreCase: (in category 'initialize-release') -----
initialize: syntaxTreeRoot ignoreCase: aBoolean
"Compile thyself for the regex with the specified syntax tree.
See comment and `building' protocol in this class and
#dispatchTo: methods in syntax tree components for details
on double-dispatch building.
The argument is supposedly a RxsRegex."
ignoreCase := aBoolean.
self buildFrom: syntaxTreeRoot.
self initializeMarkerPositions.
+ startOptimizer := RxMatchOptimizer new initialize: syntaxTreeRoot ignoreCase: aBoolean.
+ startOptimizer hasTestBlock ifFalse: [
+ startOptimizer := nil ]!
- startOptimizer := RxMatchOptimizer new initialize: syntaxTreeRoot ignoreCase: aBoolean!
Item was removed:
- ----- Method: RxMatcher>>lastResult (in category 'accessing') -----
- lastResult
-
- ^lastResult!
Item was removed:
- ----- Method: RxMatcher>>next (in category 'streaming') -----
- next
- ^ stream next!
Item was removed:
- ----- Method: RxmLookahead>>lookahead (in category 'accessing') -----
- lookahead
- ^ lookahead!
Item was removed:
- ----- Method: RxmSubstring>>character:ignoreCase: (in category 'initialize-release') -----
- character: aCharacter ignoreCase: aBoolean
- "Match exactly this character."
-
- sampleStream := (String with: aCharacter) readStream.
- ignoreCase := aBoolean!
Levente Uzonyi uploaded a new version of Regex-Core to project The Trunk:
http://source.squeak.org/trunk/Regex-Core-ul.49.mcz
==================== Summary ====================
Name: Regex-Core-ul.49
Author: ul
Time: 28 March 2016, 2:19:08.381924 am
UUID: 1cd17ad2-154c-4667-8211-ea6b76c1df92
Ancestors: Regex-Core-ul.48
- don't bother calling the match optimizer when it can't optimize anything. just throw it away instead
- removed some leftover methods from RxMatcher, RxmLookahead and RxmSubstring
=============== Diff against Regex-Core-ul.48 ===============
Item was changed:
----- Method: RxMatchOptimizer>>canStartMatch:in: (in category 'accessing') -----
canStartMatch: aCharacter in: aMatcher
"Answer whether a match could commence at the given lookahead
character, or in the current state of <aMatcher>. True answered
by this method does not mean a match will definitly occur, while false
answered by this method *does* guarantee a match will never occur."
aCharacter ifNil: [ ^true ].
- testBlock ifNil: [ ^true ].
^testBlock value: aCharacter value: aMatcher!
Item was added:
+ ----- Method: RxMatchOptimizer>>hasTestBlock (in category 'testing') -----
+ hasTestBlock
+
+ ^testBlock notNil!
Item was removed:
- ----- Method: RxMatcher>>atEnd (in category 'streaming') -----
- atEnd
-
- ^stream atEnd!
Item was changed:
----- Method: RxMatcher>>initialize:ignoreCase: (in category 'initialize-release') -----
initialize: syntaxTreeRoot ignoreCase: aBoolean
"Compile thyself for the regex with the specified syntax tree.
See comment and `building' protocol in this class and
#dispatchTo: methods in syntax tree components for details
on double-dispatch building.
The argument is supposedly a RxsRegex."
ignoreCase := aBoolean.
self buildFrom: syntaxTreeRoot.
self initializeMarkerPositions.
+ startOptimizer := RxMatchOptimizer new initialize: syntaxTreeRoot ignoreCase: aBoolean.
+ startOptimizer hasTestBlock ifFalse: [
+ startOptimizer := nil ]!
- startOptimizer := RxMatchOptimizer new initialize: syntaxTreeRoot ignoreCase: aBoolean!
Item was removed:
- ----- Method: RxMatcher>>lastResult (in category 'accessing') -----
- lastResult
-
- ^lastResult!
Item was removed:
- ----- Method: RxMatcher>>next (in category 'streaming') -----
- next
- ^ stream next!
Item was removed:
- ----- Method: RxmLookahead>>lookahead (in category 'accessing') -----
- lookahead
- ^ lookahead!
Item was removed:
- ----- Method: RxmSubstring>>character:ignoreCase: (in category 'initialize-release') -----
- character: aCharacter ignoreCase: aBoolean
- "Match exactly this character."
-
- sampleStream := (String with: aCharacter) readStream.
- ignoreCase := aBoolean!