Levente Uzonyi uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ul.1024.mcz
==================== Summary ====================
Name: Kernel-ul.1024
Author: ul
Time: 20 May 2016, 1:19:14.472859 am
UUID: 68c736cc-d98c-4303-a68e-312488b5c51a
Ancestors: Kernel-eem.1023
Copied the fallback code of LargePositiveInteger >> #replaceFrom:to:with:startingAt: from its parent class and extended it to make it compatible with the primitive as well.
=============== Diff against Kernel-eem.1023 ===============
Item was changed:
----- Method: LargePositiveInteger>>replaceFrom:to:with:startingAt: (in category 'system primitives') -----
replaceFrom: start to: stop with: replacement startingAt: repStart
"Primitive. This destructively replaces elements from start to stop in the receiver starting at index, repStart, in the collection, replacement. Answer the receiver. Range checks are performed in the primitive only. Optional. See Object documentation whatIsAPrimitive."
+
+ | index replacementIndex |
<primitive: 105>
+ replacementIndex := repStart.
+ index := start.
+ replacement isInteger ifTrue: [
+ "This branch is only here to accept SmallInteger replacements not handled by the primitive."
+ [ index <= stop ] whileTrue: [
+ self digitAt: index put: (replacement digitAt: replacementIndex).
+ index := index + 1.
+ replacementIndex := replacementIndex + 1 ].
+ ^self ].
+ "Primitive compatible variant which doesn't support SmallInteger replacements."
+ [ index <= stop ] whileTrue: [
+ self basicAt: index put: (replacement basicAt: replacementIndex).
+ index := index + 1.
+ replacementIndex := replacementIndex + 1 ]!
- ^ super replaceFrom: start to: stop with: replacement startingAt: repStart!
I would like to comment further on these changes as they change the expected Regex engine behavior. The behavior, that matching groups in a multiple quantifier return the last match of the group is consistent with for example the Ruby regex engine:
http://rubular.com/r/kxoreyPolG
The issue is also decribed here: http://www.regular-expressions.info/captureall.html
However, I am not sure what the intended behavior for RxMatcher is. Has this ever been working and what was the intended behavior?
Bests
Patrick
________________________________________
From: squeak-dev-bounces(a)lists.squeakfoundation.org <squeak-dev-bounces(a)lists.squeakfoundation.org> on behalf of commits(a)source.squeak.org <commits(a)source.squeak.org>
Sent: Thursday, May 19, 2016 13:50
To: squeak-dev(a)lists.squeakfoundation.org
Subject: [squeak-dev] The Inbox: Regex-Tests-Core-pre.6.mcz
Patrick Rein uploaded a new version of Regex-Tests-Core to project The Inbox:
http://source.squeak.org/inbox/Regex-Tests-Core-pre.6.mcz
==================== Summary ====================
Name: Regex-Tests-Core-pre.6
Author: pre
Time: 19 May 2016, 8:50:59.559548 pm
UUID: e1cbdf20-9ce2-4e4a-b1d8-574186c2e746
Ancestors: Regex-Tests-Core-ul.5
Adjustments to the Regex tests for optional subexpressions in multiple quantifiers. These tests demonstrate the different behavior when nesting subexpressions in quantifiers and the other way round.
=============== Diff against Regex-Tests-Core-ul.5 ===============
Item was added:
+ ----- Method: RxMatcherTest>>testOptionalMultipleQuantifiedSubexpression (in category 'testing') -----
+ testOptionalMultipleQuantifiedSubexpression
+ <timeout: 0.1>
+
+ self runRegex: #('((aa?){2})'
+ '' false nil
+ 'a' false nil
+ 'aa' true (1 'aa')
+ 'baaa' true (2 'aaa'))!
Item was changed:
----- Method: RxMatcherTest>>testOptionalNestedIntoMultipleQuantified (in category 'testing') -----
testOptionalNestedIntoMultipleQuantified
<timeout: 0.1>
self runRegex: #('(aa?){2}'
'' false nil
'a' false nil
'aa' true (1 'aa')
+ 'baaa' true (2 'a'))!
- 'baaa' true (2 'aaa'))!
Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2016-May/068125.html
Name: System-ul.831
Ancestors: System-mt.830
- use #adoptInstance: instead of copying the ByteArray into a new LargeInteger in SecureHashAlgorithm >> #finalHash. This should be somewhat quicker and it should also avoid running the fallback code of LargePositiveInteger >> #replaceFrom:to:with:startingAt: with a ByteArray argument, which wouldn't work.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-May/068126.html
Name: ST80Tests-pre.4
Ancestors: ST80Tests-ul.3
Fixes a test for the ST80 package which asserts the packages the ST80 package depends on. Adds Monticello to the list as it is now needed for the unloading capabilities
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-May/068127.html
Name: Multilingual-pre.212
Ancestors: Multilingual-ul.211
Fixes broken TestIndenting as StrikeFontSet did not fullfill the interface required for a Font although it is a subclass of AbstractFont
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-May/068128.html
Name: ToolsTests-pre.77
Ancestors: ToolsTests-nice.76
Fixes a test for the FileList class. The itemsForFile: method requires a fully qualified path which is stated in the method and also provided by internal methods of FileList. The test however used a relative path.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-May/068129.html
Name: Tests-pre.342
Ancestors: Tests-pre.341
As discussed several times on the mailing list the ExceptionTests>>testHandlerFromAction test is a feature request test and should be regarded as an expectedFailure.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-May/068130.html
Name: Tests-pre.343
Ancestors: Tests-pre.342
Reverts accidential change to the PackageDependencyTest which actually resides in the inbox
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-May/068131.html
Name: Regex-Core-pre.51
Ancestors: Regex-Core-ul.50
Fixes an erroring test of RxMatcher by replacing a copy with a veryDeepCopy to sustain the integrity of the RxmLink tree.
=============================================
Hi everyone :)
I am currently fixing some tests in the Multilingual package. While doing
this I edited the StrikeFontSet class and was wondering about its purpose.
Although it is called a FontSet it is actually a subclass of AbstractFont
and all instances available in a recent image do only contain one single
font. Even further some methods of the class are implemented along the line
of:
self fontArray first ...
Unfortunately the class does not include a class comment yet and I would
like to fix this. That is why I wanted to ask whether anyone still knows the
rationale behind this seeming contradiction.
Thanks! and Bests
Patrick
--
View this message in context: http://forum.world.st/StrikeFonstSet-vs-StrikeFont-tp4895960.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.
Patrick Rein uploaded a new version of Regex-Tests-Core to project The Inbox:
http://source.squeak.org/inbox/Regex-Tests-Core-pre.6.mcz
==================== Summary ====================
Name: Regex-Tests-Core-pre.6
Author: pre
Time: 19 May 2016, 8:50:59.559548 pm
UUID: e1cbdf20-9ce2-4e4a-b1d8-574186c2e746
Ancestors: Regex-Tests-Core-ul.5
Adjustments to the Regex tests for optional subexpressions in multiple quantifiers. These tests demonstrate the different behavior when nesting subexpressions in quantifiers and the other way round.
=============== Diff against Regex-Tests-Core-ul.5 ===============
Item was added:
+ ----- Method: RxMatcherTest>>testOptionalMultipleQuantifiedSubexpression (in category 'testing') -----
+ testOptionalMultipleQuantifiedSubexpression
+ <timeout: 0.1>
+
+ self runRegex: #('((aa?){2})'
+ '' false nil
+ 'a' false nil
+ 'aa' true (1 'aa')
+ 'baaa' true (2 'aaa'))!
Item was changed:
----- Method: RxMatcherTest>>testOptionalNestedIntoMultipleQuantified (in category 'testing') -----
testOptionalNestedIntoMultipleQuantified
<timeout: 0.1>
self runRegex: #('(aa?){2}'
'' false nil
'a' false nil
'aa' true (1 'aa')
+ 'baaa' true (2 'a'))!
- 'baaa' true (2 'aaa'))!
Hi Patrick,
Even if the change was intentional, PreferenceBrowser depending on Etoys
is not something we would want. Accepting this dependency would mean that
if we were able to unload Etoys, we would lose PreferenceBrowser as well.
Instead, we should move UpdatingRectangleMorph from Etoys to Morphic or
MorphicExtras.
Levente
On Thu, 19 May 2016, commits(a)source.squeak.org wrote:
> Patrick Rein uploaded a new version of Tests to project The Inbox:
> http://source.squeak.org/inbox/Tests-pre.341.mcz
>
> ==================== Summary ====================
>
> Name: Tests-pre.341
> Author: pre
> Time: 19 May 2016, 5:34:18.672168 pm
> UUID: 0209ce70-2b8b-4d53-b743-ed1024d367ea
> Ancestors: Tests-eem.340
>
> By moving the PBColorPreferenceView from the EToys package to the PreferenceBrowser package, the PB package now depends on etyos through the UpdatingRectangleMorph. If this is intentional we should make the following modification to the PackageDependencyTests.
>
> =============== Diff against Tests-eem.340 ===============
>
> Item was changed:
> ----- Method: PackageDependencyTest>>testPreferenceBrowser (in category 'tests') -----
> testPreferenceBrowser
> self testPackage: #PreferenceBrowser dependsExactlyOn: #(
> #'Chronology-Core'
> Collections
> Graphics
> Kernel
> Morphic
> MorphicExtras
> System
> Tools
> + #'ToolBuilder-Morphic'
> + EToys
> + Balloon
> ).!
>
>
>