Pharo-users
By thread
pharo-users@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
November 2017
- 87 participants
- 872 messages
Re: [Pharo-users] I love the launcher!!!!
by Herby VojÄÃk
Stephane Ducasse wrote:
> Hi
>
> I love the PharoLauncher.
Pardon my question, I have downloaded it and looked at it, but I don't
get it. What does it do / what are the use cases (honest question)?
Thanks, Herby
> It helps me to manage my parallel development and projects.
>
> We should put a link on the Pharo web site because
>
> http://files.pharo.org/platform/launcher/
>
> is arcane.
>
> Stef
>
Nov. 23, 2017
Re: [Pharo-users] Business process (declaration and orchestration), ontology/taxonomy,
by Serge Stinckwich
On Wed, Oct 25, 2017 at 1:48 PM, Cédrick Béler <cdrick65(a)gmail.com> wrote:
> Hi again, this is my last question and the more general one of the day :-)
>
>
> Iâm looking for way of representing and executing simple "business
> processes" in Pharo and a way of declaring domain ontologies/taxonomies.
>
âSorry, I'm a bit slow to reply ... I have worked some months ago with a
student on some support of BPMN processes.
We are able to load BPMN models (XML files) and do some basic static
analysis based on complexity metrics and dynamic analysis on different kind
of simulations (including multi-agent ones). There is more details on the
website here: http://a4bp.com/
I would be very interested to work again on this.
âRegards,â
--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC/UY1)
"Programs must be written for people to read, and only incidentally for
machines to execute."http://www.doesnotunderstand.org/
Nov. 23, 2017
Re: [Pharo-users] Short report about Pharo experience
by Dimitris Chloupis
Hans, feedback is probably one of the most crucial elements in improving
software. So not only classifies as help in my book its up there on top.
Improvement for the shake of improvement is just pointless. Feedback helps
show a common path that can keep users as happy as possible.
Also note that we all express our own opinions here, none represents Pharo.
At no point should you keep quite and not participate in the discussion. We
are humans, not robots. Disagreement is part of the game and frankly this
community in my 5 years being around has been more than welcomed to me and
many others. I know because I tend to ask many stupid questions :D
Plus the points you already discussed have already mentioned by many other
people, so clearly there is a desire for improvement there.
What Stef probably means is that he agrees with you and that the problem is
not disagreement but rather that we do lack contributors to push those
things forward. Which frankly I do not blame him, because he already has
lifted by himself the vast majority of the documentation of Pharo. I used
to be far more active, but alas I cannot be as active contributor to
documentation as I used to.
You are correct, there are glaring issues with Pharo, especially the way we
expose the amazing set of features that Pharo has for customisability but
then Stef is correct as well in that in the end it comes down to who is
willing to contribute. That does not mean we do not appreciate feedback,
its definitely very important. Code and documentation contribution is more
important though.
On Thu, Nov 23, 2017 at 12:54 PM Hans <hnbeck(a)educational-concepts.biz>
wrote:
> Hi Stef,
>
> my post is intended as feedback. Action is a different thing. Feedback may
> help to indentify useful actions. In this sense, I thought feed back is
> help, too. May be I'm wrong.
>
> If you thing feed back is useless and without value, and only "action"
> counts, then is this your opinion. Then I'll take my actions (which are
> there, I develop on TeaPot, as you could read) and be quiet. Full Stop.
>
> Hans
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
Nov. 23, 2017
Re: [Pharo-users] Travis build failing because of bad CRC
by Norbert Hartl
> Am 23.11.2017 um 11:39 schrieb Christophe Demarey <christophe.demarey(a)inria.fr>:
>
> Hi Norbert,
>
> I understand your point of view that others probably share.
> I also agree the situation is very bad: Inria took too much time to investigate the problem and now, renater also â¦
> The question is: would it be really better outside Inria? Maybe ... maybe not â¦
Maybe that is the point. It is not a question if it works better outside because it will. The problem we have is so serious that it will be hard to find elsewhere. I can only repeat: It is not the download that fails which TCP wise means that exactly the thing is downloaded that inria offered. So something below the web server is broken and most probably they have a corrupt storage solution meaning only if you give it broken to the web server the broken thing can be transported in a sane manner.
We cannot rely on such broken things so we need another solution even if it is temporary.
So no question.
Norbert
> Anyway, there is still an incident open at renater and gtt. My contact will push today to see if we can have an solution soon
>
>> Le 23 nov. 2017 à 10:19, Norbert Hartl <norbert(a)hartl.name> a écrit :
>>
>> Christophe,
>>
>>> Am 23.11.2017 um 09:33 schrieb Christophe Demarey <Christophe.Demarey(a)inria.fr>:
>>>
>>>
>>>> Le 23 nov. 2017 à 09:08, Marcus Denker <marcus.denker(a)inria.fr> a écrit :
>>>>
>>>> We need to exit Inria and do our own infrastructure.
>>>
>>> Marcus, could you elaborate? Why do we need to exit Inria?
>>> Do you have money to pay the infrastructure? Inria provides it for free for the Pharo consortium.
>>> Of course, the problem is super annoying but the problem is not directly related to Inria. It is related to Renater (national research and education network in France), the network Inria is connected to. An incident is open there. I still have no feedback, so cannot say why it takes so much time to solve the problem.
>>
>> your view might be too technical here. Aren't you the one that does Cargo so dependencies are well known to you? ;)
>> The point is that it just does not work and it doesn't matter whose fault this is. The point is that it is there for a long time and nobody way able to fix it. Everyone including you is working so hard on the future for pharo. But this behaviour is like a slap in the face of everyone working for pharo. You drive away newcomers and people that would like to work with pharo. It is not possible to download an image or vm or something from smalltalkhub reliably.
>> If this is not fully clear let me tell you what I did yesteray. I resurrected an older project and ported it pharo6. In order to download the image I had the execute the curl command 6 times in a row and another two times to get a vm. Then I tried loading the project with metacello and get a debugger because the downloaded archive is corrupt. I need to open the full debugger to see which file it is. Then I need to remove the corrupt file from the package-cache and restart. And yesterdayI had to do this more then 30 (!!!) times until I could load the full project.
>>
>> I think it is completely out of question to wait until is able to fix it. And if the money of the consortium is not enough to pay such a service then we need to put in some more. I'm all ears!
>>
>> Norbert
>>
Nov. 23, 2017
Re: [Pharo-users] Short report about Pharo experience
by H. Hirzel
On 11/23/17, Hans <hnbeck(a)educational-concepts.biz> wrote:
> Hi Stef,
>
> my post is intended as feedback. Action is a different thing. Feedback may
> help to indentify useful actions. In this sense, I thought feed back is
> help, too. May be I'm wrong.
>
> If you thing feed back is useless and without value, and only "action"
> counts, then is this your opinion. Then I'll take my actions (which are
> there, I develop on TeaPot, as you could read)
Hello Hans
You write
"With Shiny in mind, Iâm working with Teapot on Pharo"
This is interesting.
could you please elaborate on this, probably in a new thread?
--Hannes
and be quiet. Full Stop.
>
> Hans
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
Nov. 23, 2017
Re: [Pharo-users] Short report about Pharo experience
by Hans
Hi Stef,
my post is intended as feedback. Action is a different thing. Feedback may
help to indentify useful actions. In this sense, I thought feed back is
help, too. May be I'm wrong.
If you thing feed back is useless and without value, and only "action"
counts, then is this your opinion. Then I'll take my actions (which are
there, I develop on TeaPot, as you could read) and be quiet. Full Stop.
Hans
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Nov. 23, 2017
Re: [Pharo-users] Travis build failing because of bad CRC
by Christophe Demarey
Hi Norbert,
I understand your point of view that others probably share.
I also agree the situation is very bad: Inria took too much time to investigate the problem and now, renater also â¦
The question is: would it be really better outside Inria? Maybe ... maybe not â¦
Anyway, there is still an incident open at renater and gtt. My contact will push today to see if we can have an solution soon
> Le 23 nov. 2017 à 10:19, Norbert Hartl <norbert(a)hartl.name> a écrit :
>
> Christophe,
>
>> Am 23.11.2017 um 09:33 schrieb Christophe Demarey <Christophe.Demarey(a)inria.fr>:
>>
>>
>>> Le 23 nov. 2017 à 09:08, Marcus Denker <marcus.denker(a)inria.fr> a écrit :
>>>
>>> We need to exit Inria and do our own infrastructure.
>>
>> Marcus, could you elaborate? Why do we need to exit Inria?
>> Do you have money to pay the infrastructure? Inria provides it for free for the Pharo consortium.
>> Of course, the problem is super annoying but the problem is not directly related to Inria. It is related to Renater (national research and education network in France), the network Inria is connected to. An incident is open there. I still have no feedback, so cannot say why it takes so much time to solve the problem.
>
> your view might be too technical here. Aren't you the one that does Cargo so dependencies are well known to you? ;)
> The point is that it just does not work and it doesn't matter whose fault this is. The point is that it is there for a long time and nobody way able to fix it. Everyone including you is working so hard on the future for pharo. But this behaviour is like a slap in the face of everyone working for pharo. You drive away newcomers and people that would like to work with pharo. It is not possible to download an image or vm or something from smalltalkhub reliably.
> If this is not fully clear let me tell you what I did yesteray. I resurrected an older project and ported it pharo6. In order to download the image I had the execute the curl command 6 times in a row and another two times to get a vm. Then I tried loading the project with metacello and get a debugger because the downloaded archive is corrupt. I need to open the full debugger to see which file it is. Then I need to remove the corrupt file from the package-cache and restart. And yesterdayI had to do this more then 30 (!!!) times until I could load the full project.
>
> I think it is completely out of question to wait until is able to fix it. And if the money of the consortium is not enough to pay such a service then we need to put in some more. I'm all ears!
>
> Norbert
>
Nov. 23, 2017
Re: [Pharo-users] Short report about Pharo experience
by Dimitris Chloupis
Me ?
I donât follow you, I am a member of this community since 2011 with active
contributions to documentation, tutorials , promotion and improvement of
Pharo.
Much less now days because I am busy but still around offering advice and
answers in mailing list and managing the Discord server. Does not that
count as action ?
On Thu, 23 Nov 2017 at 12:16, Stephane Ducasse <stepharo.self(a)gmail.com>
wrote:
> My question is then the following:
> How do you help?
> There is no little action. Any action is an action.
> And all together we get stronger. Do not expect everything from us.
> Join and have fun.
>
> Stef
>
> On Thu, Nov 23, 2017 at 11:01 AM, Dimitris Chloupis
> <kilon.alios(a)gmail.com> wrote:
> > Just to clarify, you will never read from me that Python or Pharo is
> > superior or what else.
> >
> > Superior and better is highly subjective and depends obviously on your
> needs
> > and specific problem you want to solve.
> >
> > What I am saying , is yes I am perfectly ok and even encourage Pharo
> > offering similar functionality we come to expect from other IDEs,
> languages,
> > third party tools etc . There is definetly a lot of value in offering
> > something that is easier to learn and an easier way of doing things. The
> > essense of computers is to automate stuff. But like any other language,
> IDE,
> > third party tool etc Pharo attracts a specific kind of people.
> >
> > Python attracts people that want the easiest learning curve possible
> > C attracts people who want the highest performance code possible
> > Pharo attracts people who want a highest productivity workflow with full
> > customisability.
> >
> > Which one is best ? Hmm.... highly debatable, which is why language wars
> end
> > to up nowhere.
> >
> > Its not that Pharo cannot be fast, or easy to learn, its not that C
> cannot
> > be easy to learn and fully customisable and highly productive and its not
> > that Python cannot be top performance or highly productive and full
> > customisable. But each one has its own priorities and life is all about
> > priorities.
> >
> > On the matter of application deployment to offer you some recommendations
> >
> > What you can do
> > 1) Rename the executable, which basically contains the VM
> > 2) Change the icon of the executable
> > 3) Create a startup script , if you want to have some kind of default
> > behavior when the user first opens Pharo or each time it opens it
> > 4) Use attached morphs to world, these morphs cannot be resized, take the
> > entire space of pharo window and block any interaction with the Pharo
> ide.
> > When you dont not want your user to access your application internals.
> > 5) Morphic offers themes you can use to add a special touch to your
> > interface even making it look more native
> > 6) There is no need for an installer but if you want to create one
> because
> > of dependencies that are shared among application you can use any third
> > party tool that can be used for any other language , nothing special here
> > 7) You can offer automatic updates via git, Metacello gives a lot of
> access
> > to git functionality so you can connect to your git repo , check the
> latest
> > version and redowload the source in the background using a fork process
> > 8) you can use makefiles with Pharo for generating diffirent builds for
> your
> > application, again you can use pharo startup scripts to automatically
> > install code to a freshly build image.
> > 9) The help tool can be used as internal documentation of your image
> > 10) If you want a cheap way to crate a multi core application, you can
> > trigger multiple instances of pharo and let them talk with each other via
> > sockets. Each istance will be assigned by OS to a separate core
> > 11) If you must absolutely have a native interface run pharo without its
> ui
> > (this happens with the use of pharo.exe instead of pharo-ui.exe ) and use
> > the UFFI to generate your interface using the the native interface of
> your
> > OS. This of course will make your application non cross platform but is
> > still a popular choice for mosr desktop applications
> > 12) Its also possible use HTML/JS as GUI for Pharo, again you can use a
> web
> > engine, like WebKit and UFFI
> > 13) Ask questions here for anything, never hesitate
> > 14) If all fails you can always use Pharo together with other languages,
> > again using sockets, or shared memory, or pipes, Pharo gives you full
> access
> > to your OS and the OS offer many ways for communication between process /
> > applications / executables.
> >
> >
> >
> > On Thu, Nov 23, 2017 at 11:09 AM Hans N Beck
> > <hnbeck(a)educational-concepts.biz> wrote:
> >>
> >> Hi Stef,
> >>
> >> sure :)
> >>
> >> But just before let me comment the other posts: yes youâre right. Pharo
> >> and Smalltalk follows a different philosophy and therefore some common
> terms
> >> like âappâ and âideâ doesnât make sense or have to be reinterpreted.
> >>
> >> You can always say: look, I have a super cool concept, dive In but you
> >> have to forget every thing else.
> >> OR:
> >> I offer you a new concept, look how it can help you to solve daily
> >> tasks and getting jobs done.
> >>
> >> Both perspectives have value to me. And I donât say Pharo should
> priories
> >> the one or other. But with my post, Iâm taking the perspective of I
> need a
> >> tool to solve problems, in my given environment, my colleagues, my
> >> customers, my IT infrastructure, my constraints.
> >>
> >> Pharo is well in being the superior new concept. We know that. All what
> I
> >> want give you, the Pharo experts the feedback that Iâm very happy them
> that
> >> Pharo is on the way for having value for the other perspective, a tool
> for
> >> solving problems in daily work.
> >>
> >> Not more not less.
> >>
> >> Cheers
> >>
> >> Hans
> >>
> >>
> >> > Am 23.11.2017 um 09:54 schrieb Stephane Ducasse
> >> > <stepharo.self(a)gmail.com>:
> >> >
> >> > Hi hans
> >> >
> >> > Thank you for this analysis.
> >> > Now do you want me to state a question?
> >> >
> >> > Stef
> >> >
> >> > On Thu, Nov 23, 2017 at 12:23 AM, Hans N Beck
> >> > <hnbeck(a)educational-concepts.biz> wrote:
> >> >> Hi,
> >> >>
> >> >> Shiny for the R language is a very useful technique to create
> >> >> responsive applications based on Web technologies - with all the
> advantage
> >> >> the big ecosystem of JS libraries offers.
> >> >> With Shiny in mind, Iâm working with Teapot on Pharo. Dashboard like
> >> >> use interface with Processing (exactly: p5.js) and other things is
> in mind.
> >> >> From my job, I do a similiar thing. But because of our IT policy, I
> >> >> have to work with Python (using Tornado server and Dash) and SignalR
> for
> >> >> Microsoft .Net (exactly: ASP.net)
> >> >>
> >> >> So I can compare. And if I remember the work with Pharo many years
> ago,
> >> >> I can state the following:
> >> >>
> >> >> - The Microsoft Visual Studio offers a lot. It has many functions,
> >> >> assistants, components and libraries and a huge bunch of
> documentation which
> >> >> support to concentrate on the problem. Details are hidden, and even
> >> >> deployment is a matter of minutes. But this professionallity has the
> >> >> downsize of complexity, and to understand whats going on is not
> always easy.
> >> >> But if you manage this complexity you can get professional apps in a
> >> >> reasonable time.
> >> >>
> >> >> - Python is flexible and dynamic. I use the Anaconda distribution
> with
> >> >> Spyder which has good support for interactivity and debugging. Many
> >> >> libraries of good quality are available in the python world, you can
> tackle
> >> >> any problem. Also here: support professional software development
> in good
> >> >> time is given. A little bit more than Microsoft, the Python things
> are more
> >> >> understandable and more lightweight.
> >> >>
> >> >> Pharo, in its incarnation today (6.1) comes very near to this. Also
> >> >> Pharo has many libraries, a good to use âIDEâ and professional tools
> for
> >> >> debugging and profiling. BUT: Pharo is far more transparent. The
> >> >> interactivity and the availability of every sourcecode in
> combination with
> >> >> the debugging capabilities inherent to Smalltalk are helping to
> understand
> >> >> every thing. And Pharos today documentation address now relevant but
> not to
> >> >> complicated problems, cover all important tools and libraries and
> supports
> >> >> starting at beginner level. Pharo has lost the nature of a expert or
> nerd
> >> >> secret magic wizard tool.
> >> >>
> >> >> In this direct comparison, I had some wishes for the future of Pharo:
> >> >>
> >> >> - Deployment: it should be possible to deploy a âsingle clickâ
> >> >> application, independet if native GUI or Web App or Shiny like
> >> >> - More standard solutions: many libraries have examples, but they are
> >> >> sometimes to trivial or just irrelevant for daily practice
> >> >> - More product oriented: libraries should have more wizzards or
> >> >> application pattern. Imaginary example: for Teapot or Seaside would
> it be
> >> >> fine if there were some code generator for a 4 Tile dashboard app,
> or a data
> >> >> viz app, themes like in hugo or bootstrap. I may be wrong, but the
> nature of
> >> >> many libraries or tools is âmake anything possibleâ instread of âI
> help you
> >> >> to write your productâ. Do you understand what I want to say ?
> >> >>
> >> >> Anyway. I can state: Phare IS on the right way. It is. Much much
> >> >> progress the last years. Thank you all ! And if it becomes more and
> more a
> >> >> product for professionals (in industry), the future will be top !
> And this
> >> >> doesnet mean to give up the computer science part. Pharo is cool to
> try
> >> >> concepts and ideas. So Pharo has BOTH sides, which does it make
> great.
> >> >>
> >> >> Cheers
> >> >>
> >> >> Hans
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >
> >>
> >>
> >
>
>
Nov. 23, 2017
Re: [Pharo-users] Short report about Pharo experience
by Stephane Ducasse
My question is then the following:
How do you help?
There is no little action. Any action is an action.
And all together we get stronger. Do not expect everything from us.
Join and have fun.
Stef
On Thu, Nov 23, 2017 at 11:01 AM, Dimitris Chloupis
<kilon.alios(a)gmail.com> wrote:
> Just to clarify, you will never read from me that Python or Pharo is
> superior or what else.
>
> Superior and better is highly subjective and depends obviously on your needs
> and specific problem you want to solve.
>
> What I am saying , is yes I am perfectly ok and even encourage Pharo
> offering similar functionality we come to expect from other IDEs, languages,
> third party tools etc . There is definetly a lot of value in offering
> something that is easier to learn and an easier way of doing things. The
> essense of computers is to automate stuff. But like any other language, IDE,
> third party tool etc Pharo attracts a specific kind of people.
>
> Python attracts people that want the easiest learning curve possible
> C attracts people who want the highest performance code possible
> Pharo attracts people who want a highest productivity workflow with full
> customisability.
>
> Which one is best ? Hmm.... highly debatable, which is why language wars end
> to up nowhere.
>
> Its not that Pharo cannot be fast, or easy to learn, its not that C cannot
> be easy to learn and fully customisable and highly productive and its not
> that Python cannot be top performance or highly productive and full
> customisable. But each one has its own priorities and life is all about
> priorities.
>
> On the matter of application deployment to offer you some recommendations
>
> What you can do
> 1) Rename the executable, which basically contains the VM
> 2) Change the icon of the executable
> 3) Create a startup script , if you want to have some kind of default
> behavior when the user first opens Pharo or each time it opens it
> 4) Use attached morphs to world, these morphs cannot be resized, take the
> entire space of pharo window and block any interaction with the Pharo ide.
> When you dont not want your user to access your application internals.
> 5) Morphic offers themes you can use to add a special touch to your
> interface even making it look more native
> 6) There is no need for an installer but if you want to create one because
> of dependencies that are shared among application you can use any third
> party tool that can be used for any other language , nothing special here
> 7) You can offer automatic updates via git, Metacello gives a lot of access
> to git functionality so you can connect to your git repo , check the latest
> version and redowload the source in the background using a fork process
> 8) you can use makefiles with Pharo for generating diffirent builds for your
> application, again you can use pharo startup scripts to automatically
> install code to a freshly build image.
> 9) The help tool can be used as internal documentation of your image
> 10) If you want a cheap way to crate a multi core application, you can
> trigger multiple instances of pharo and let them talk with each other via
> sockets. Each istance will be assigned by OS to a separate core
> 11) If you must absolutely have a native interface run pharo without its ui
> (this happens with the use of pharo.exe instead of pharo-ui.exe ) and use
> the UFFI to generate your interface using the the native interface of your
> OS. This of course will make your application non cross platform but is
> still a popular choice for mosr desktop applications
> 12) Its also possible use HTML/JS as GUI for Pharo, again you can use a web
> engine, like WebKit and UFFI
> 13) Ask questions here for anything, never hesitate
> 14) If all fails you can always use Pharo together with other languages,
> again using sockets, or shared memory, or pipes, Pharo gives you full access
> to your OS and the OS offer many ways for communication between process /
> applications / executables.
>
>
>
> On Thu, Nov 23, 2017 at 11:09 AM Hans N Beck
> <hnbeck(a)educational-concepts.biz> wrote:
>>
>> Hi Stef,
>>
>> sure :)
>>
>> But just before let me comment the other posts: yes youâre right. Pharo
>> and Smalltalk follows a different philosophy and therefore some common terms
>> like âappâ and âideâ doesnât make sense or have to be reinterpreted.
>>
>> You can always say: look, I have a super cool concept, dive In but you
>> have to forget every thing else.
>> OR:
>> I offer you a new concept, look how it can help you to solve daily
>> tasks and getting jobs done.
>>
>> Both perspectives have value to me. And I donât say Pharo should priories
>> the one or other. But with my post, Iâm taking the perspective of I need a
>> tool to solve problems, in my given environment, my colleagues, my
>> customers, my IT infrastructure, my constraints.
>>
>> Pharo is well in being the superior new concept. We know that. All what I
>> want give you, the Pharo experts the feedback that Iâm very happy them that
>> Pharo is on the way for having value for the other perspective, a tool for
>> solving problems in daily work.
>>
>> Not more not less.
>>
>> Cheers
>>
>> Hans
>>
>>
>> > Am 23.11.2017 um 09:54 schrieb Stephane Ducasse
>> > <stepharo.self(a)gmail.com>:
>> >
>> > Hi hans
>> >
>> > Thank you for this analysis.
>> > Now do you want me to state a question?
>> >
>> > Stef
>> >
>> > On Thu, Nov 23, 2017 at 12:23 AM, Hans N Beck
>> > <hnbeck(a)educational-concepts.biz> wrote:
>> >> Hi,
>> >>
>> >> Shiny for the R language is a very useful technique to create
>> >> responsive applications based on Web technologies - with all the advantage
>> >> the big ecosystem of JS libraries offers.
>> >> With Shiny in mind, Iâm working with Teapot on Pharo. Dashboard like
>> >> use interface with Processing (exactly: p5.js) and other things is in mind.
>> >> From my job, I do a similiar thing. But because of our IT policy, I
>> >> have to work with Python (using Tornado server and Dash) and SignalR for
>> >> Microsoft .Net (exactly: ASP.net)
>> >>
>> >> So I can compare. And if I remember the work with Pharo many years ago,
>> >> I can state the following:
>> >>
>> >> - The Microsoft Visual Studio offers a lot. It has many functions,
>> >> assistants, components and libraries and a huge bunch of documentation which
>> >> support to concentrate on the problem. Details are hidden, and even
>> >> deployment is a matter of minutes. But this professionallity has the
>> >> downsize of complexity, and to understand whats going on is not always easy.
>> >> But if you manage this complexity you can get professional apps in a
>> >> reasonable time.
>> >>
>> >> - Python is flexible and dynamic. I use the Anaconda distribution with
>> >> Spyder which has good support for interactivity and debugging. Many
>> >> libraries of good quality are available in the python world, you can tackle
>> >> any problem. Also here: support professional software development in good
>> >> time is given. A little bit more than Microsoft, the Python things are more
>> >> understandable and more lightweight.
>> >>
>> >> Pharo, in its incarnation today (6.1) comes very near to this. Also
>> >> Pharo has many libraries, a good to use âIDEâ and professional tools for
>> >> debugging and profiling. BUT: Pharo is far more transparent. The
>> >> interactivity and the availability of every sourcecode in combination with
>> >> the debugging capabilities inherent to Smalltalk are helping to understand
>> >> every thing. And Pharos today documentation address now relevant but not to
>> >> complicated problems, cover all important tools and libraries and supports
>> >> starting at beginner level. Pharo has lost the nature of a expert or nerd
>> >> secret magic wizard tool.
>> >>
>> >> In this direct comparison, I had some wishes for the future of Pharo:
>> >>
>> >> - Deployment: it should be possible to deploy a âsingle clickâ
>> >> application, independet if native GUI or Web App or Shiny like
>> >> - More standard solutions: many libraries have examples, but they are
>> >> sometimes to trivial or just irrelevant for daily practice
>> >> - More product oriented: libraries should have more wizzards or
>> >> application pattern. Imaginary example: for Teapot or Seaside would it be
>> >> fine if there were some code generator for a 4 Tile dashboard app, or a data
>> >> viz app, themes like in hugo or bootstrap. I may be wrong, but the nature of
>> >> many libraries or tools is âmake anything possibleâ instread of âI help you
>> >> to write your productâ. Do you understand what I want to say ?
>> >>
>> >> Anyway. I can state: Phare IS on the right way. It is. Much much
>> >> progress the last years. Thank you all ! And if it becomes more and more a
>> >> product for professionals (in industry), the future will be top ! And this
>> >> doesnet mean to give up the computer science part. Pharo is cool to try
>> >> concepts and ideas. So Pharo has BOTH sides, which does it make great.
>> >>
>> >> Cheers
>> >>
>> >> Hans
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>>
>>
>
Nov. 23, 2017
[PHARO 7.0A] NEXT ENHANCEMENTS
by Stephane Ducasse
eport period: 5 November 2017 to 23 November 2017
* 20739-Remove-dead-stream-primitives
>> https://pharo.fogbugz.com/f/cases/20739/Remove-dead-stream-primitives
Issue URL: https://pharo.fogbugz.com/f/cases/20739
PR URL: https://github.com/pharo-project/pharo/pull/524
Diff URL: https://github.com/pharo-project/pharo/pull/524/files
Thanks to clementbera
* 20645-Windows-rebuildFieldAccessors-problem
>> Fixing the creation of annonymous classes for FFITypeArray.
>> It was affecting all the platforms.
>>
>> Issue: https://pharo.fogbugz.com/f/cases/20645/Windows-rebuildFieldAccessors-probl…
Issue URL: https://pharo.fogbugz.com/f/cases/20645
PR URL: https://github.com/pharo-project/pharo/pull/521
Diff URL: https://github.com/pharo-project/pharo/pull/521/files
Thanks to tesonep
* 20735-ComposablePresenter-classowneron-is-missing-the-initialization-call
>> https://pharo.fogbugz.com/f/cases/20735/ComposablePresenter-class-owner-on-…
Issue URL: https://pharo.fogbugz.com/f/cases/20735
PR URL: https://github.com/pharo-project/pharo/pull/517
Diff URL: https://github.com/pharo-project/pharo/pull/517/files
Thanks to pavel-krivanek
* Fix the sign of FloatNegativeZero
>> Like any other zero, the sign of Float negativeZero should be zeroâ¦
>> Introduce signBit to differentiate Float negativeZero from Float zero.
>>
>> This is issue
https://pharo.fogbugz.com/f/cases/19629/0-0-sign-answers-1-should-be-zero
>>
>> Note that this PR does not implement isSignMinus which is not
strictly necessary.
>> If itâs for ISO 10967 compliance, then there will be other
functions missing.
>> Maybe open a new issue for this one?
Issue URL: https://pharo.fogbugz.com/f/cases/Fix the sign of
FloatNegativeZero
PR URL: https://github.com/pharo-project/pharo/pull/515
Diff URL: https://github.com/pharo-project/pharo/pull/515/files
Thanks to nicolas-cellier-aka-nice
* 20717-Duplicities-of-themes-in-the-list-2
>> https://pharo.fogbugz.com/f/cases/20717/Duplicities-of-themes-in-the-list
>>
>> alternative version by Torsten
Issue URL: https://pharo.fogbugz.com/f/cases/20717
PR URL: https://github.com/pharo-project/pharo/pull/499
Diff URL: https://github.com/pharo-project/pharo/pull/499/files
Thanks to pavel-krivanek
* 20730 Unused temps in FileReferenceTest, FLHeaderSerializationTest,
FLHookedSubstitutionTest, FT2GlyphRenderer, ...
>> Fix unused temps in
>>
>> FileReferenceTest>>#testRename
>> FileReferenceTest>>#testDeleteAllChildren
>> FileReferenceTest>>#testHasChildren
>> FileReferenceTest>>#testHasDirectories
>> FileReferenceTest>>#testHasFiles
>> FLHeaderSerializationTest>>#testAdditionalObjects
>> FLHookedSubstitutionTest>>#testAvoidRecursion
>> FT2GlyphRenderer>>#loadSurfaceTransform
>> FT2GlyphRenderer>>#loadUnicode:
>> FileDialogWindowTest>>#testIssue6406
>> FileReferenceTest>>#testDeleteAll
Issue URL: https://pharo.fogbugz.com/f/cases/20730 Unused temps
in FileReferenceTest, FLHeaderSerializationTest,
FLHookedSubstitutionTest, FT2GlyphRenderer, ...
PR URL: https://github.com/pharo-project/pharo/pull/510
Diff URL: https://github.com/pharo-project/pharo/pull/510/files
Thanks to astares
* 20731 Unused temps in HDCoverageReport and HDLintReport
>> fix unused temps
>>
>> HDCoverageReport>>#generatePackage:method:on:
>> HDLintReport>>#generateClass:source:on:
>>
>>
>> https://pharo.fogbugz.com/f/cases/20731/Unused-temps-in-HDCoverageReport-an…
Issue URL: https://pharo.fogbugz.com/f/cases/20731 Unused temps
in HDCoverageReport and HDLintReport
PR URL: https://github.com/pharo-project/pharo/pull/511
Diff URL: https://github.com/pharo-project/pharo/pull/511/files
Thanks to astares
* 20732 Unused temps in HistoryNodeTest
>> fix unused temps
>>
>> HistoryNodeTest>>#testTwoConsecutiveCloseGroup
>> HistoryNodeTest>>#testTwoGroups
>>
>> https://pharo.fogbugz.com/f/cases/20732/Unused-temps-in-HistoryNodeTest
Issue URL: https://pharo.fogbugz.com/f/cases/20732 Unused temps
in HistoryNodeTest
PR URL: https://github.com/pharo-project/pharo/pull/512
Diff URL: https://github.com/pharo-project/pharo/pull/512/files
Thanks to astares
* 20733-update-bootstrap-emulation
>> https://pharo.fogbugz.com/f/cases/20733/update-bootstrap-emulation
Issue URL: https://pharo.fogbugz.com/f/cases/20733
PR URL: https://github.com/pharo-project/pharo/pull/516
Diff URL: https://github.com/pharo-project/pharo/pull/516/files
Thanks to pavel-krivanek
* 20384-Converted-rules-to-Renraku-architecture-2
>> Let's try this one, it should work
Issue URL: https://pharo.fogbugz.com/f/cases/20384
PR URL: https://github.com/pharo-project/pharo/pull/445
Diff URL: https://github.com/pharo-project/pharo/pull/445/files
Thanks to Uko
* 20727-WeakAnnouncerTesttestWeakDoubleAnnouncer-should-be-long
>> https://pharo.fogbugz.com/f/cases/20727/WeakAnnouncerTest-testWeakDoubleAnn…
>>
>> increse timeouts and decrease amount of explicit GC calls
Issue URL: https://pharo.fogbugz.com/f/cases/20727
PR URL: https://github.com/pharo-project/pharo/pull/509
Diff URL: https://github.com/pharo-project/pharo/pull/509/files
Thanks to pavel-krivanek
* Avoid costly & useless LargeInteger arithmetics when
raisedToFraction will be inexact
>>
>> This example was raised in
https://pharo.fogbugz.com/f/cases/20432/vm-crash-when-using-rairedTo-with-f…
>> (2009/2000) raisedTo: (3958333/100000)
>>
>> The fix is importing the changes from
http://source.squeak.org/trunk/Kernel-nice.1111.diff
Issue URL: https://pharo.fogbugz.com/f/cases/Avoid costly &
useless LargeInteger arithmetics when raisedToFraction will be inexact
PR URL: https://github.com/pharo-project/pharo/pull/506
Diff URL: https://github.com/pharo-project/pharo/pull/506/files
Thanks to nicolas-cellier-aka-nice
* 20723 Unused temps in AthensDemoMorph, Alien, AthensBalloonEngine,
AthensBezier3Scene, AthensCairoPathBuilder
>> Fix unused temps in
>>
>> AthensDemoMorph>>#figure9:
>> Alien class>>#newCString:
>> AthensBalloonEngine>>#drawImage:transform:
>> AthensBezier3Scene>>#renderOn:
>> AthensCairoPathBuilder>>#calcCenter:end:angle:
>> AthensDemoMorph>>#figure10:
>> AthensDemoMorph>>#figure2:
>> AthensDemoMorph>>#figure3:
>> AthensDemoMorph>>#figure6:
Issue URL: https://pharo.fogbugz.com/f/cases/20723 Unused temps
in AthensDemoMorph, Alien, AthensBalloonEngine, AthensBezier3Scene,
AthensCairoPathBuilder
PR URL: https://github.com/pharo-project/pharo/pull/503
Diff URL: https://github.com/pharo-project/pharo/pull/503/files
Thanks to astares
* 20724 Unused temps in EditorFindReplaceDialogWindow>>#update:
>> fix unused temp
Issue URL: https://pharo.fogbugz.com/f/cases/20724 Unused temps
in EditorFindReplaceDialogWindow>>#update:
PR URL: https://github.com/pharo-project/pharo/pull/504
Diff URL: https://github.com/pharo-project/pharo/pull/504/files
Thanks to astares
* 20725 Unused temps in DosTimestampTest, Decompiler, DiskStore,
DosTimestampTest, DateTest
>> Fix unused temps in
>>
>> DosTimestampTest>>#testFromDateAndTime
>> Decompiler>>#statementsTo:
>> DiskStore>>#rename:to:
>> DosTimestampTest>>#testAsDateAndTime
>> DateTest>>#testPrintFormat
Issue URL: https://pharo.fogbugz.com/f/cases/20725 Unused temps
in DosTimestampTest, Decompiler, DiskStore, DosTimestampTest, DateTest
PR URL: https://github.com/pharo-project/pharo/pull/505
Diff URL: https://github.com/pharo-project/pharo/pull/505/files
Thanks to astares
* 20722 Unused temps in KMShortcutTest, KMDispatcher, KMKeymapTest
>> Fix unused temps in
>>
>> KMShortcutTest>>#testComplexChainMatches
>> KMDispatcher>>#dispatch:
>> KMKeymapTest>>#testExecute
>>
>> https://pharo.fogbugz.com/f/cases/20722/Unused-temps-in-KMShortcutTest-KMDi…
Issue URL: https://pharo.fogbugz.com/f/cases/20722 Unused temps
in KMShortcutTest, KMDispatcher, KMKeymapTest
PR URL: https://github.com/pharo-project/pharo/pull/502
Diff URL: https://github.com/pharo-project/pharo/pull/502/files
Thanks to astares
* 20720 Unused temps in Object, OCASTCheckerTest and OCASTClosureAnalyzerTest
>> Fix unused temp vars
>>
>> Object>>#split:
>> OCASTCheckerTest>>#testDoubleRemoteAnidatedBlocks
>> OCASTCheckerTest>>#testExamplePrimitiveErrorCode
>> OCASTCheckerTest>>#testExampleSelf
>> OCASTCheckerTest>>#testExampleSuper
>> OCASTCheckerTest>>#testExampleThisContext
>> OCASTCheckerTest>>#testInstanceVar
>> OCASTCheckerTest>>#testNoRemoteBlockArgument
>> OCASTCheckerTest>>#testNoRemoteBlockReturn
>> OCASTCheckerTest>>#testNoRemoteBlockTemp
>> OCASTCheckerTest>>#testNoRemoteMethodTemp
>> OCASTCheckerTest>>#testOptimizedBlocksAndSameNameTemps
>> OCASTCheckerTest>>#testSingleRemoteDifferentBlocksSameArgumentName
>> OCASTCheckerTest>>#testSingleRemoteMethodArgument
>> OCASTClosureAnalyzerTest>>#testDoubleRemoteAnidatedBlocks
>> OCASTClosureAnalyzerTest>>#testExampleBlockArgument
>> OCASTClosureAnalyzerTest>>#testExampleSimpleBlockLocalWhile
>> OCASTClosureAnalyzerTest>>#testExampleSimpleBlockNested
>> OCASTClosureAnalyzerTest>>#testExampleWhileModificationBefore
>> OCASTClosureAnalyzerTest>>#testNestedBlocksRemoteInBlockCase2
>> OCASTClosureAnalyzerTest>>#testNestedBlocksRemoteInBlockCase3
>> OCASTClosureAnalyzerTest>>#testNoRemoteBlockArgument
>> OCASTClosureAnalyzerTest>>#testNoRemoteReadInBlock
>> OCASTClosureAnalyzerTest>>#testNoRemoteReadNestedBlocks
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockReadInBlock
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockWriteInBlock
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockWriteInNestedBlock
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockWriteInNestedBlockCase2
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockWriteInNestedBlockCase3
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockWriteInNestedBlockCase4
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockWrittenAfterClosedOverCase1
>> OCASTClosureAnalyzerTest>>#testOptimizedBlockWrittenAfterClosedOverCase2
>> OCASTClosureAnalyzerTest>>#testSingleRemoteDifferentBlocksSameArgumentName
>> OCASTClosureAnalyzerTest>>#testSingleRemoteMethodArgument
>> OCASTClosureAnalyzerTest>>#testSingleRemoteReadNestedBlocks
>> OCASTClosureAnalyzerTest>>#testWrittenAfterClosedOver
Issue URL: https://pharo.fogbugz.com/f/cases/20720 Unused temps
in Object, OCASTCheckerTest and OCASTClosureAnalyzerTest
PR URL: https://github.com/pharo-project/pharo/pull/500
Diff URL: https://github.com/pharo-project/pharo/pull/500/files
Thanks to astares
* 20721 Unused temps in ProtoObject>>#pointersToExcept:
>> Fix unused temps in ProtoObject>>#pointersToExcept:
Issue URL: https://pharo.fogbugz.com/f/cases/20721 Unused temps
in ProtoObject>>#pointersToExcept:
PR URL: https://github.com/pharo-project/pharo/pull/501
Diff URL: https://github.com/pharo-project/pharo/pull/501/files
Thanks to astares
* 20715 Unused temps in RBRefactoringChangeTests,
RPackageClassesSynchronisationTest, RPackageIncrementalTest, ...
>> Remove unused temps in
>>
>> RBRefactoringChangeTests>>#testPerformAddRemoveClassMethod
>> RPackageClassesSynchronisationTest>>#testReorganizeClassByAddingExtensionProtocol
>> RPackageClassesSynchronisationTest>>#testReorganizeClassByAddingNewProtocolDoesNothing
>> RPackageExtensionMethodsSynchronisationTest>>#testAddMethodInExtensionCategoryNotExistingCreateANewPackage
>> RPackageExtensionMethodsSynchronisationTest>>#testAddMethodInExtensionCategoryNotExistingCreateANewPackageAndInstallsMethodInIt
>> RPackageExtensionMethodsSynchronisationTest>>#testModifyMethodByChangingCode
>> RPackageIncrementalTest>>#testAddClassAfterMethods
>> RPackageIncrementalTest>>#testAddClassAfterMethodsAtMetaclassToo
>> RPackageIncrementalTest>>#testMethodAddition
>> RPackageIncrementalTest>>#testPrivateClassRegisterUnregister
>> RPackageIncrementalTest>>#testRemoveClassAfterMethods
>> RPackageIncrementalTest>>#testRemoveClassRemovesExtensions
>> RPackageIncrementalTest>>#testRemoveExtensionMethodRemovesExtensionsFromRPackage
>> RPackageMethodsSynchronisationTest>>#testModifyMethodByMovingFromClassicCategoryToClassicCategoryDoesNothing
>> RPackageMonticelloSynchronisationTest>>#testUnloadMCPackageRemovesRPackage
>> RPackageMonticelloSynchronisationTest>>#testUnregisterMCPackageKeepsRPackage
>> RPackageOrganizer>>#systemClassRemovedActionFrom:
>> RBRefactoringChangeTests>>#testPerformAddRemoveMethod
>> RBRefactoringChangeTests>>#testPerformAddRemoveMethodInteractively
>> RPackageClassesSynchronisationTest>>#testRecategorizeClassRegisterTheClassMethodsInTheNewPackage
>> RPackageClassesSynchronisationTest>>#testRecategorizeClassWithMetaClassMethodsRegisterAllClassMethodsInTheNewPackage
>> RPackageClassesSynchronisationTest>>#testRenameClassUpdateClassDefinedInTheParentPackage
>> RPackageClassesSynchronisationTest>>#testRenameClassUpdateClassDefinedSelectorsInTheParentPackage
>> RPackageClassesSynchronisationTest>>#testRenameClassUpdateClassExtensionSelectorsInTheExtendingPackages
>> RPackageClassesSynchronisationTest>>#testRenameClassUpdateMetaclassDefinedSelectorsInTheParentPackage
>> RPackageClassesSynchronisationTest>>#testRenameClassUpdateMetaclassExtensionSelectorsInTheExtendingPackages
>> RPackageClassesSynchronisationTest>>#testRenameClassUpdateOrganizerClassExtendingPackagesMapping
>> RPackageClassesSynchronisationTest>>#testRenameClassUpdateOrganizerClassPackageMapping
Issue URL: https://pharo.fogbugz.com/f/cases/20715 Unused temps
in RBRefactoringChangeTests, RPackageClassesSynchronisationTest,
RPackageIncrementalTest, ...
PR URL: https://github.com/pharo-project/pharo/pull/495
Diff URL: https://github.com/pharo-project/pharo/pull/495/files
Thanks to astares
* 20716 Unused temps in MetacelloConfigurationResource,
MetacelloCoreSymbolicVersionTest, MetacelloPackagesSpecTestCase,
MetacelloMCProj
>> Remove unused temps from
>>
>> MetacelloConfigurationResource>>#project
>> MetacelloCoreSymbolicVersionTest>>#testBasicBleedingEdgeVersion
>> MetacelloCoreSymbolicVersionTest>>#testBasicStableVersion
>> MetacelloCoreSymbolicVersionTest>>#testBleedingEdgeMethod
>> MetacelloCoreSymbolicVersionTest>>#testStableVersionMethod
>> MetacelloPackagesSpecTestCase>>#testRemoveGroupB
>> MetacelloPackagesSpecTestCase>>#testRemoveGroupC
>> MetacelloMCProjectSpecTestCase>>#testMCProjectMergeSpec
Issue URL: https://pharo.fogbugz.com/f/cases/20716 Unused temps
in MetacelloConfigurationResource, MetacelloCoreSymbolicVersionTest,
MetacelloPackagesSpecTestCase, MetacelloMCProj
PR URL: https://github.com/pharo-project/pharo/pull/497
Diff URL: https://github.com/pharo-project/pharo/pull/497/files
Thanks to astares
* 20714-atatput--atatifAbsentPut-should-not-use-Dictionary
>> https://pharo.fogbugz.com/f/cases/20714/at-at-put-at-at-ifAbsentPut-should-…
>>
>> use "self species" instead of hardcoded Dictionary
Issue URL: https://pharo.fogbugz.com/f/cases/20714
PR URL: https://github.com/pharo-project/pharo/pull/496
Diff URL: https://github.com/pharo-project/pharo/pull/496/files
Thanks to pavel-krivanek
* 20709-do-not-create-pharo-core-symlink-during-the-image-building
>> https://pharo.fogbugz.com/f/cases/20709/do-not-create-pharo-core-symlink-du…
Issue URL: https://pharo.fogbugz.com/f/cases/20709
PR URL: https://github.com/pharo-project/pharo/pull/492
Diff URL: https://github.com/pharo-project/pharo/pull/492/files
Thanks to pavel-krivanek
* 20603-Integration-of-new-bytecode-set-Sista-V1-by-default-green-tests
Issue URL: https://pharo.fogbugz.com/f/cases/20603
PR URL: https://github.com/pharo-project/pharo/pull/484
Diff URL: https://github.com/pharo-project/pharo/pull/484/files
Thanks to clementbera
* 20707 Unused temps in WindowsStore, WaitfreeQueue, VersionnerProjectPanel,
>> Fix unused temp vars in
>> - WindowsStore>>#checkName:fixErrors:
>> - WaitfreeQueue>>#size
>> - VersionnerProjectPanel>>#config:
>> - VersionnerProjectPackagesPanel>>#removeSelectedPackage
>> - VSSetDescriptionCommand>>#executeWithMessage:
>>
>>
>> https://pharo.fogbugz.com/f/cases/20707/Unused-temps-in-WindowsStore-Waitfr…
Issue URL: https://pharo.fogbugz.com/f/cases/20707 Unused temps
in WindowsStore, WaitfreeQueue, VersionnerProjectPanel,
PR URL: https://github.com/pharo-project/pharo/pull/490
Diff URL: https://github.com/pharo-project/pharo/pull/490/files
Thanks to astares
* 20711 Unused temps in RubTextEditor, RubParagraph,
RubMethodEditingExample, ReflectiveMethod, RxMatcher
>> Remove unused temps in
>>
>> ReflectiveMethod>>#recompileAST
>> RubMethodEditingExample>>#open
>> RubParagraph>>#selectionRectsFrom:to:
>> RubSelectorChooserMorph>>#drawCommonPrefixAreasOn:
>> RubTextEditor>>#addDeleteSelectionUndoRecord
>> RubTextEditor>>#correctFrom:to:with:
>> RubTextEditor>>#exchangeWith:
>> RxMatcher>>#currentState
Issue URL: https://pharo.fogbugz.com/f/cases/20711 Unused temps
in RubTextEditor, RubParagraph, RubMethodEditingExample,
ReflectiveMethod, RxMatcher
PR URL: https://github.com/pharo-project/pharo/pull/494
Diff URL: https://github.com/pharo-project/pharo/pull/494/files
Thanks to astares
* 20704-remove-garbageCollect-from-PharoClassInstallermigrateClassestousing
>> https://pharo.fogbugz.com/f/cases/20704/remove-garbageCollect-from-PharoCla…
>>
>> remove explicit garbage collection
Issue URL: https://pharo.fogbugz.com/f/cases/20704
PR URL: https://github.com/pharo-project/pharo/pull/489
Diff URL: https://github.com/pharo-project/pharo/pull/489/files
Thanks to pavel-krivanek
* 20708 Unused temps in TSequencedConcatenationTest and TextEditor
>> Remove unused temps in
>> TextMorph>>#handleKeystroke:
>> TSequencedConcatenationTest>>#testStreamContents
>> TSequencedConcatenationTest>>#testStreamContentsProtocol
>> TextConverter>>#next:putAll:startingAt:toStream:
>> TextConverter>>#nextPutAll:toStream:
>> TextEditor>>#addDeleteSelectionUndoRecord
>> TextEditor>>#addTypeInUndoRecord
>> TextEditor>>#correctFrom:to:with:
>> TextEditor>>#dispatchCommandOn:return:
>> TextEditor>>#dispatchOn:
>> TextEditor>>#mouseUp:
>> TextEditor>>#replace:with:and:
>> TextEditor>>#unapplyAttribute:
Issue URL: https://pharo.fogbugz.com/f/cases/20708 Unused temps
in TSequencedConcatenationTest and TextEditor
PR URL: https://github.com/pharo-project/pharo/pull/491
Diff URL: https://github.com/pharo-project/pharo/pull/491/files
Thanks to astares
* 20710 Unused temps in StringMorph, SimpleGridExample,
SmalltalkEditor, SHMethodEditingMode, SelectorChooserMorph
>> Remove unused temps from
>>
>> StringMorph>>#drawOnAthensCanvas:
>> SimpleGridExample>>#treeMorph
>> SmalltalkEditor>>#internalCallToBrowseIt
>> SHMethodEditingMode>>#open
>> SelectorChooserMorph>>#drawCommonPrefixAreasOn:
Issue URL: https://pharo.fogbugz.com/f/cases/20710 Unused temps
in StringMorph, SimpleGridExample, SmalltalkEditor,
SHMethodEditingMode, SelectorChooserMorph
PR URL: https://github.com/pharo-project/pharo/pull/493
Diff URL: https://github.com/pharo-project/pharo/pull/493/files
Thanks to astares
* 20697-Give-some-love-to-SocketAddress
>> SocketAddress is hardly used in the system.
>> It is possible to use it more and add some functionality to it.
>> Comments and test could be improved as well.
>>
>> https://pharo.fogbugz.com/f/cases/20697/Give-some-love-to-SocketAddress
Issue URL: https://pharo.fogbugz.com/f/cases/20697
PR URL: https://github.com/pharo-project/pharo/pull/486
Diff URL: https://github.com/pharo-project/pharo/pull/486/files
Thanks to svenvc
* 20702-Add-comments-to-hashMultiply
>> https://pharo.fogbugz.com/f/cases/20702/Add-comments-to-hashMultiply
>>
>> use hashMultiply comments provided by Nicolas Celler with some
modifications
Issue URL: https://pharo.fogbugz.com/f/cases/20702
PR URL: https://github.com/pharo-project/pharo/pull/487
Diff URL: https://github.com/pharo-project/pharo/pull/487/files
Thanks to pavel-krivanek
* 20703-typo-in-WelcomeHelp
>> https://pharo.fogbugz.com/f/cases/20703/typo-in-WelcomeHelp
>>
>> fix typo
Issue URL: https://pharo.fogbugz.com/f/cases/20703
PR URL: https://github.com/pharo-project/pharo/pull/488
Diff URL: https://github.com/pharo-project/pharo/pull/488/files
Thanks to pavel-krivanek
* 20647-SortFunction-should-be-composable
>> Make SortFunction composable
>>
>> https://pharo.fogbugz.com/f/cases/20647/SortFunction-should-be-composable
>>
>> Note: impossible to use iceberg to do the commit
>> incomprehensible interface / unexpected failures / unclear
error messages
Issue URL: https://pharo.fogbugz.com/f/cases/20647
PR URL: https://github.com/pharo-project/pharo/pull/440
Diff URL: https://github.com/pharo-project/pharo/pull/440/files
Thanks to nicolas-cellier-aka-nice
* 19942-Glamour-Morphic-Renderer-Spotter-is-only-dead-code
>> Glamour-Morphic-Renderer-Spotter is only dead code?
>>
>> https://pharo.fogbugz.com/f/cases/19942/Glamour-Morphic-Renderer-Spotter-is…
Issue URL: https://pharo.fogbugz.com/f/cases/19942
PR URL: https://github.com/pharo-project/pharo/pull/480
Diff URL: https://github.com/pharo-project/pharo/pull/480/files
Thanks to MarcusDenker
* 20696-enable-bootstrapping-from-outside-the-repository
>> https://pharo.fogbugz.com/f/cases/20696/enable-bootstrapping-from-outside-t…
Issue URL: https://pharo.fogbugz.com/f/cases/20696
PR URL: https://github.com/pharo-project/pharo/pull/485
Diff URL: https://github.com/pharo-project/pharo/pull/485/files
Thanks to pavel-krivanek
* 20689-Make-Pharo-bootstrap-independent-on-source-repository
>> https://pharo.fogbugz.com/f/cases/20689/Make-Pharo-bootstrap-independent-on…
Issue URL: https://pharo.fogbugz.com/f/cases/20689
PR URL: https://github.com/pharo-project/pharo/pull/479
Diff URL: https://github.com/pharo-project/pharo/pull/479/files
Thanks to pavel-krivanek
* 20693-Incorrect-basename-of-empty-relative-path
>> 20693 Incorrect basename of empty relative path
>>
>> - Modify Path and subclasses to return the current directory
for an empty relative path.
>> - Add PathTest>>testBasenameNoParent to confirm correct behaviour.
Issue URL: https://pharo.fogbugz.com/f/cases/20693
PR URL: https://github.com/pharo-project/pharo/pull/481
Diff URL: https://github.com/pharo-project/pharo/pull/481/files
Thanks to akgrant43
* 20678-selecting-of-a-method-version-causes-DNU
>> Adding this message as a way of having polymorphism with the
different versions of Message Browser
>>
>> Issue https://pharo.fogbugz.com/f/cases/20678/selecting-of-a-method-version-cause…
Issue URL: https://pharo.fogbugz.com/f/cases/20678
PR URL: https://github.com/pharo-project/pharo/pull/482
Diff URL: https://github.com/pharo-project/pharo/pull/482/files
Thanks to tesonep
* 20686-disabling-of-FreeType-fonts-should-set-bitmap-Source-Pro-fonts
>> https://pharo.fogbugz.com/f/cases/20686/disabling-of-FreeType-fonts-should-…
>>
>> set bitmap source pro fonts after disabling of FreeType
Issue URL: https://pharo.fogbugz.com/f/cases/20686
PR URL: https://github.com/pharo-project/pharo/pull/476
Diff URL: https://github.com/pharo-project/pharo/pull/476/files
Thanks to pavel-krivanek
* 19291-suspendedEventHandler-property-seems-unused
>> suspendedEventHandler property seems unused
>>
>> https://pharo.fogbugz.com/f/cases/19291/suspendedEventHandler-property-seem…
Issue URL: https://pharo.fogbugz.com/f/cases/19291
PR URL: https://github.com/pharo-project/pharo/pull/466
Diff URL: https://github.com/pharo-project/pharo/pull/466/files
Thanks to MarcusDenker
* 20685-Do-not-use-hardcoded-URLs-in-system-baselines
>> https://pharo.fogbugz.com/f/cases/20685/Do-not-use-hardcoded-URLs-in-system…
>>
>> use repository URL of the baseline package for loading of
other baselines from the same repository
Issue URL: https://pharo.fogbugz.com/f/cases/20685
PR URL: https://github.com/pharo-project/pharo/pull/475
Diff URL: https://github.com/pharo-project/pharo/pull/475/files
Thanks to pavel-krivanek
* 20166-wrong-cliprect-on-transformed-athens-canvas
>> https://pharo.fogbugz.com/f/cases/20166/wrong-cliprect-on-transformed-athen…
>>
>> fix proposed by Nicolai Hess
Issue URL: https://pharo.fogbugz.com/f/cases/20166
PR URL: https://github.com/pharo-project/pharo/pull/477
Diff URL: https://github.com/pharo-project/pharo/pull/477/files
Thanks to pavel-krivanek
* 20264-Date-gtInspectorDetailsIn-is-incorrectly-using-a-Block-for-the-title-so-selection-is-not-remembered
>> Fix GT Inspector usage: title's should not be blocks but pure
Strings for them to be remembered as selected in the UI
>>
>> Improve several GT Inspector views in small details (especially Socket)
>>
>> Touched Date, Time, DateAndTime, Duration, Socket, ZnMessage,
ZnHeaders and ZnMimePart views.
>>
>> https://pharo.fogbugz.com/f/cases/20264/Date-gtInspectorDetailsIn-is-incorr…
Issue URL: https://pharo.fogbugz.com/f/cases/20264
PR URL: https://github.com/pharo-project/pharo/pull/471
Diff URL: https://github.com/pharo-project/pharo/pull/471/files
Thanks to svenvc
* 20679-Reloading-of-OSWindow-SDL2-causes-Tonel-parsing-error
>> https://pharo.fogbugz.com/f/cases/20679/Reloading-of-OSWindow-SDL2-causes-T…
>>
>> fix broken UTF8 character
Issue URL: https://pharo.fogbugz.com/f/cases/20679
PR URL: https://github.com/pharo-project/pharo/pull/473
Diff URL: https://github.com/pharo-project/pharo/pull/473/files
Thanks to pavel-krivanek
* 20676 Categorize uncategorized methods in classes starting with K
>> Categorize uncategorized methods
>>
>> No change in behavior, only categorization
>>
>>
>> https://pharo.fogbugz.com/f/cases/20676/Categorize-uncategorized-methods-in…
Issue URL: https://pharo.fogbugz.com/f/cases/20676 Categorize
uncategorized methods in classes starting with K
PR URL: https://github.com/pharo-project/pharo/pull/470
Diff URL: https://github.com/pharo-project/pharo/pull/470/files
Thanks to astares
* 20674 Categorize uncategorized methods in classes starting with J
>> Categorize uncategorized methods in
>> - JobProgressBarMorph
>> - JoinSection
>> - JoinSide
Issue URL: https://pharo.fogbugz.com/f/cases/20674 Categorize
uncategorized methods in classes starting with J
PR URL: https://github.com/pharo-project/pharo/pull/468
Diff URL: https://github.com/pharo-project/pharo/pull/468/files
Thanks to astares
* 20677-Improve-system-dependencies-tests
>> https://pharo.fogbugz.com/f/cases/20677/Improve-system-dependencies-testss
>>
>> clean system dependencies testing
Issue URL: https://pharo.fogbugz.com/f/cases/20677
PR URL: https://github.com/pharo-project/pharo/pull/472
Diff URL: https://github.com/pharo-project/pharo/pull/472/files
Thanks to pavel-krivanek
* 20673 Categorize uncategorized methods in classes starting with H
>> Categorize uncategorized methods in
>> - HEFraction
>> - HEScaledDecimal
>>
>> Only categorization, no change in behavior
Issue URL: https://pharo.fogbugz.com/f/cases/20673 Categorize
uncategorized methods in classes starting with H
PR URL: https://github.com/pharo-project/pharo/pull/467
Diff URL: https://github.com/pharo-project/pharo/pull/467/files
Thanks to astares
* 20675 Categorize uncategorized methods in classes starting with D
>> Categorize uncategorized method in DatePresenter
Issue URL: https://pharo.fogbugz.com/f/cases/20675 Categorize
uncategorized methods in classes starting with D
PR URL: https://github.com/pharo-project/pharo/pull/469
Diff URL: https://github.com/pharo-project/pharo/pull/469/files
Thanks to astares
* 20671-Extend-system-dependencies-tests-on-whole-image
>> https://pharo.fogbugz.com/f/cases/20671/Extend-system-dependencies-tests-on…
>>
>> dependency testing for whole image
Issue URL: https://pharo.fogbugz.com/f/cases/20671
PR URL: https://github.com/pharo-project/pharo/pull/464
Diff URL: https://github.com/pharo-project/pharo/pull/464/files
Thanks to pavel-krivanek
* 20670-unused-var-in-generateDefaultFileOutResultsName
>> unused var in #generateDefaultFileOutResultsName
>>
>> https://pharo.fogbugz.com/f/cases/20670/unused-var-in-generateDefaultFileOu…
Issue URL: https://pharo.fogbugz.com/f/cases/20670
PR URL: https://github.com/pharo-project/pharo/pull/465
Diff URL: https://github.com/pharo-project/pharo/pull/465/files
Thanks to MarcusDenker
* 20668-add-breakpoints-menu-to-Nautilus-segment-icons
>> https://pharo.fogbugz.com/f/cases/20668
>>
>> fix breakpoints placement for wrapping text
Issue URL: https://pharo.fogbugz.com/f/cases/20668
PR URL: https://github.com/pharo-project/pharo/pull/463
Diff URL: https://github.com/pharo-project/pharo/pull/463/files
Thanks to pavel-krivanek
* 20055-immediateByteSubclass-is-deadcoe
>> immediateByteSubclass: is deadcoe
>>
>> https://pharo.fogbugz.com/f/cases/20055/immediateByteSubclass-is-deadcoe
Issue URL: https://pharo.fogbugz.com/f/cases/20055
PR URL: https://github.com/pharo-project/pharo/pull/462
Diff URL: https://github.com/pharo-project/pharo/pull/462/files
Thanks to MarcusDenker
* 20263-Debugger-DoesNotUnderstandDebugAction-is-missing-a-defaultHelp-method-so-hover-help-shows-missing
>> Debugger DoesNotUnderstandDebugAction is missing a
#defaultHelp method so hover help shows missing
>>
>> https://pharo.fogbugz.com/f/cases/20263/
Issue URL: https://pharo.fogbugz.com/f/cases/20263
PR URL: https://github.com/pharo-project/pharo/pull/460
Diff URL: https://github.com/pharo-project/pharo/pull/460/files
Thanks to MarcusDenker
* 17654-SpecPreDebugWindow-and-subclasses-relies-on-doesNotUnderstand-delegation-to-find-the-stackPane
>> SpecPreDebugWindow and subclasses relies on #doesNotUnderstand
delegation to find the stackPane
>>
>> https://pharo.fogbugz.com/f/cases/17654
Issue URL: https://pharo.fogbugz.com/f/cases/17654
PR URL: https://github.com/pharo-project/pharo/pull/461
Diff URL: https://github.com/pharo-project/pharo/pull/461/files
Thanks to MarcusDenker
* 20363-ThemeIconsdownloadTo-has-an-argument-which-is-never-referenced-in-code
>> fix for
https://pharo.fogbugz.com/f/cases/20363/ThemeIcons-downloadTo-has-an-argume…
Issue URL: https://pharo.fogbugz.com/f/cases/20363
PR URL: https://github.com/pharo-project/pharo/pull/453
Diff URL: https://github.com/pharo-project/pharo/pull/453/files
Thanks to MarcusDenker
* 20667-Be-able-to-install-breakpoints-by-clicking-on-segment-icons-area
>> https://pharo.fogbugz.com/f/cases/20667/Be-able-to-install-breakpoints-by-c…
>>
>> click on segment icons area adds breakpoint at the beginning of the line
Issue URL: https://pharo.fogbugz.com/f/cases/20667
PR URL: https://github.com/pharo-project/pharo/pull/459
Diff URL: https://github.com/pharo-project/pharo/pull/459/files
Thanks to pavel-krivanek
* 20582-atat-messages-call-errorKeyNotFound
>> Fix for at:at: messages call errorKeyNotFound.
>> - use errorKeyNotFound:
>>
>> https://pharo.fogbugz.com/f/cases/20582/at-at-messages-call-errorKeyNotFound
Issue URL: https://pharo.fogbugz.com/f/cases/20582
PR URL: https://github.com/pharo-project/pharo/pull/454
Diff URL: https://github.com/pharo-project/pharo/pull/454/files
Thanks to MarcusDenker
* 20664-set-the-display-size-sooner
>> https://pharo.fogbugz.com/f/cases/20664/set-the-display-size-sooner
Issue URL: https://pharo.fogbugz.com/f/cases/20664
PR URL: https://github.com/pharo-project/pharo/pull/458
Diff URL: https://github.com/pharo-project/pharo/pull/458/files
Thanks to pavel-krivanek
* 20499-Examples-in-GlamourPresentationModel-should-have-no-gtExamplePragma
>> 20499
>> Examples in GlamourPresentationModel should have no <gtExamplePragma>
>>
>> https://pharo.fogbugz.com/f/cases/20499
Issue URL: https://pharo.fogbugz.com/f/cases/20499
PR URL: https://github.com/pharo-project/pharo/pull/455
Diff URL: https://github.com/pharo-project/pharo/pull/455/files
Thanks to MarcusDenker
* 20662-displaying-method-versions-in-Nautilus-causes-DNU
>> https://pharo.fogbugz.com/f/cases/20662/displaying-method-versions-in-Nauti…
>>
>> add clearUndoManager to DiffPresenter
Issue URL: https://pharo.fogbugz.com/f/cases/20662
PR URL: https://github.com/pharo-project/pharo/pull/457
Diff URL: https://github.com/pharo-project/pharo/pull/457/files
Thanks to pavel-krivanek
* 20661-Fixing-test-from-debugger-should-mark-test-as-green-when-proceed-
>> Now runCaseForDebug: removes passed test case from errors and failures.
>> This logic is not inside addPass: method directly to not
affect bug suite result collecting because it can become slow if it
will clean errors and failures for every green test.
>> Maybe in future we can improve this part.
>>
>> https://pharo.fogbugz.com/f/cases/20661/Fixing-test-from-debugger-should-ma…
Issue URL: https://pharo.fogbugz.com/f/cases/20661
PR URL: https://github.com/pharo-project/pharo/pull/456
Diff URL: https://github.com/pharo-project/pharo/pull/456/files
Thanks to dionisiydk
* 20611-leftover-logCr-debug-logging-in-GLEmptyBrickarea
>> remove left over debug code
>> https://pharo.fogbugz.com/f/cases/20611/leftover-logCr-debug-logging-in-GLE…
Issue URL: https://pharo.fogbugz.com/f/cases/20611
PR URL: https://github.com/pharo-project/pharo/pull/452
Diff URL: https://github.com/pharo-project/pharo/pull/452/files
Thanks to MarcusDenker
* 20552-Breakpoints-stay-in-the-breakpoints-browser-even-after-their-method-is-recompiled
>> Issue URL:
https://pharo.fogbugz.com/f/cases/20552/Breakpoints-stay-in-the-breakpoints…
>> Breakpoint class now subscribes to the MethodChanged
announcement, and remove from its list the breakpoints from methods
that get recompiled.
>> Also added a test for this behaviour.
Issue URL: https://pharo.fogbugz.com/f/cases/20552
PR URL: https://github.com/pharo-project/pharo/pull/447
Diff URL: https://github.com/pharo-project/pharo/pull/447/files
Thanks to dupriezt
* 20657-Command-B-in-playground-does-not-work-the-save-way-as-printit
>> https://pharo.fogbugz.com/f/cases/20657
>>
>> try to select line if no AST node found
Issue URL: https://pharo.fogbugz.com/f/cases/20657
PR URL: https://github.com/pharo-project/pharo/pull/450
Diff URL: https://github.com/pharo-project/pharo/pull/450/files
Thanks to pavel-krivanek
* 19972-Implementers-code-pane-undo-goes-too-far
>> Clearing the undo history when changing the selected method in the list.
>> Also adding a way of clearing this history from the TextPresenter
Issue URL: https://pharo.fogbugz.com/f/cases/19972
PR URL: https://github.com/pharo-project/pharo/pull/451
Diff URL: https://github.com/pharo-project/pharo/pull/451/files
Thanks to tesonep
* 20656-Nautilus-comment-panel-got-broken-by-asLayoutFrame-cleans
>> https://pharo.fogbugz.com/f/cases/20656
>>
>> fix layout frame fraction
Issue URL: https://pharo.fogbugz.com/f/cases/20656
PR URL: https://github.com/pharo-project/pharo/pull/449
Diff URL: https://github.com/pharo-project/pharo/pull/449/files
Thanks to pavel-krivanek
* 20650-Release-cleanup-failures
>> https://pharo.fogbugz.com/f/cases/20650/Release-cleanup-failures
Issue URL: https://pharo.fogbugz.com/f/cases/20650
PR URL: https://github.com/pharo-project/pharo/pull/448
Diff URL: https://github.com/pharo-project/pharo/pull/448/files
Thanks to pavel-krivanek
* 20648-Provide-Bitmap-variant-of-Source-Code-fonts
>> https://pharo.fogbugz.com/f/cases/20648/Provide-Bitmap-variant-of-Source-Co…
>>
>> based on PR https://github.com/pharo-project/pharo/pull/439
Issue URL: https://pharo.fogbugz.com/f/cases/20648
PR URL: https://github.com/pharo-project/pharo/pull/441
Diff URL: https://github.com/pharo-project/pharo/pull/441/files
Thanks to pavel-krivanek
* 20644-Load-Bitmap-DejaVu-fonts-from-data-files-instead-of-a-Fuel-file
>> https://pharo.fogbugz.com/f/cases/20644/Load-Bitmap-DejaVu-fonts-from-data-…
Issue URL: https://pharo.fogbugz.com/f/cases/20644
PR URL: https://github.com/pharo-project/pharo/pull/439
Diff URL: https://github.com/pharo-project/pharo/pull/439/files
Thanks to pavel-krivanek
* 20643 Dark and light theme should not be version specific
>> Rename Pharo3DarkTheme into PharoDarkTheme
>> Rename Pharo3Theme into PharoLightTheme
>> and deprecate empty subclasses like Pharo3DarkTheme
>> and Pharo3Theme (but keep them for compatibility)
Issue URL: https://pharo.fogbugz.com/f/cases/20643 Dark and
light theme should not be version specific
PR URL: https://github.com/pharo-project/pharo/pull/438
Diff URL: https://github.com/pharo-project/pharo/pull/438/files
Thanks to astares
* Care on dirty package OpalTools
>> https://pharo.fogbugz.com/f/cases/20642/Care-on-dirty-package-OpalTools
>>
>> fix dirty package extension to be in OpalCompiler-Tools
Issue URL: https://pharo.fogbugz.com/f/cases/Care on dirty
package OpalTools
PR URL: https://github.com/pharo-project/pharo/pull/437
Diff URL: https://github.com/pharo-project/pharo/pull/437/files
Thanks to astares
* 20520 Package "OpalTools" should be "OpalCompiler-Tools"
>> Rename package OpalTools -> OpalCompiler-Tools
>>
>> https://pharo.fogbugz.com/f/cases/20520/Package-OpalTools-should-be-OpalCom…
Issue URL: https://pharo.fogbugz.com/f/cases/20520 Package
"OpalTools" should be "OpalCompiler
PR URL: https://github.com/pharo-project/pharo/pull/436
Diff URL: https://github.com/pharo-project/pharo/pull/436/files
Thanks to astares
* Stupid use of asLayoutFrame should be eliminated first pass.
>> Fuck my image just crashed again! ;(((((((((((((((((((((((
Issue URL: https://pharo.fogbugz.com/f/cases/Stupid use of
asLayoutFrame should be eliminated first pass.
PR URL: https://github.com/pharo-project/pharo/pull/434
Diff URL: https://github.com/pharo-project/pharo/pull/434/files
Thanks to Ducasse
* 20640 Categorize uncategorized methods in classes starting with "P"
>> Categorize methods.
>>
>>
>> So only categorization - no change in behavior
Issue URL: https://pharo.fogbugz.com/f/cases/20640 Categorize
uncategorized methods in classes starting with "P"
PR URL: https://github.com/pharo-project/pharo/pull/433
Diff URL: https://github.com/pharo-project/pharo/pull/433/files
Thanks to astares
Nov. 23, 2017