Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
November 2017
- 846 messages
Re: [Pharo-dev] [Pharo7.0a] Next batch of enhancements
by Guillermo Polito
Thanks stef :)
Question: would you like that we set-up a jenkins job that sends this
report every saturday or monday morning?
On Sun, Nov 5, 2017 at 10:07 AM, Stephane Ducasse <stepharo.self(a)gmail.com>
wrote:
> Report period: 23 October 2017 to 5 November 2017
>
> * 20632-Rename-PluggableSortFunction-to-CollatorBlockFunction
> >> PluggableSortFunction is renamed to CollatorBlockFunction
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20632
> PR URL: https://github.com/pharo-project/pharo/pull/430
> Diff URL: https://github.com/pharo-project/pharo/pull/430/files
>
> Thanks to dionisiydk
>
> * 20634 missing super messages in set up and tear down in kernel
> tests unit tests
> >> Add missing super messages in #setUp and #tearDown in Kernel-Tests
> >>
> >> https://pharo.fogbugz.com/f/cases/20634/Missing-super-
> messages-in-setUp-and-tearDown-in-Kernel-Tests-unit-tests
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20634 missing super
> messages in set up and tear down in kernel tests unit tests
> PR URL: https://github.com/pharo-project/pharo/pull/432
> Diff URL: https://github.com/pharo-project/pharo/pull/432/files
>
> Thanks to astares
>
> * 20623-Tests-in-the-CI-should-say-the-Architecture-and-the-OS
> >> Adding the node name if running in JENKINS.
> >>
> >> It fixes
> >>
> >> https://pharo.fogbugz.com/f/cases/20623/Tests-in-the-CI-
> should-say-the-Architecture-and-the-OS
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20623
> PR URL: https://github.com/pharo-project/pharo/pull/424
> Diff URL: https://github.com/pharo-project/pharo/pull/424/files
>
> Thanks to tesonep
>
> * 20633-Update-Tonel-version
> >> Upgrading Tonel version to 1.0.3.
> >>
> >> Fixes issue https://pharo.fogbugz.com/f/cases/20633/Update-Tonel-
> version
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20633
> PR URL: https://github.com/pharo-project/pharo/pull/431
> Diff URL: https://github.com/pharo-project/pharo/pull/431/files
>
> Thanks to tesonep
>
> * 20629-wrong-FuelPlatform-Pharo-Core-package-loading
> >> https://pharo.fogbugz.com/f/cases/20629/wrong-
> FuelPlatform-Pharo-Core-package-loading
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20629
> PR URL: https://github.com/pharo-project/pharo/pull/429
> Diff URL: https://github.com/pharo-project/pharo/pull/429/files
>
> Thanks to pavel-krivanek
>
> * 20630-The-package-Files-Prompt-is-not-loaded
> >> https://pharo.fogbugz.com/f/cases/20630/The-package-Files-
> Prompt-is-not-loaded
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20630
> PR URL: https://github.com/pharo-project/pharo/pull/427
> Diff URL: https://github.com/pharo-project/pharo/pull/427/files
>
> Thanks to pavel-krivanek
>
> * 20628-Categories-definition-in-exported-Tonel-must-be-
> symbols-not-strings
> >> https://pharo.fogbugz.com/f/cases/20628/Categories-
> definition-in-exported-Tonel-must-be-symbols-not-strings
> >>
> >> - Converts category names from strings to symbols
> >> - Remove unused packages
> >>
> >> ```
> >> delete mode 100644 src/BaselineOfHermes/BaselineOfHermes.class.st
> >> delete mode 100644 src/BaselineOfHermes/package.st
> >> delete mode 100644 src/Files-Prompt/DummyUIManager.extension.st
> >> delete mode 100644
> src/Files-Prompt/FileAlreadyExistsException.extension.st
> >> delete mode 100644
> src/Files-Prompt/FileDoesNotExistException.extension.st
> >> delete mode 100644 src/Files-Prompt/MorphicUIManager.extension.st
> >> delete mode 100644
> src/Files-Prompt/NonInteractiveUIManager.extension.st
> >> delete mode 100644 src/Files-Prompt/UIManager.extension.st
> >> delete mode 100644 src/Files-Prompt/package.st
> >> delete mode 100644 src/FuelPlatform-Pharo-Core/FL
> PharoPlatform.class.st
> >> delete mode 100644 src/FuelPlatform-Pharo-Core/package.st
> >> delete mode 100644 src/Hermes-Ring/FiBitsLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiCompiledMeth
> odLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiEphemeronLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiFixedLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiImmediateLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiPointerLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiVariableLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiWeakVariable
> Layout.extension.st
> >> delete mode 100644 src/Hermes-Ring/HERingBinder.class.st
> >> delete mode 100644 src/Hermes-Ring/HERingToHermesBuilder.class.st
> >> delete mode 100644 src/Hermes-Ring/RFiClass.extension.st
> >> delete mode 100644 src/Hermes-Ring/RFiEnvironment.extension.st
> >> delete mode 100644 src/Hermes-Ring/RFiMethod.extension.st
> >> delete mode 100644 src/Hermes-Ring/RFiTrait.extension.st
> >> delete mode 100644 src/Hermes-Ring/package.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/AClassToBeExtracted.class.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/AClassToBeExtractedFactory.class.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/HETeSimpleClassWithCom
> plexTraits.extension.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/TSimpleTraitToBeExtracted.trait.st
> >> delete mode 100644 src/Hermes-Tests-External-Package/package.st
> >> delete mode 100644
> src/Hermes-Tests/HEAbstractBinaryClassBuilderTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportedLit
> eralTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingClassTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingMe
> thodTest.class.st
> >> delete mode 100644
> src/Hermes-Tests/HEExportingPackageFromRingTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingPa
> ckageTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingTraitTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEInstallWhol
> ePackageTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEInstallerTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HETeSimpleClass.class.st
> >> delete mode 100644
> src/Hermes-Tests/HETeSimpleClassWithComplexTraits.class.st
> >> delete mode 100644 src/Hermes-Tests/HETeSimpleCla
> ssWithTraits.class.st
> >> delete mode 100644 src/Hermes-Tests/THEATraitUsingOthers.trait.st
> >> delete mode 100644 src/Hermes-Tests/THEOneTestTrait.trait.st
> >> delete mode 100644 src/Hermes-Tests/THEOtherTestTrait.trait.st
> >> delete mode 100644 src/Hermes-Tests/package.st
> >> delete mode 100644 src/Network-Url/package.st
> >> delete mode 100644 src/Ring-Navigation/RGMethodDe
> finition.extension.st
> >> delete mode 100644 src/Ring-Navigation/package.st
> >> ```
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20628
> PR URL: https://github.com/pharo-project/pharo/pull/426
> Diff URL: https://github.com/pharo-project/pharo/pull/426/files
>
> Thanks to pavel-krivanek
>
> * 20626-Fixing-Tests-in-CI
> >> Fixing some tests related with the refactoring in FileStream.
> >>
> >> Fixes issue
> >>
> >> https://pharo.fogbugz.com/f/cases/20626/Fixing-Tests-in-CI
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20626
> PR URL: https://github.com/pharo-project/pharo/pull/425
> Diff URL: https://github.com/pharo-project/pharo/pull/425/files
>
> Thanks to tesonep
>
> * 20616-Convert-file-format-to-tonel
> >> sources converted.
> >>
> >> closes case 20616
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20616
> PR URL: https://github.com/pharo-project/pharo/pull/423
> Diff URL: https://github.com/pharo-project/pharo/pull/423/files
>
> Thanks to estebanlm
>
> * 20574-FFITypeArray--annonymousClassCreator-doesnt-
> handle-pointer-types-correctly
> >> fix case #20574
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20574
> PR URL: https://github.com/pharo-project/pharo/pull/392
> Diff URL: https://github.com/pharo-project/pharo/pull/392/files
>
> Thanks to estebanlm
>
> * 20589-update-iceberg-to-062
> >> closes case #20589
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20589
> PR URL: https://github.com/pharo-project/pharo/pull/397
> Diff URL: https://github.com/pharo-project/pharo/pull/397/files
>
> Thanks to estebanlm
>
> * 17299 sleep longer than a second in the delay scheduler
>
> Issue URL: https://pharo.fogbugz.com/f/cases/17299 sleep longer
> than a second in the delay scheduler
> PR URL: https://github.com/pharo-project/pharo/pull/197
> Diff URL: https://github.com/pharo-project/pharo/pull/197/files
>
> Thanks to zecke
>
> * 20599 make kernel independent of deprecated file stream
> >> This PR introduces the following changes:
> >> - Extracted file creation for st and cs files into CodeExporter
> class
> >> - removed usages of StandardFileStream and MultiByteFileStream
> >> - Modularised StandardFileStream>>defaultAction to be in a
> separate package (depends on UI)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20599 make kernel
> independent of deprecated file stream
> PR URL: https://github.com/pharo-project/pharo/pull/415
> Diff URL: https://github.com/pharo-project/pharo/pull/415/files
>
> Thanks to guillep
>
> * 20155-Browse-implementers-of-in-Nautilus-doesnt-parse-
> source-code-properly-for-methods-in-a-block
> >> Fixes 20155 using a modificaton of teh code in the Bug report.
> The second commit removes what appears to be dead code; if this one
> casues trouble, it oculd be dropped. (Since the removed methods send
> unimplemented messages, they are unlikely to help!)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20155
> PR URL: https://github.com/pharo-project/pharo/pull/410
> Diff URL: https://github.com/pharo-project/pharo/pull/410/files
>
> Thanks to apblack
>
> * 20609-defaultBackgroundColor-should-be-removed-from-Object
> >> move defaultBackgroundColor from Object to Morph
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20609
> PR URL: https://github.com/pharo-project/pharo/pull/414
> Diff URL: https://github.com/pharo-project/pharo/pull/414/files
>
> Thanks to dionisiydk
>
> * 20577-Cleanup-Object-inspection-protocol
> >> replace #explore users with #inspect.
> >> move inspectorClass and Object>>inspector into Spec-Inspector
> >> Object>>explore is deprecated
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20577
> PR URL: https://github.com/pharo-project/pharo/pull/413
> Diff URL: https://github.com/pharo-project/pharo/pull/413/files
>
> Thanks to dionisiydk
>
> * 18391-Debugger must guard against actions on process termination
> >> added guards so the debugger doesn't send stepping messages to
> nil contexts. (This was the cause of the freezing because it would
> loop until the context was dead).
> >>
> >> Now the debugger closes when we are stepping out of a
> 'terminal' context instead of showing a 'nil doesNotUnderstand:
> isDead' exception. (It notifiies the user through an inform that the
> debugging session is finished)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/18391
> PR URL: https://github.com/pharo-project/pharo/pull/409
> Diff URL: https://github.com/pharo-project/pharo/pull/409/files
>
> Thanks to Marmat21
>
> * 20576-add-simplified-DADependenciesHTMLPublisher
> >> https://pharo.fogbugz.com/f/cases/20576/add-simplified-
> DADependenciesHTMLPublisher
> >>
> >> add DADependenciesHTMLPublisher from
> Tool-DependencyAnalyser-HTMLReport-ChristopheDemarey.1.mcz
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20576
> PR URL: https://github.com/pharo-project/pharo/pull/388
> Diff URL: https://github.com/pharo-project/pharo/pull/388/files
>
> Thanks to pavel-krivanek
>
> * 20547-missing-assertidenticalTo-and-denyidenticalTo-object-
> identity-equality
> >> https://pharo.fogbugz.com/f/cases/20547/missing-assert-
> identicalTo-and-deny-identicalTo-object-identity-equality
> >>
> >> add assert:identicalTo: and deny:identicalTo:
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20547
> PR URL: https://github.com/pharo-project/pharo/pull/368
> Diff URL: https://github.com/pharo-project/pharo/pull/368/files
>
> Thanks to pavel-krivanek
>
> * 20604-Metacello-Platform-is-dependent-on-Metacello-Bitbucket
> >> https://pharo.fogbugz.com/f/cases/20604/Metacello-
> Platform-is-dependent-on-Metacello-Bitbucket
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20604
> PR URL: https://github.com/pharo-project/pharo/pull/406
> Diff URL: https://github.com/pharo-project/pharo/pull/406/files
>
> Thanks to pavel-krivanek
>
> * 20615-add-packages-for-MetacelloCommandLineHander-into-baselines
> >> https://pharo.fogbugz.com/f/cases/20615/add-packages-for-
> MetacelloCommandLineHander-into-baselines
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20615
> PR URL: https://github.com/pharo-project/pharo/pull/421
> Diff URL: https://github.com/pharo-project/pharo/pull/421/files
>
> Thanks to pavel-krivanek
>
> * 20581-Manually-resolved-dependencies-in-manifests-need-update
> >> https://pharo.fogbugz.com/f/cases/20581/Manually-resolved-
> dependencies-in-manifests-need-update
> >>
> >> update manually resolved dependencies
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20581
> PR URL: https://github.com/pharo-project/pharo/pull/391
> Diff URL: https://github.com/pharo-project/pharo/pull/391/files
>
> Thanks to pavel-krivanek
>
> * 12160-Should-we-move-asUrl-to-Zinc-package
> >> https://pharo.fogbugz.com/f/cases/12160/Should-we-move-
> asUrl-to-Zinc-package
>
> Issue URL: https://pharo.fogbugz.com/f/cases/12160
> PR URL: https://github.com/pharo-project/pharo/pull/418
> Diff URL: https://github.com/pharo-project/pharo/pull/418/files
>
> Thanks to pavel-krivanek
>
> * 20584-SortFunction-should-not-use-block-in-collator
> >> SortFunction is now abstract. It is refactored and splitted on
> two extra subclasses:
> >> SortByPropertyFunction to collate objects using property
> defined by selector or one arg block.
> >> PluggableSortFunction represents collator using two args block.
> >>
> >>
> >> So subclasses implement single method #threeWayCompare:with:
> where they define own collarion logic independently from specified
> direction.
> >> Old method #collate:with is now main method which taks into
> account three way comparison and direction. Subclasses do not supposed
> to redefine it.
> >> And #value:value: method just convert collation result into
> the bool (returns is it negative or not).
> >> All functions implements #= and #hash methods. So selector
> based functions can be used in application caches.
> >> Also now applications are able to implement own sort functions
> instead of using selectors or blocks which improves reusability.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20584
> PR URL: https://github.com/pharo-project/pharo/pull/412
> Diff URL: https://github.com/pharo-project/pharo/pull/412/files
>
> Thanks to dionisiydk
>
> * 20602 file locator local directory should be inside image directory
> >> UserLocalDirectory should be placed in imageDirectory by default.
> >>
> >> https://pharo.fogbugz.com/f/cases/20602/FileLocator-
> localDirectory-should-be-inside-image-directory
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20602 file locator
> local directory should be inside image directory
> PR URL: https://github.com/pharo-project/pharo/pull/419
> Diff URL: https://github.com/pharo-project/pharo/pull/419/files
>
> Thanks to dionisiydk
>
> * 20613-Improve-some-UUID-comments
> >> Improve some UUID comments
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20613
> PR URL: https://github.com/pharo-project/pharo/pull/420
> Diff URL: https://github.com/pharo-project/pharo/pull/420/files
>
> Thanks to svenvc
>
> * 20598 update configuration command line handler to use metacello
> >> A first implementation of a CommandLineHandler for Metacello.
> >>
> >> It provides the ability to install projects using
> Configuration or Baseline.
> >>
> >> It comes with unit tests.
> >>
> >> After a discussion with @Ducasse , the
> ConfigurationCommandLineHandler was not modified in order to not break
> scripts using it. It should be deprecated once this handler provides
> enough features.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20598 update
> configuration command line handler to use metacello
> PR URL: https://github.com/pharo-project/pharo/pull/416
> Diff URL: https://github.com/pharo-project/pharo/pull/416/files
>
> Thanks to juliendelplanque
>
> * 20610-Class-comments-displaying-is-failing-
> >> https://pharo.fogbugz.com/f/cases/20610/Class-comments-
> displaying-is-failing
> >>
> >> fix RubCommentAnnotationDisplayer>>#fontToUse
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20610
> PR URL: https://github.com/pharo-project/pharo/pull/417
> Diff URL: https://github.com/pharo-project/pharo/pull/417/files
>
> Thanks to pavel-krivanek
>
> * 20592-SizeInMemory-is-not-updated-to-handle-32-and-64-
> bits-for-WordLayout
> >> Fixing sizeInMemory to handle properly WordLayout objects.
> >> Also fixing the tests to handle both 32 and 64 bits.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20592
> PR URL: https://github.com/pharo-project/pharo/pull/400
> Diff URL: https://github.com/pharo-project/pharo/pull/400/files
>
> Thanks to tesonep
>
> * 20587-remove-UIThemeWatery
> >> https://pharo.fogbugz.com/f/cases/20587-remove-UIThemeWatery
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20587
> PR URL: https://github.com/pharo-project/pharo/pull/395
> Diff URL: https://github.com/pharo-project/pharo/pull/395/files
>
> Thanks to pavel-krivanek
>
> * 20551-Improve-way-how-Spec-presenters-are-linked-with-domain-models
> >> https://pharo.fogbugz.com/f/cases/20551/Improve-way-how-
> Spec-presenters-are-linked-with-domain-models
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20551
> PR URL: https://github.com/pharo-project/pharo/pull/374
> Diff URL: https://github.com/pharo-project/pharo/pull/374/files
>
> Thanks to pavel-krivanek
>
> * 20600 rename opal compiler encoder from opal encoder to encoder
> >> This can be tested through a boostrap, or by using this do it
> instead of loading the changes:
> >> OpalEncoder withAllSubclassesDo: [ :sub | sub rename: (sub
> name allButFirst: 4)].
> >>
> >> This cannot be tested through merge (Changes in the kernel).
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20600 rename opal
> compiler encoder from opal encoder to encoder
> PR URL: https://github.com/pharo-project/pharo/pull/404
> Diff URL: https://github.com/pharo-project/pharo/pull/404/files
>
> Thanks to clementbera
>
> * 19609-FileReferencebase-should-be-before-last-separator
> >> https://pharo.fogbugz.com/f/cases/19609/FileReference-
> base-should-be-before-last-separator
>
> Issue URL: https://pharo.fogbugz.com/f/cases/19609
> PR URL: https://github.com/pharo-project/pharo/pull/137
> Diff URL: https://github.com/pharo-project/pharo/pull/137/files
>
> Thanks to pavel-krivanek
>
> * 19746-WeakValueDictionary-has-counter-intuitive-behavior
> >> https://pharo.fogbugz.com/f/cases/19746/WeakValueDictionary-has-
> counter-intuitive-behavior
>
> Issue URL: https://pharo.fogbugz.com/f/cases/19746
> PR URL: https://github.com/pharo-project/pharo/pull/140
> Diff URL: https://github.com/pharo-project/pharo/pull/140/files
>
> Thanks to pavel-krivanek
>
> * 20606-AlienSunitperformTest-is-failing
> >> https://pharo.fogbugz.com/f/cases/20606/AlienSunit-
> performTest-is-failing
> >>
> >> ignore prefix
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20606
> PR URL: https://github.com/pharo-project/pharo/pull/408
> Diff URL: https://github.com/pharo-project/pharo/pull/408/files
>
> Thanks to pavel-krivanek
>
> * 20595-The-Bootstrap-process-should-log-the-command-line-
> command-executed
> >> Adding the trace option to the bash scripts
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20595
> PR URL: https://github.com/pharo-project/pharo/pull/402
> Diff URL: https://github.com/pharo-project/pharo/pull/402/files
>
> Thanks to tesonep
>
> * 20537 Better class tagging in package ProfStef-Tests-Traits
> >> - add some tags like "Mocks", "Traits" and "Tests" to the
> package "ProfStef-Tests-Traits"
> >> and move the classes into them so we better group them for
> browsing
> >>
> >> https://pharo.fogbugz.com/f/cases/20537/Better-class-
> tagging-in-package-ProfStef-Tests-Traits
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20537 Better class
> tagging in package ProfStef
> PR URL: https://github.com/pharo-project/pharo/pull/359
> Diff URL: https://github.com/pharo-project/pharo/pull/359/files
>
> Thanks to astares
>
> * 20597 Rename-old-Compiler-encoder-to-LegacyEncoders
> >> ⦠Encoders (aka the OpalEncoders) to be named Encoder, and the
> old compiler encoder nobody use to be called whatever people want (I
> name them legacyEncoder).
> >>
> >> Since EncoderForLongForV3 has never worked, and
> EncoderForSistaV1 is not compliant with the old compiler version
> present in Pharo, I also remove them.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20597 Rename
> PR URL: https://github.com/pharo-project/pharo/pull/403
> Diff URL: https://github.com/pharo-project/pharo/pull/403/files
>
> Thanks to clementbera
>
> * 20578-add-BaselineOfMonticello-and-BaselineOfMetacello
> >> https://pharo.fogbugz.com/f/cases/20578/add-
> BaselineOfMonticello-and-BaselineOfMetacello
> >>
> >> - add package Metacello-PharoExtensions
> >> - move class side utility methods from
> BaselineOfPharoBootstrap there for general use
> >> - add BaselineOfMonticello
> >> - add BaselineOfMetacello
> >> - list them in BaselineOfIDE to have them in the image
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20578
> PR URL: https://github.com/pharo-project/pharo/pull/389
> Diff URL: https://github.com/pharo-project/pharo/pull/389/files
>
> Thanks to pavel-krivanek
>
> * 20583-introduce-system-dependencies-test
> >> https://pharo.fogbugz.com/f/cases/20583/introduce-system-
> dependencies-test
> >>
> >> introduce SystemDependenciesTest
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20583
> PR URL: https://github.com/pharo-project/pharo/pull/393
> Diff URL: https://github.com/pharo-project/pharo/pull/393/files
>
> Thanks to pavel-krivanek
>
> * [Bug]: Fix Issue 16136 - DateModel: Handle nil Sanely
> >> I've been using this fix in production for two years, so it
> should be relatively reliable
>
> Issue URL: https://pharo.fogbugz.com/f/cases/[Bug]: Fix Issue 16136
> PR URL: https://github.com/pharo-project/pharo/pull/394
> Diff URL: https://github.com/pharo-project/pharo/pull/394/files
>
> Thanks to seandenigris
>
> * 20567-Instance-side-LayoutFramefractions-fractionsOrNil-offsets-should-
> be-deprecated
> >> Fixed all the missing users and deprecate these methods!!!
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20567
> PR URL: https://github.com/pharo-project/pharo/pull/386
> Diff URL: https://github.com/pharo-project/pharo/pull/386/files
>
> Thanks to Ducasse
>
> * 20596-Zinc-should-not-use-asBytesDescription-as-it-is-deprecated
> >> Zinc is using #asBytesDescription. It should not be used as it
> is deprecated.
> >> This error is affecting all the users of Zinc. Ex: Smalltalk CI
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20596
> PR URL: https://github.com/pharo-project/pharo/pull/401
> Diff URL: https://github.com/pharo-project/pharo/pull/401/files
>
> Thanks to tesonep
>
> * 20026-Diff-has-incorrect-positions-red-and-green-colors-of-changed-text
> >> The patch difference should have the cr character. If the
> patch has multiple lines and it does not have the CR, the resulting
> highlight is shifted a character per line.
> >>
> >> Issue: [https://pharo.fogbugz.com/f/cases/resolve/20026/Diff-has-
> incorrect-positions-red-and-green-colors-of-changed-text](
> https://pharo.fogbugz.com/f/cases/resolve/20026/Diff-has-
> incorrect-positions-red-and-green-colors-of-changed-text)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20026
> PR URL: https://github.com/pharo-project/pharo/pull/396
> Diff URL: https://github.com/pharo-project/pharo/pull/396/files
>
> Thanks to tesonep
>
> * 20569-Update-Layout-class-comment
> >> better class comment
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20569
> PR URL: https://github.com/pharo-project/pharo/pull/385
> Diff URL: https://github.com/pharo-project/pharo/pull/385/files
>
> Thanks to Ducasse
>
> * 20557-Update-Zinc-and-Zodiac
> >> https://pharo.fogbugz.com/f/cases/20557/Update-Zinc-and-Zodiac
> >>
> >> merge packages:
> >> Zodiac-Tests-SvenVanCaekenberghe.18
> >> Zinc-Character-Encoding-Core-SvenVanCaekenberghe.54
> >> Zinc-Character-Encoding-Tests-SvenVanCaekenberghe.35
> >> Zinc-HTTP-SvenVanCaekenberghe.469
> >> Zinc-Resource-Meta-Core-SvenVanCaekenberghe.65
> >> Zinc-Resource-Meta-Tests-SvenVanCaekenberghe.38
> >> Zinc-Tests-SvenVanCaekenberghe.243
> >> Zinc-Zodiac-SvenVanCaekenberghe.40
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20557
> PR URL: https://github.com/pharo-project/pharo/pull/379
> Diff URL: https://github.com/pharo-project/pharo/pull/379/files
>
> Thanks to pavel-krivanek
>
> * 20580-ValueChanged-should-be-moved-to-System-Model
> >> https://pharo.fogbugz.com/f/cases/20580/ValueChanged-
> should-be-moved-to-System-Model
> >>
> >> move ValueChanged to the package System-Model
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20580
> PR URL: https://github.com/pharo-project/pharo/pull/390
> Diff URL: https://github.com/pharo-project/pharo/pull/390/files
>
> Thanks to pavel-krivanek
>
> * 20575-TextMorph-cannot-work-without-code-completion-temporary-solution
> >> https://pharo.fogbugz.com/f/cases/20575/TextMorph-cannot-
> work-without-code-completion-temporary-solution
> >>
> >> safer access to code completion
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20575
> PR URL: https://github.com/pharo-project/pharo/pull/387
> Diff URL: https://github.com/pharo-project/pharo/pull/387/files
>
> Thanks to pavel-krivanek
>
> * 20573-BaselineOfMorphic-should-include-System-Identification
> >> https://pharo.fogbugz.com/f/cases/20573/BaselineOfMorphic-
> should-include-System-Identification
> >>
> >> move System-Identification to the BaselineOfMorphic
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20573
> PR URL: https://github.com/pharo-project/pharo/pull/384
> Diff URL: https://github.com/pharo-project/pharo/pull/384/files
>
> Thanks to pavel-krivanek
>
> * 20546-There-is-no-denyequals-method-in-TestCase-
> >> https://pharo.fogbugz.com/f/cases/20546
> >>
> >> - simulate TAssertable flattening
> >> - use different unexpected equality error message
> >> - add denyCollection:equals:
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20546
> PR URL: https://github.com/pharo-project/pharo/pull/366
> Diff URL: https://github.com/pharo-project/pharo/pull/366/files
>
> Thanks to pavel-krivanek
>
> * 20560-Fix-instance-veriables-for-Spec-presenters-ending-with--model
> >> https://pharo.fogbugz.com/f/cases/20560/Fix-instance-
> veriables-for-Spec-presenters-ending-with-model
> >>
> >> fix some presenters instance veriables with wrong names
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20560
> PR URL: https://github.com/pharo-project/pharo/pull/381
> Diff URL: https://github.com/pharo-project/pharo/pull/381/files
>
> Thanks to pavel-krivanek
>
> * 20564-Spec-Core-must-be-Morphic-independent
> >> https://pharo.fogbugz.com/f/cases/20564/Spec-Core-must-be-
> Morphic-independent
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20564
> PR URL: https://github.com/pharo-project/pharo/pull/383
> Diff URL: https://github.com/pharo-project/pharo/pull/383/files
>
> Thanks to pavel-krivanek
>
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Nov. 5, 2017
Re: [Pharo-dev] about SortFunctions
by Nicolas Cellier
2017-11-05 0:56 GMT+01:00 Nicolas Cellier <
nicolas.cellier.aka.nice(a)gmail.com>:
>
>
> 2017-11-05 0:37 GMT+01:00 Nicolas Cellier <nicolas.cellier.aka.nice@
> gmail.com>:
>
>> Hi all,
>> I started a discussion with Denis in a pull request
>> https://github.com/pharo-project/pharo/pull/430
>> But since it's going beyond simple code review, it probably has a better
>> place here.
>>
>> First, I want to say thanks for enriching this original work of Travis
>> Griggs.
>> http://objology.blogspot.fr/2010/11/tag-sortfunctions-redux.html
>> http://objology.blogspot.fr/2010/11/tag-sortfunctions.html
>> <http://objology.blogspot.fr/2010/11/tag-sortfunctions-redux.html>
>>
>> Of course, I'm never satisfied.
>> So I don't really appreciate the rewrite of space ship operator <=> into
>> a more heavy threeWayCompareTo:
>>
>> In my eyes, it's so obvious that <=> means < or = or > in the context of
>> SortFunction
>> And also that the order matches the signs
>> < = >
>> -1 0 1
>> IOW result will be -1 if receiver is <, 0 if equal, +1 if superior
>>
>> #threeWayCompareTo: does not tell as well.
>> But maybe It's a question of taste and I don't have the same eyes as
>> Pharo people?
>> To me it's also a question of respect to the original author, don't
>> change a good selector for the sake of changing.
>>
>> Apart this detail, I wanted to speak about SortByPropertyFunction.
>> SortByProperty is super usefull for composing / chaining like this:
>>
>> population sortBy: #name ascending , #age descending.
>>
>> But currently, SortByPropertyFunction is allways using the default
>> hardcoded collation <=> ... He he, it's also notice it's shorter to write ;)
>>
>> Imagine that my properties are neither String nor Magnitude, or they are,
>> but I want a different collation policy, because in French $é must not be
>> sorted too far from $e.
>>
>> It could be written quite simply with:
>>
>> c sortBy: #name collatedInFrench ascending , #age descending
>>
>> With current implementation, collatedInFrench would have to use a block
>> (thru a CollatorBlockFunction which is a proxy to the block in a
>> SortFunction disguise):
>>
>> Symbol>>collatedInFrench
>> "interpret self as a property"
>> ^[:a :b | FrenchCollator collate: (self value: a) with: (self
>> value: b)]
>>
>> But IMO SortByPropertyFunction should better feed a reified
>> CollatorFunction, or said differently a SortFunction, as Denis said.
>>
>> Symbol>>collatedInFrench
>> ^FrenchCollator new onProperty: self
>>
>> SortFunction>>onProperty: aValuable
>> ^SortByPropertyFunction sortProperty: aValuable with: self
>>
>> What do you think?
>>
>> Nicolas
>>
>>
> Also, by reading https://github.com/pharo-project/pharo/blob/
> cf0b77a3d0babf9b09bcec9926e5a5faaffe7580/src/SortFunctions-
> Core/SortByPropertyFunction.class.st
> it's now obvious to me that we should simply use an UndefinedCollator
> wrapper if ever we want to sort undefined properties first or last.
>
> We should better work with composition rather than complexifying each
> class.
>
> SortFunction>>undefinedFirst
> ^UndefinedSorter ascending , self
>
> UndefinedSorter>> collate: value1 with: value2
> "sort all nil according to the direction (first if -1, last if +1),
> then"
> value1 ifNil: [value2 ifNil: [^0] ifNotNil: [^direction]].
> value2 ifNil: [^direction negated] ifNotNil: [^0]].
>
>
>
Ah, I messed up, UndefinedSorter must not be chained, it must be a wrapper!
Otherwise comparing to nil will resort to sorting by properties and fail...
SortFunction>>undefinedFirst
^UndefinedSorter descending wrap: self
UndefinedSorter>> collate: value1 with: value2
"sort all nil according to the direction (first if -1, last if +1),
then"
value1 ifNil: [value2 ifNil: [^0] ifNotNil: [^direction]].
value2 ifNil: [^direction negated].
^sorterForNonNil collate: value1 with: value2
It's important to have the UndefinedSorter :
- decoupled from property sort, because it can be generally usefull
- collating 2 nil as 0, so that another property can be chained
In
people sortBy: #name ascending undefinedFirst , #age descending
we could then have people with name nil still sorted by age, what is not
possible with current implementation
Nov. 5, 2017
Re: [Pharo-dev] about SortFunctions
by Nicolas Cellier
2017-11-05 9:52 GMT+01:00 Stephane Ducasse <stepharo.self(a)gmail.com>:
> Hi nicolas
>
>
> > With current implementation, collatedInFrench would have to use a block
> > (thru a CollatorBlockFunction which is a proxy to the block in a
> > SortFunction disguise):
> >
> > Symbol>>collatedInFrench
> > "interpret self as a property"
> > ^[:a :b | FrenchCollator collate: (self value: a) with: (self
> value:
> > b)]
> >
> > But IMO SortByPropertyFunction should better feed a reified
> > CollatorFunction, or said differently a SortFunction, as Denis said.
>
> (I should say that I do not like collator as a name. It does not mean
> anything to me.)
>
Then use Sorter.
Now in general I think that we are abusing blocks like in Glamour
> (because we want compact syntax).
> My rule of thumb to compare little class vs. block is
> - do we have optional state?
> - do we have many arguments (where we have to learn by heart the order)?
>
>
You forgot one rule:
- is the block replicated in many places?
(that rule should include client libraries, not only kernel image)
> > Symbol>>collatedInFrench
> > ^FrenchCollator new onProperty: self
> >
> > SortFunction>>onProperty: aValuable
> > ^SortByPropertyFunction sortProperty: aValuable with: self
> >
> > What do you think?
> >
> > Nicolas
> >
>
>
Nov. 5, 2017
Re: [Pharo-dev] About Collator
by Esteban Lorenzano
> On 5 Nov 2017, at 06:00, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>
> Hi guys
>
> Why do we rename class Sort to introduce terms that have unknown,
> unclear, undocumented meaning?
+1
>
> To me PluggableSortFunction is MUCH better than CollatorBlockFunction.
but pluggable is also bad, IMO.
also I see there is some incoherence in the names:
ChainedSortFunction -> this is kind of ok, but I think a âComposedSortFunctionâ is better.
SortByPropertyFunction -> shouldnât be âPropertySortFunctionâ ? (coherent with the previous one)
CollatorSortFunction -> this is like a âBlockSortFunctionâ or âValuableSortFunctionâ ?
Esteban
>
> Stef
>
Nov. 5, 2017
[Pharo7.0a] Next batch of enhancements
by Stephane Ducasse
Report period: 23 October 2017 to 5 November 2017
* 20632-Rename-PluggableSortFunction-to-CollatorBlockFunction
>> PluggableSortFunction is renamed to CollatorBlockFunction
Issue URL: https://pharo.fogbugz.com/f/cases/20632
PR URL: https://github.com/pharo-project/pharo/pull/430
Diff URL: https://github.com/pharo-project/pharo/pull/430/files
Thanks to dionisiydk
* 20634 missing super messages in set up and tear down in kernel
tests unit tests
>> Add missing super messages in #setUp and #tearDown in Kernel-Tests
>>
>> https://pharo.fogbugz.com/f/cases/20634/Missing-super-messages-in-setUp-and…
Issue URL: https://pharo.fogbugz.com/f/cases/20634 missing super
messages in set up and tear down in kernel tests unit tests
PR URL: https://github.com/pharo-project/pharo/pull/432
Diff URL: https://github.com/pharo-project/pharo/pull/432/files
Thanks to astares
* 20623-Tests-in-the-CI-should-say-the-Architecture-and-the-OS
>> Adding the node name if running in JENKINS.
>>
>> It fixes
>>
>> https://pharo.fogbugz.com/f/cases/20623/Tests-in-the-CI-should-say-the-Arch…
Issue URL: https://pharo.fogbugz.com/f/cases/20623
PR URL: https://github.com/pharo-project/pharo/pull/424
Diff URL: https://github.com/pharo-project/pharo/pull/424/files
Thanks to tesonep
* 20633-Update-Tonel-version
>> Upgrading Tonel version to 1.0.3.
>>
>> Fixes issue https://pharo.fogbugz.com/f/cases/20633/Update-Tonel-version
Issue URL: https://pharo.fogbugz.com/f/cases/20633
PR URL: https://github.com/pharo-project/pharo/pull/431
Diff URL: https://github.com/pharo-project/pharo/pull/431/files
Thanks to tesonep
* 20629-wrong-FuelPlatform-Pharo-Core-package-loading
>> https://pharo.fogbugz.com/f/cases/20629/wrong-FuelPlatform-Pharo-Core-packa…
Issue URL: https://pharo.fogbugz.com/f/cases/20629
PR URL: https://github.com/pharo-project/pharo/pull/429
Diff URL: https://github.com/pharo-project/pharo/pull/429/files
Thanks to pavel-krivanek
* 20630-The-package-Files-Prompt-is-not-loaded
>> https://pharo.fogbugz.com/f/cases/20630/The-package-Files-Prompt-is-not-loa…
Issue URL: https://pharo.fogbugz.com/f/cases/20630
PR URL: https://github.com/pharo-project/pharo/pull/427
Diff URL: https://github.com/pharo-project/pharo/pull/427/files
Thanks to pavel-krivanek
* 20628-Categories-definition-in-exported-Tonel-must-be-symbols-not-strings
>> https://pharo.fogbugz.com/f/cases/20628/Categories-definition-in-exported-T…
>>
>> - Converts category names from strings to symbols
>> - Remove unused packages
>>
>> ```
>> delete mode 100644 src/BaselineOfHermes/BaselineOfHermes.class.st
>> delete mode 100644 src/BaselineOfHermes/package.st
>> delete mode 100644 src/Files-Prompt/DummyUIManager.extension.st
>> delete mode 100644
src/Files-Prompt/FileAlreadyExistsException.extension.st
>> delete mode 100644
src/Files-Prompt/FileDoesNotExistException.extension.st
>> delete mode 100644 src/Files-Prompt/MorphicUIManager.extension.st
>> delete mode 100644
src/Files-Prompt/NonInteractiveUIManager.extension.st
>> delete mode 100644 src/Files-Prompt/UIManager.extension.st
>> delete mode 100644 src/Files-Prompt/package.st
>> delete mode 100644 src/FuelPlatform-Pharo-Core/FLPharoPlatform.class.st
>> delete mode 100644 src/FuelPlatform-Pharo-Core/package.st
>> delete mode 100644 src/Hermes-Ring/FiBitsLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiCompiledMethodLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiEphemeronLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiFixedLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiImmediateLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiPointerLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiVariableLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/FiWeakVariableLayout.extension.st
>> delete mode 100644 src/Hermes-Ring/HERingBinder.class.st
>> delete mode 100644 src/Hermes-Ring/HERingToHermesBuilder.class.st
>> delete mode 100644 src/Hermes-Ring/RFiClass.extension.st
>> delete mode 100644 src/Hermes-Ring/RFiEnvironment.extension.st
>> delete mode 100644 src/Hermes-Ring/RFiMethod.extension.st
>> delete mode 100644 src/Hermes-Ring/RFiTrait.extension.st
>> delete mode 100644 src/Hermes-Ring/package.st
>> delete mode 100644
src/Hermes-Tests-External-Package/AClassToBeExtracted.class.st
>> delete mode 100644
src/Hermes-Tests-External-Package/AClassToBeExtractedFactory.class.st
>> delete mode 100644
src/Hermes-Tests-External-Package/HETeSimpleClassWithComplexTraits.extension.st
>> delete mode 100644
src/Hermes-Tests-External-Package/TSimpleTraitToBeExtracted.trait.st
>> delete mode 100644 src/Hermes-Tests-External-Package/package.st
>> delete mode 100644
src/Hermes-Tests/HEAbstractBinaryClassBuilderTest.class.st
>> delete mode 100644 src/Hermes-Tests/HEExportedLiteralTest.class.st
>> delete mode 100644 src/Hermes-Tests/HEExportingClassTest.class.st
>> delete mode 100644 src/Hermes-Tests/HEExportingMethodTest.class.st
>> delete mode 100644
src/Hermes-Tests/HEExportingPackageFromRingTest.class.st
>> delete mode 100644 src/Hermes-Tests/HEExportingPackageTest.class.st
>> delete mode 100644 src/Hermes-Tests/HEExportingTraitTest.class.st
>> delete mode 100644 src/Hermes-Tests/HEInstallWholePackageTest.class.st
>> delete mode 100644 src/Hermes-Tests/HEInstallerTest.class.st
>> delete mode 100644 src/Hermes-Tests/HETeSimpleClass.class.st
>> delete mode 100644
src/Hermes-Tests/HETeSimpleClassWithComplexTraits.class.st
>> delete mode 100644 src/Hermes-Tests/HETeSimpleClassWithTraits.class.st
>> delete mode 100644 src/Hermes-Tests/THEATraitUsingOthers.trait.st
>> delete mode 100644 src/Hermes-Tests/THEOneTestTrait.trait.st
>> delete mode 100644 src/Hermes-Tests/THEOtherTestTrait.trait.st
>> delete mode 100644 src/Hermes-Tests/package.st
>> delete mode 100644 src/Network-Url/package.st
>> delete mode 100644 src/Ring-Navigation/RGMethodDefinition.extension.st
>> delete mode 100644 src/Ring-Navigation/package.st
>> ```
Issue URL: https://pharo.fogbugz.com/f/cases/20628
PR URL: https://github.com/pharo-project/pharo/pull/426
Diff URL: https://github.com/pharo-project/pharo/pull/426/files
Thanks to pavel-krivanek
* 20626-Fixing-Tests-in-CI
>> Fixing some tests related with the refactoring in FileStream.
>>
>> Fixes issue
>>
>> https://pharo.fogbugz.com/f/cases/20626/Fixing-Tests-in-CI
Issue URL: https://pharo.fogbugz.com/f/cases/20626
PR URL: https://github.com/pharo-project/pharo/pull/425
Diff URL: https://github.com/pharo-project/pharo/pull/425/files
Thanks to tesonep
* 20616-Convert-file-format-to-tonel
>> sources converted.
>>
>> closes case 20616
Issue URL: https://pharo.fogbugz.com/f/cases/20616
PR URL: https://github.com/pharo-project/pharo/pull/423
Diff URL: https://github.com/pharo-project/pharo/pull/423/files
Thanks to estebanlm
* 20574-FFITypeArray--annonymousClassCreator-doesnt-handle-pointer-types-correctly
>> fix case #20574
Issue URL: https://pharo.fogbugz.com/f/cases/20574
PR URL: https://github.com/pharo-project/pharo/pull/392
Diff URL: https://github.com/pharo-project/pharo/pull/392/files
Thanks to estebanlm
* 20589-update-iceberg-to-062
>> closes case #20589
Issue URL: https://pharo.fogbugz.com/f/cases/20589
PR URL: https://github.com/pharo-project/pharo/pull/397
Diff URL: https://github.com/pharo-project/pharo/pull/397/files
Thanks to estebanlm
* 17299 sleep longer than a second in the delay scheduler
Issue URL: https://pharo.fogbugz.com/f/cases/17299 sleep longer
than a second in the delay scheduler
PR URL: https://github.com/pharo-project/pharo/pull/197
Diff URL: https://github.com/pharo-project/pharo/pull/197/files
Thanks to zecke
* 20599 make kernel independent of deprecated file stream
>> This PR introduces the following changes:
>> - Extracted file creation for st and cs files into CodeExporter class
>> - removed usages of StandardFileStream and MultiByteFileStream
>> - Modularised StandardFileStream>>defaultAction to be in a
separate package (depends on UI)
Issue URL: https://pharo.fogbugz.com/f/cases/20599 make kernel
independent of deprecated file stream
PR URL: https://github.com/pharo-project/pharo/pull/415
Diff URL: https://github.com/pharo-project/pharo/pull/415/files
Thanks to guillep
* 20155-Browse-implementers-of-in-Nautilus-doesnt-parse-source-code-properly-for-methods-in-a-block
>> Fixes 20155 using a modificaton of teh code in the Bug report.
The second commit removes what appears to be dead code; if this one
casues trouble, it oculd be dropped. (Since the removed methods send
unimplemented messages, they are unlikely to help!)
Issue URL: https://pharo.fogbugz.com/f/cases/20155
PR URL: https://github.com/pharo-project/pharo/pull/410
Diff URL: https://github.com/pharo-project/pharo/pull/410/files
Thanks to apblack
* 20609-defaultBackgroundColor-should-be-removed-from-Object
>> move defaultBackgroundColor from Object to Morph
Issue URL: https://pharo.fogbugz.com/f/cases/20609
PR URL: https://github.com/pharo-project/pharo/pull/414
Diff URL: https://github.com/pharo-project/pharo/pull/414/files
Thanks to dionisiydk
* 20577-Cleanup-Object-inspection-protocol
>> replace #explore users with #inspect.
>> move inspectorClass and Object>>inspector into Spec-Inspector
>> Object>>explore is deprecated
Issue URL: https://pharo.fogbugz.com/f/cases/20577
PR URL: https://github.com/pharo-project/pharo/pull/413
Diff URL: https://github.com/pharo-project/pharo/pull/413/files
Thanks to dionisiydk
* 18391-Debugger must guard against actions on process termination
>> added guards so the debugger doesn't send stepping messages to
nil contexts. (This was the cause of the freezing because it would
loop until the context was dead).
>>
>> Now the debugger closes when we are stepping out of a
'terminal' context instead of showing a 'nil doesNotUnderstand:
isDead' exception. (It notifiies the user through an inform that the
debugging session is finished)
Issue URL: https://pharo.fogbugz.com/f/cases/18391
PR URL: https://github.com/pharo-project/pharo/pull/409
Diff URL: https://github.com/pharo-project/pharo/pull/409/files
Thanks to Marmat21
* 20576-add-simplified-DADependenciesHTMLPublisher
>> https://pharo.fogbugz.com/f/cases/20576/add-simplified-DADependenciesHTMLPu…
>>
>> add DADependenciesHTMLPublisher from
Tool-DependencyAnalyser-HTMLReport-ChristopheDemarey.1.mcz
Issue URL: https://pharo.fogbugz.com/f/cases/20576
PR URL: https://github.com/pharo-project/pharo/pull/388
Diff URL: https://github.com/pharo-project/pharo/pull/388/files
Thanks to pavel-krivanek
* 20547-missing-assertidenticalTo-and-denyidenticalTo-object-identity-equality
>> https://pharo.fogbugz.com/f/cases/20547/missing-assert-identicalTo-and-deny…
>>
>> add assert:identicalTo: and deny:identicalTo:
Issue URL: https://pharo.fogbugz.com/f/cases/20547
PR URL: https://github.com/pharo-project/pharo/pull/368
Diff URL: https://github.com/pharo-project/pharo/pull/368/files
Thanks to pavel-krivanek
* 20604-Metacello-Platform-is-dependent-on-Metacello-Bitbucket
>> https://pharo.fogbugz.com/f/cases/20604/Metacello-Platform-is-dependent-on-…
Issue URL: https://pharo.fogbugz.com/f/cases/20604
PR URL: https://github.com/pharo-project/pharo/pull/406
Diff URL: https://github.com/pharo-project/pharo/pull/406/files
Thanks to pavel-krivanek
* 20615-add-packages-for-MetacelloCommandLineHander-into-baselines
>> https://pharo.fogbugz.com/f/cases/20615/add-packages-for-MetacelloCommandLi…
Issue URL: https://pharo.fogbugz.com/f/cases/20615
PR URL: https://github.com/pharo-project/pharo/pull/421
Diff URL: https://github.com/pharo-project/pharo/pull/421/files
Thanks to pavel-krivanek
* 20581-Manually-resolved-dependencies-in-manifests-need-update
>> https://pharo.fogbugz.com/f/cases/20581/Manually-resolved-dependencies-in-m…
>>
>> update manually resolved dependencies
Issue URL: https://pharo.fogbugz.com/f/cases/20581
PR URL: https://github.com/pharo-project/pharo/pull/391
Diff URL: https://github.com/pharo-project/pharo/pull/391/files
Thanks to pavel-krivanek
* 12160-Should-we-move-asUrl-to-Zinc-package
>> https://pharo.fogbugz.com/f/cases/12160/Should-we-move-asUrl-to-Zinc-package
Issue URL: https://pharo.fogbugz.com/f/cases/12160
PR URL: https://github.com/pharo-project/pharo/pull/418
Diff URL: https://github.com/pharo-project/pharo/pull/418/files
Thanks to pavel-krivanek
* 20584-SortFunction-should-not-use-block-in-collator
>> SortFunction is now abstract. It is refactored and splitted on
two extra subclasses:
>> SortByPropertyFunction to collate objects using property
defined by selector or one arg block.
>> PluggableSortFunction represents collator using two args block.
>>
>>
>> So subclasses implement single method #threeWayCompare:with:
where they define own collarion logic independently from specified
direction.
>> Old method #collate:with is now main method which taks into
account three way comparison and direction. Subclasses do not supposed
to redefine it.
>> And #value:value: method just convert collation result into
the bool (returns is it negative or not).
>> All functions implements #= and #hash methods. So selector
based functions can be used in application caches.
>> Also now applications are able to implement own sort functions
instead of using selectors or blocks which improves reusability.
Issue URL: https://pharo.fogbugz.com/f/cases/20584
PR URL: https://github.com/pharo-project/pharo/pull/412
Diff URL: https://github.com/pharo-project/pharo/pull/412/files
Thanks to dionisiydk
* 20602 file locator local directory should be inside image directory
>> UserLocalDirectory should be placed in imageDirectory by default.
>>
>> https://pharo.fogbugz.com/f/cases/20602/FileLocator-localDirectory-should-b…
Issue URL: https://pharo.fogbugz.com/f/cases/20602 file locator
local directory should be inside image directory
PR URL: https://github.com/pharo-project/pharo/pull/419
Diff URL: https://github.com/pharo-project/pharo/pull/419/files
Thanks to dionisiydk
* 20613-Improve-some-UUID-comments
>> Improve some UUID comments
Issue URL: https://pharo.fogbugz.com/f/cases/20613
PR URL: https://github.com/pharo-project/pharo/pull/420
Diff URL: https://github.com/pharo-project/pharo/pull/420/files
Thanks to svenvc
* 20598 update configuration command line handler to use metacello
>> A first implementation of a CommandLineHandler for Metacello.
>>
>> It provides the ability to install projects using
Configuration or Baseline.
>>
>> It comes with unit tests.
>>
>> After a discussion with @Ducasse , the
ConfigurationCommandLineHandler was not modified in order to not break
scripts using it. It should be deprecated once this handler provides
enough features.
Issue URL: https://pharo.fogbugz.com/f/cases/20598 update
configuration command line handler to use metacello
PR URL: https://github.com/pharo-project/pharo/pull/416
Diff URL: https://github.com/pharo-project/pharo/pull/416/files
Thanks to juliendelplanque
* 20610-Class-comments-displaying-is-failing-
>> https://pharo.fogbugz.com/f/cases/20610/Class-comments-displaying-is-failing
>>
>> fix RubCommentAnnotationDisplayer>>#fontToUse
Issue URL: https://pharo.fogbugz.com/f/cases/20610
PR URL: https://github.com/pharo-project/pharo/pull/417
Diff URL: https://github.com/pharo-project/pharo/pull/417/files
Thanks to pavel-krivanek
* 20592-SizeInMemory-is-not-updated-to-handle-32-and-64-bits-for-WordLayout
>> Fixing sizeInMemory to handle properly WordLayout objects.
>> Also fixing the tests to handle both 32 and 64 bits.
Issue URL: https://pharo.fogbugz.com/f/cases/20592
PR URL: https://github.com/pharo-project/pharo/pull/400
Diff URL: https://github.com/pharo-project/pharo/pull/400/files
Thanks to tesonep
* 20587-remove-UIThemeWatery
>> https://pharo.fogbugz.com/f/cases/20587-remove-UIThemeWatery
Issue URL: https://pharo.fogbugz.com/f/cases/20587
PR URL: https://github.com/pharo-project/pharo/pull/395
Diff URL: https://github.com/pharo-project/pharo/pull/395/files
Thanks to pavel-krivanek
* 20551-Improve-way-how-Spec-presenters-are-linked-with-domain-models
>> https://pharo.fogbugz.com/f/cases/20551/Improve-way-how-Spec-presenters-are…
Issue URL: https://pharo.fogbugz.com/f/cases/20551
PR URL: https://github.com/pharo-project/pharo/pull/374
Diff URL: https://github.com/pharo-project/pharo/pull/374/files
Thanks to pavel-krivanek
* 20600 rename opal compiler encoder from opal encoder to encoder
>> This can be tested through a boostrap, or by using this do it
instead of loading the changes:
>> OpalEncoder withAllSubclassesDo: [ :sub | sub rename: (sub
name allButFirst: 4)].
>>
>> This cannot be tested through merge (Changes in the kernel).
Issue URL: https://pharo.fogbugz.com/f/cases/20600 rename opal
compiler encoder from opal encoder to encoder
PR URL: https://github.com/pharo-project/pharo/pull/404
Diff URL: https://github.com/pharo-project/pharo/pull/404/files
Thanks to clementbera
* 19609-FileReferencebase-should-be-before-last-separator
>> https://pharo.fogbugz.com/f/cases/19609/FileReference-base-should-be-before…
Issue URL: https://pharo.fogbugz.com/f/cases/19609
PR URL: https://github.com/pharo-project/pharo/pull/137
Diff URL: https://github.com/pharo-project/pharo/pull/137/files
Thanks to pavel-krivanek
* 19746-WeakValueDictionary-has-counter-intuitive-behavior
>> https://pharo.fogbugz.com/f/cases/19746/WeakValueDictionary-has-counter-int…
Issue URL: https://pharo.fogbugz.com/f/cases/19746
PR URL: https://github.com/pharo-project/pharo/pull/140
Diff URL: https://github.com/pharo-project/pharo/pull/140/files
Thanks to pavel-krivanek
* 20606-AlienSunitperformTest-is-failing
>> https://pharo.fogbugz.com/f/cases/20606/AlienSunit-performTest-is-failing
>>
>> ignore prefix
Issue URL: https://pharo.fogbugz.com/f/cases/20606
PR URL: https://github.com/pharo-project/pharo/pull/408
Diff URL: https://github.com/pharo-project/pharo/pull/408/files
Thanks to pavel-krivanek
* 20595-The-Bootstrap-process-should-log-the-command-line-command-executed
>> Adding the trace option to the bash scripts
Issue URL: https://pharo.fogbugz.com/f/cases/20595
PR URL: https://github.com/pharo-project/pharo/pull/402
Diff URL: https://github.com/pharo-project/pharo/pull/402/files
Thanks to tesonep
* 20537 Better class tagging in package ProfStef-Tests-Traits
>> - add some tags like "Mocks", "Traits" and "Tests" to the
package "ProfStef-Tests-Traits"
>> and move the classes into them so we better group them for browsing
>>
>> https://pharo.fogbugz.com/f/cases/20537/Better-class-tagging-in-package-Pro…
Issue URL: https://pharo.fogbugz.com/f/cases/20537 Better class
tagging in package ProfStef
PR URL: https://github.com/pharo-project/pharo/pull/359
Diff URL: https://github.com/pharo-project/pharo/pull/359/files
Thanks to astares
* 20597 Rename-old-Compiler-encoder-to-LegacyEncoders
>> ⦠Encoders (aka the OpalEncoders) to be named Encoder, and the
old compiler encoder nobody use to be called whatever people want (I
name them legacyEncoder).
>>
>> Since EncoderForLongForV3 has never worked, and
EncoderForSistaV1 is not compliant with the old compiler version
present in Pharo, I also remove them.
Issue URL: https://pharo.fogbugz.com/f/cases/20597 Rename
PR URL: https://github.com/pharo-project/pharo/pull/403
Diff URL: https://github.com/pharo-project/pharo/pull/403/files
Thanks to clementbera
* 20578-add-BaselineOfMonticello-and-BaselineOfMetacello
>> https://pharo.fogbugz.com/f/cases/20578/add-BaselineOfMonticello-and-Baseli…
>>
>> - add package Metacello-PharoExtensions
>> - move class side utility methods from
BaselineOfPharoBootstrap there for general use
>> - add BaselineOfMonticello
>> - add BaselineOfMetacello
>> - list them in BaselineOfIDE to have them in the image
Issue URL: https://pharo.fogbugz.com/f/cases/20578
PR URL: https://github.com/pharo-project/pharo/pull/389
Diff URL: https://github.com/pharo-project/pharo/pull/389/files
Thanks to pavel-krivanek
* 20583-introduce-system-dependencies-test
>> https://pharo.fogbugz.com/f/cases/20583/introduce-system-dependencies-test
>>
>> introduce SystemDependenciesTest
Issue URL: https://pharo.fogbugz.com/f/cases/20583
PR URL: https://github.com/pharo-project/pharo/pull/393
Diff URL: https://github.com/pharo-project/pharo/pull/393/files
Thanks to pavel-krivanek
* [Bug]: Fix Issue 16136 - DateModel: Handle nil Sanely
>> I've been using this fix in production for two years, so it
should be relatively reliable
Issue URL: https://pharo.fogbugz.com/f/cases/[Bug]: Fix Issue 16136
PR URL: https://github.com/pharo-project/pharo/pull/394
Diff URL: https://github.com/pharo-project/pharo/pull/394/files
Thanks to seandenigris
* 20567-Instance-side-LayoutFramefractions-fractionsOrNil-offsets-should-be-deprecated
>> Fixed all the missing users and deprecate these methods!!!
Issue URL: https://pharo.fogbugz.com/f/cases/20567
PR URL: https://github.com/pharo-project/pharo/pull/386
Diff URL: https://github.com/pharo-project/pharo/pull/386/files
Thanks to Ducasse
* 20596-Zinc-should-not-use-asBytesDescription-as-it-is-deprecated
>> Zinc is using #asBytesDescription. It should not be used as it
is deprecated.
>> This error is affecting all the users of Zinc. Ex: Smalltalk CI
Issue URL: https://pharo.fogbugz.com/f/cases/20596
PR URL: https://github.com/pharo-project/pharo/pull/401
Diff URL: https://github.com/pharo-project/pharo/pull/401/files
Thanks to tesonep
* 20026-Diff-has-incorrect-positions-red-and-green-colors-of-changed-text
>> The patch difference should have the cr character. If the
patch has multiple lines and it does not have the CR, the resulting
highlight is shifted a character per line.
>>
>> Issue: [https://pharo.fogbugz.com/f/cases/resolve/20026/Diff-has-incorrect-position…
Issue URL: https://pharo.fogbugz.com/f/cases/20026
PR URL: https://github.com/pharo-project/pharo/pull/396
Diff URL: https://github.com/pharo-project/pharo/pull/396/files
Thanks to tesonep
* 20569-Update-Layout-class-comment
>> better class comment
Issue URL: https://pharo.fogbugz.com/f/cases/20569
PR URL: https://github.com/pharo-project/pharo/pull/385
Diff URL: https://github.com/pharo-project/pharo/pull/385/files
Thanks to Ducasse
* 20557-Update-Zinc-and-Zodiac
>> https://pharo.fogbugz.com/f/cases/20557/Update-Zinc-and-Zodiac
>>
>> merge packages:
>> Zodiac-Tests-SvenVanCaekenberghe.18
>> Zinc-Character-Encoding-Core-SvenVanCaekenberghe.54
>> Zinc-Character-Encoding-Tests-SvenVanCaekenberghe.35
>> Zinc-HTTP-SvenVanCaekenberghe.469
>> Zinc-Resource-Meta-Core-SvenVanCaekenberghe.65
>> Zinc-Resource-Meta-Tests-SvenVanCaekenberghe.38
>> Zinc-Tests-SvenVanCaekenberghe.243
>> Zinc-Zodiac-SvenVanCaekenberghe.40
Issue URL: https://pharo.fogbugz.com/f/cases/20557
PR URL: https://github.com/pharo-project/pharo/pull/379
Diff URL: https://github.com/pharo-project/pharo/pull/379/files
Thanks to pavel-krivanek
* 20580-ValueChanged-should-be-moved-to-System-Model
>> https://pharo.fogbugz.com/f/cases/20580/ValueChanged-should-be-moved-to-Sys…
>>
>> move ValueChanged to the package System-Model
Issue URL: https://pharo.fogbugz.com/f/cases/20580
PR URL: https://github.com/pharo-project/pharo/pull/390
Diff URL: https://github.com/pharo-project/pharo/pull/390/files
Thanks to pavel-krivanek
* 20575-TextMorph-cannot-work-without-code-completion-temporary-solution
>> https://pharo.fogbugz.com/f/cases/20575/TextMorph-cannot-work-without-code-…
>>
>> safer access to code completion
Issue URL: https://pharo.fogbugz.com/f/cases/20575
PR URL: https://github.com/pharo-project/pharo/pull/387
Diff URL: https://github.com/pharo-project/pharo/pull/387/files
Thanks to pavel-krivanek
* 20573-BaselineOfMorphic-should-include-System-Identification
>> https://pharo.fogbugz.com/f/cases/20573/BaselineOfMorphic-should-include-Sy…
>>
>> move System-Identification to the BaselineOfMorphic
Issue URL: https://pharo.fogbugz.com/f/cases/20573
PR URL: https://github.com/pharo-project/pharo/pull/384
Diff URL: https://github.com/pharo-project/pharo/pull/384/files
Thanks to pavel-krivanek
* 20546-There-is-no-denyequals-method-in-TestCase-
>> https://pharo.fogbugz.com/f/cases/20546
>>
>> - simulate TAssertable flattening
>> - use different unexpected equality error message
>> - add denyCollection:equals:
Issue URL: https://pharo.fogbugz.com/f/cases/20546
PR URL: https://github.com/pharo-project/pharo/pull/366
Diff URL: https://github.com/pharo-project/pharo/pull/366/files
Thanks to pavel-krivanek
* 20560-Fix-instance-veriables-for-Spec-presenters-ending-with--model
>> https://pharo.fogbugz.com/f/cases/20560/Fix-instance-veriables-for-Spec-pre…
>>
>> fix some presenters instance veriables with wrong names
Issue URL: https://pharo.fogbugz.com/f/cases/20560
PR URL: https://github.com/pharo-project/pharo/pull/381
Diff URL: https://github.com/pharo-project/pharo/pull/381/files
Thanks to pavel-krivanek
* 20564-Spec-Core-must-be-Morphic-independent
>> https://pharo.fogbugz.com/f/cases/20564/Spec-Core-must-be-Morphic-independe…
Issue URL: https://pharo.fogbugz.com/f/cases/20564
PR URL: https://github.com/pharo-project/pharo/pull/383
Diff URL: https://github.com/pharo-project/pharo/pull/383/files
Thanks to pavel-krivanek
Nov. 5, 2017
About Collator
by Stephane Ducasse
Hi guys
Why do we rename class Sort to introduce terms that have unknown,
unclear, undocumented meaning?
To me PluggableSortFunction is MUCH better than CollatorBlockFunction.
Stef
Nov. 5, 2017
Re: [Pharo-dev] about SortFunctions
by Stephane Ducasse
Hi nicolas
> With current implementation, collatedInFrench would have to use a block
> (thru a CollatorBlockFunction which is a proxy to the block in a
> SortFunction disguise):
>
> Symbol>>collatedInFrench
> "interpret self as a property"
> ^[:a :b | FrenchCollator collate: (self value: a) with: (self value:
> b)]
>
> But IMO SortByPropertyFunction should better feed a reified
> CollatorFunction, or said differently a SortFunction, as Denis said.
(I should say that I do not like collator as a name. It does not mean
anything to me.)
Now in general I think that we are abusing blocks like in Glamour
(because we want compact syntax).
My rule of thumb to compare little class vs. block is
- do we have optional state?
- do we have many arguments (where we have to learn by heart the order)?
> Symbol>>collatedInFrench
> ^FrenchCollator new onProperty: self
>
> SortFunction>>onProperty: aValuable
> ^SortByPropertyFunction sortProperty: aValuable with: self
>
> What do you think?
>
> Nicolas
>
Nov. 5, 2017
Re: [Pharo-dev] about SortFunctions
by Stephane Ducasse
>
> With current implementation, collatedInFrench would have to use a block
> (thru a CollatorBlockFunction which is a proxy to the block in a
> SortFunction disguise):
>
> Symbol>>collatedInFrench
> "interpret self as a property"
> ^[:a :b | FrenchCollator collate: (self value: a) with: (self value:
> b)]
>
> But IMO SortByPropertyFunction should better feed a reified
> CollatorFunction, or said differently a SortFunction, as Denis said.
>
> Symbol>>collatedInFrench
> ^FrenchCollator new onProperty: self
>
> SortFunction>>onProperty: aValuable
> ^SortByPropertyFunction sortProperty: aValuable with: self
>
> What do you think?
>
> Nicolas
>
Nov. 5, 2017
Re: [Pharo-dev] about SortFunctions
by Stephane Ducasse
I have no idea what is a collation and the class comments does not really help.
On Sun, Nov 5, 2017 at 12:56 AM, Nicolas Cellier
<nicolas.cellier.aka.nice(a)gmail.com> wrote:
>
>
> 2017-11-05 0:37 GMT+01:00 Nicolas Cellier
> <nicolas.cellier.aka.nice(a)gmail.com>:
>>
>> Hi all,
>> I started a discussion with Denis in a pull request
>> https://github.com/pharo-project/pharo/pull/430
>> But since it's going beyond simple code review, it probably has a better
>> place here.
>>
>> First, I want to say thanks for enriching this original work of Travis
>> Griggs.
>> http://objology.blogspot.fr/2010/11/tag-sortfunctions-redux.html
>> http://objology.blogspot.fr/2010/11/tag-sortfunctions.html
>>
>> Of course, I'm never satisfied.
>> So I don't really appreciate the rewrite of space ship operator <=> into a
>> more heavy threeWayCompareTo:
>>
>> In my eyes, it's so obvious that <=> means < or = or > in the context of
>> SortFunction
>> And also that the order matches the signs
>> < = >
>> -1 0 1
>> IOW result will be -1 if receiver is <, 0 if equal, +1 if superior
>>
>> #threeWayCompareTo: does not tell as well.
>> But maybe It's a question of taste and I don't have the same eyes as Pharo
>> people?
>> To me it's also a question of respect to the original author, don't change
>> a good selector for the sake of changing.
>>
>> Apart this detail, I wanted to speak about SortByPropertyFunction.
>> SortByProperty is super usefull for composing / chaining like this:
>>
>> population sortBy: #name ascending , #age descending.
>>
>> But currently, SortByPropertyFunction is allways using the default
>> hardcoded collation <=> ... He he, it's also notice it's shorter to write ;)
>>
>> Imagine that my properties are neither String nor Magnitude, or they are,
>> but I want a different collation policy, because in French $é must not be
>> sorted too far from $e.
>>
>> It could be written quite simply with:
>>
>> c sortBy: #name collatedInFrench ascending , #age descending
>>
>> With current implementation, collatedInFrench would have to use a block
>> (thru a CollatorBlockFunction which is a proxy to the block in a
>> SortFunction disguise):
>>
>> Symbol>>collatedInFrench
>> "interpret self as a property"
>> ^[:a :b | FrenchCollator collate: (self value: a) with: (self
>> value: b)]
>>
>> But IMO SortByPropertyFunction should better feed a reified
>> CollatorFunction, or said differently a SortFunction, as Denis said.
>>
>> Symbol>>collatedInFrench
>> ^FrenchCollator new onProperty: self
>>
>> SortFunction>>onProperty: aValuable
>> ^SortByPropertyFunction sortProperty: aValuable with: self
>>
>> What do you think?
>>
>> Nicolas
>>
>
> Also, by reading
> https://github.com/pharo-project/pharo/blob/cf0b77a3d0babf9b09bcec9926e5a5f…
> it's now obvious to me that we should simply use an UndefinedCollator
> wrapper if ever we want to sort undefined properties first or last.
>
> We should better work with composition rather than complexifying each class.
>
> SortFunction>>undefinedFirst
> ^UndefinedSorter ascending , self
>
> UndefinedSorter>> collate: value1 with: value2
> "sort all nil according to the direction (first if -1, last if +1),
> then"
> value1 ifNil: [value2 ifNil: [^0] ifNotNil: [^direction]].
> value2 ifNil: [^direction negated] ifNotNil: [^0]].
>
>
Nov. 5, 2017
Re: [Pharo-dev] about SortFunctions
by Nicolas Cellier
2017-11-05 0:37 GMT+01:00 Nicolas Cellier <
nicolas.cellier.aka.nice(a)gmail.com>:
> Hi all,
> I started a discussion with Denis in a pull request
> https://github.com/pharo-project/pharo/pull/430
> But since it's going beyond simple code review, it probably has a better
> place here.
>
> First, I want to say thanks for enriching this original work of Travis
> Griggs.
> http://objology.blogspot.fr/2010/11/tag-sortfunctions-redux.html
> http://objology.blogspot.fr/2010/11/tag-sortfunctions.html
> <http://objology.blogspot.fr/2010/11/tag-sortfunctions-redux.html>
>
> Of course, I'm never satisfied.
> So I don't really appreciate the rewrite of space ship operator <=> into a
> more heavy threeWayCompareTo:
>
> In my eyes, it's so obvious that <=> means < or = or > in the context of
> SortFunction
> And also that the order matches the signs
> < = >
> -1 0 1
> IOW result will be -1 if receiver is <, 0 if equal, +1 if superior
>
> #threeWayCompareTo: does not tell as well.
> But maybe It's a question of taste and I don't have the same eyes as Pharo
> people?
> To me it's also a question of respect to the original author, don't change
> a good selector for the sake of changing.
>
> Apart this detail, I wanted to speak about SortByPropertyFunction.
> SortByProperty is super usefull for composing / chaining like this:
>
> population sortBy: #name ascending , #age descending.
>
> But currently, SortByPropertyFunction is allways using the default
> hardcoded collation <=> ... He he, it's also notice it's shorter to write ;)
>
> Imagine that my properties are neither String nor Magnitude, or they are,
> but I want a different collation policy, because in French $é must not be
> sorted too far from $e.
>
> It could be written quite simply with:
>
> c sortBy: #name collatedInFrench ascending , #age descending
>
> With current implementation, collatedInFrench would have to use a block
> (thru a CollatorBlockFunction which is a proxy to the block in a
> SortFunction disguise):
>
> Symbol>>collatedInFrench
> "interpret self as a property"
> ^[:a :b | FrenchCollator collate: (self value: a) with: (self
> value: b)]
>
> But IMO SortByPropertyFunction should better feed a reified
> CollatorFunction, or said differently a SortFunction, as Denis said.
>
> Symbol>>collatedInFrench
> ^FrenchCollator new onProperty: self
>
> SortFunction>>onProperty: aValuable
> ^SortByPropertyFunction sortProperty: aValuable with: self
>
> What do you think?
>
> Nicolas
>
>
Also, by reading
https://github.com/pharo-project/pharo/blob/cf0b77a3d0babf9b09bcec9926e5a5f…
it's now obvious to me that we should simply use an UndefinedCollator
wrapper if ever we want to sort undefined properties first or last.
We should better work with composition rather than complexifying each class.
SortFunction>>undefinedFirst
^UndefinedSorter ascending , self
UndefinedSorter>> collate: value1 with: value2
"sort all nil according to the direction (first if -1, last if +1),
then"
value1 ifNil: [value2 ifNil: [^0] ifNotNil: [^direction]].
value2 ifNil: [^direction negated] ifNotNil: [^0]].
Nov. 4, 2017