A new version of Regex-Tests-Core was added to project The Inbox:
http://source.squeak.org/inbox/Regex-Tests-Core-ct.15.mcz
==================== Summary ====================
Name: Regex-Tests-Core-ct.15
Author: ct
Time: 8 July 2021, 1:31:08.27536 am
UUID: 5f4cb449-e92d-5142-ac1f-bc593d05a1e9
Ancestors: Regex-Tests-Core-ct.12
Tests #escapeRegex from Regex-Core-ct.61.
=============== Diff against Regex-Tests-Core-ct.12 ===============
Item was added:
+ ----- Method: RxParserTest>>testEscapeString (in category 'tests') -----
+ testEscapeString
+
+ | string |
+ string := 'Hello world, how are you? (This is a test - special characters *very much* intended \-.-/ )'.
+ self assert: (string matchesRegex: string escapeRegex).
+ self assert: (string includesSubstring: 'Hello world, how are you?')
+ "no all-out escaping"!
A new version of Regex-Core was added to project The Inbox:
http://source.squeak.org/inbox/Regex-Core-ct.60.mcz
==================== Summary ====================
Name: Regex-Core-ct.60
Author: ct
Time: 8 July 2021, 12:56:00.161695 am
UUID: 6ab872b9-268c-854c-96a3-9d743c137f20
Ancestors: Regex-Core-ct.59
Fixes lookbehinds in particular optional/repeatable groups. See Regex-Tests-Core-ct.13.
Note that is only the tip of the iceberg; unfortunately, I discovered even more serious with lookbehind expresion in nullable groups (see Regex-Tests-Core.ct14). Nevertheless, I'd like to see this particular patch earlier in the Trunk as it at least fixes simple cases like in the test; there seem to be two independent defects in the implementation (one of which is fixed hereby).
=============== Diff against Regex-Core-ct.59 ===============
Item was changed:
----- Method: RxMatcher>>matchAgainstLookbehind:positive:nextLink: (in category 'matching') -----
matchAgainstLookbehind: lookbehind positive: positive nextLink: anRmxLink
| position matchesLookbehind |
position := stream position.
matchesLookbehind := (position to: 0 by: -1)
anySatisfy: [:index |
stream position: index.
(lookbehind matchAgainst: self)
and: [stream position = position]].
+ stream position: position.
matchesLookbehind = positive
ifFalse: [^ false].
- stream position: position.
^ anRmxLink matchAgainst: self!
A new version of Regex-Tests-Core was added to project The Inbox:
http://source.squeak.org/inbox/Regex-Tests-Core-ct.14.mcz
==================== Summary ====================
Name: Regex-Tests-Core-ct.14
Author: ct
Time: 8 July 2021, 12:52:32.198695 am
UUID: 7fc43ad7-9987-9f48-aee8-07498df21307
Ancestors: Regex-Tests-Core-ct.13
Adds another regression test for lookbehinds in nullable closures. This one is more serious; it raises a nil MNU because the marker chain is defect.
Just adding this for now as a known bug, I don't have the resources to fix this right now. But if no one else is keen on this, I will probably give this another try in my next holidays ... :-)
=============== Diff against Regex-Tests-Core-ct.13 ===============
Item was changed:
----- Method: RxParserTest>>testOptionalLookbehind (in category 'tests') -----
testOptionalLookbehind
+ self assert: ['A' matchesRegex: '((?<=^)A)+'].
+
+ self assert: [('AB' allRegexMatches: '((?<=a)b)?') asArray = #('A')].!
- self assert: ['A' matchesRegex: '((?<=^)A)+']!
A new version of Regex-Tests-Core was added to project The Inbox:
http://source.squeak.org/inbox/Regex-Tests-Core-ct.13.mcz
==================== Summary ====================
Name: Regex-Tests-Core-ct.13
Author: ct
Time: 8 July 2021, 12:45:29.187695 am
UUID: 77b31977-aedb-324b-b792-fc32346ff596
Ancestors: Regex-Tests-Core-ct.12
Adds a regression test for lookbehinds in optional/repeatable groups which should work.
=============== Diff against Regex-Tests-Core-ct.12 ===============
Item was added:
+ ----- Method: RxParserTest>>testOptionalLookbehind (in category 'tests') -----
+ testOptionalLookbehind
+
+ self assert: ['A' matchesRegex: '((?<=^)A)+']!
Coming soon to a screen near you.
It's been 25 years of fun. Tell us about your fun with Squeak.
Email; tweet; vlog. Record a short presentation on YouTube. Write a paper. Join in.
tim
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
You can swear at the keyboard and it won't be offended. It was going to treat you badly anyway
Marcel Taeumel uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-mt.166.mcz
==================== Summary ====================
Name: MonticelloConfigurations-mt.166
Author: mt
Time: 6 July 2021, 2:41:28.982497 pm
UUID: 4fcddd57-a563-4394-a3be-89ce77c26d17
Ancestors: MonticelloConfigurations-mt.165
In the update dialog, show the timestamp of the CI badge to better assess the relevance of the badge (i.e. passed, failed, error).
Note that we would have needed this information to notice that our CI builds were disabled from June 6 to July 5. :-)
=============== Diff against MonticelloConfigurations-mt.165 ===============
Item was changed:
----- Method: MCMcmUpdater>>updateMessageFor: (in category 'private') -----
updateMessageFor: previousUpdateLevel
+ ^ ('Update completed.<br><br>Version: {1}<br>Update: {3}<b>{2}</b><br><br>Url: <a href="{4}">{4}</a><br>Map: ''{5}''<br>TravisCI status: <a href="{8}"><img src="{7}" /> {9}</a>{6}' translated format: {
- ^ ('Update completed.<br><br>Version: {1}<br>Update: {3}<b>{2}</b><br><br>Url: <a href="{4}">{4}</a><br>Map: ''{5}''<br>TravisCI status: <a href="{8}"><img src="{7}" /></a>{6}' translated format: {
SystemVersion current version.
SystemVersion current highestUpdate.
previousUpdateLevel = SystemVersion current highestUpdate
ifTrue: ['']
ifFalse: [previousUpdateLevel asString, ' -> '].
self repository.
MCMcmUpdater updateMapName.
SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d |
'<br><br>', (d copyReplaceAll: String cr with: '<br>')].
SystemVersion current ciStatusBadgeUrl.
SystemVersion current ciStatusPageUrl.
+ SystemVersion current ciStatusTimestamp.
}) asTextFromHtml!
Hi all!
In MCVersionDependency, what is the difference between #isFulfilled and #isFulfilledByAncestors? It smells like there should be only one of them.
Here is code:
Best,
Marcel