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
December 2015
- 990 messages
Re: [Pharo-dev] How to listen Monticello load start/end (and origin of changes)
by Andrei Chis
Hi Martin,
Interesting solution but it feels a bit like a hack.
For the GTools we made a solution that triggers a custom announcer before
and after a Monticello load.
We'll make a slice later today.
Cheers,
Andrei
On Thu, Dec 3, 2015 at 3:46 PM, Martin Dias <tinchodias(a)gmail.com> wrote:
> Hi,
>
> Doru asked me how does Epicea listen this information, and I created a
> snippet to demo it *in a plain Pharo 5 image* (no need to load Epicea
> before). Maybe somebody else is interested, that's why I share it with
> everybody.
>
> You can open a Transcript and evaluate the following snippet. After
> evaluation, you can add new methods in Nautilus and see the log in the
> Transcript. (The code is not very nice).
>
> Cheers,
> Martin
>
>
>
> "Listen load start"
> Job jobAnnouncer
> when: JobStart
> do: [ :aJobStart |
> | owner |
> owner := aJobStart job owner.
>
> (owner isKindOf: MCVersionLoader)
> ifTrue: [ ('Starting to load ', owner versions asArray asString) logCr ] ].
> "Listen load end"
> Job jobAnnouncer
> when: JobEnd
> do: [ :aJobEnd |
> | owner |
> owner := aJobEnd job owner.
>
> (owner isKindOf: MCVersionLoader)
> ifTrue: [ ('Ending to load ', owner versions asArray asString) logCr ] ].
>
> "Listen changes in the middle"
> SystemAnnouncer uniqueInstance
> when: MethodAdded
> do: [ :aMethodAdded |
> | mcLoaderJobOrNil |
> mcLoaderJobOrNil :=
> Job current
> ifNil: [ nil ]
> ifNotNil: [ :currentJob |
> currentJob
> lookup: [ :job | job owner isKindOf: MCVersionLoader ]
> ifNone: [ nil ] ].
> (aMethodAdded methodAdded printString, ' --- ',
> (mcLoaderJobOrNil
> ifNil: [ 'no info' ]
> ifNotNil: [ 'while loading ', mcLoaderJobOrNil owner versions asArray
> asString ])) logCr ].
>
>
> "Try it loading"
> Gofer it
> smalltalkhubUser: 'MartinDias' project: 'AlarmClock';
> package: 'AlarmClock';
> load.
>
>
>
>
Dec. 4, 2015
SessionManager (aka new startup / shutdown list manager) needs testers
by Christophe Demarey
Hi,
Guillermo, Pablo and I started to work on a new implementation for the image startup / shutdown list.
The old implementation misses domain objects, polluted the SmalltalkImage class and introduced crazy dependencies to other packages.
So, what is Session Manager?
a replacement of the Session class (is now WorkingSession)
a rewrite of startup / shutdown list with domain objects
SessionManager: can create new sessions and manage categories. Also provide a facade to register new session handlers. Session manager provide sthe list of handlers by order of priority (categories order and categories priority) either for the startup or the shutdown,
WorkingSession: unique object for the current smalltalk session (I.e. between a startup and a shutdown). On each image startup the current session is invalidated and a new session is created. Define how errors should be handled. Run the startup / shutdown process.
SessionCategory: we defined some well known categories for startup / shutdown: system, network, GUI, tools and there is room to add user specific categories, It help to run the handler at the right time without caring about the whole order.
and SessionHandlers: handleSession for a specific class or any other object.
the shutdown list is now simply the startup list reversed
we also refactored error handling at startup by using the UIManager and StartupUIManager. It allowed to remove ugly checks like #isInteractive, isHeadless in error handling methods and centralize that in UIManager.
You can find an image with the new SessionManager in action here: https://ci.inria.fr/pharo-contribution/job/SessionManager/
As it is a critical piece of code, could you play / test it a bit before we integrate this new mechanism in the Pharo image?
Regards,
Christophe
ps: Pharo tests pass
ps2: There is still some code to clean / remove from the old startup management system.
Dec. 4, 2015
Re: [Pharo-dev] [pharo-project/pharo-core] d12673: 50483
by Andrei Chis
I copied the package to the Glamour repo.
But I have no idea why the integrator decided to create that package.
Cheers,
Andrei
On Fri, Dec 4, 2015 at 12:20 PM, Pavel Krivanek <pavel.krivanek(a)gmail.com>
wrote:
> ConfigurationOfIDE job fails because of this error:
> Could not resolve: Glamour-Morphic-Brick-Tests
> [Glamour-Morphic-Brick-Tests-TheIntegrator.14] in
> /builds/workspace/Pharo-5.0-Update-Step-1-Tracker/package-cache
> http://smalltalkhub.com/mc/Moose/Glamour/main/
>
> Can someone with write permissions push this package version to the
> Glamour repository?
>
> Cheers,
> -- Pavel
>
> 2015-12-04 11:16 GMT+01:00 GitHub <noreply(a)github.com>:
>
>> Branch: refs/heads/5.0
>> Home: https://github.com/pharo-project/pharo-core
>> Commit: d1267341a42b97e366de51b22cf83e5cb2f1f22a
>>
>> https://github.com/pharo-project/pharo-core/commit/d1267341a42b97e366de51b2…
>> Author: Jenkins Build Server <board(a)pharo-project.org>
>> Date: 2015-12-04 (Fri, 04 Dec 2015)
>>
>> Changed paths:
>> M FontChooser.package/FontChooserMorph.class/instance/interface
>> building/newFontPointSizeField.st
>> M
>> Morphic-Core.package/Morph.class/instance/events-processing/handleMouseMove_.st
>> A
>> Morphic-Core.package/Morph.class/instance/events-processing/handlesMouseMove_.st
>> R Morphic-Widgets-NewList.package/NewListExample.class/README.md
>> R Morphic-Widgets-NewList.package/NewListExample.class/definition.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/accessing/listMorph.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/accessing/listMorph_.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialization/
>> initialize.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/buildMorph.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/buildMorphWithOld.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/buildTextMorph.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/openInWindow.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/openInWorld.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/withNewList.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/withOldList.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/allowToSelect.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/displayItem_.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/drop_at_.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/getIndex.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/getItems.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/headerTitle.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/iconFor_at_.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/iconMaxSize.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/menu_shifted_.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/setIndex_.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/
>> title.st
>> R
>> Morphic-Widgets-NewList.package/NewListExample.class/instance/protocol/toggleTitle.st
>> M
>> NECompletion.package/NECContext.class/instance/accessing/createModel.st
>> A
>> NECompletion.package/NECContext.class/instance/private-type-guessing/completionTokenIsComment.st
>> A
>> NECompletion.package/NECContext.class/instance/private-type-guessing/completionTokenIsLiteralOrComment.st
>> M
>> NECompletion.package/NECContext.class/instance/private/createRanges.st
>> R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/
>> script50482.st
>> A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/
>> script50483.st
>> R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/
>> update50482.st
>> A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/
>> update50483.st
>> M
>> ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
>> M Slot.package/extension/Behavior/instance/classLayout.st
>> M Slot.package/extension/Behavior/instance/layout.st
>> M Slot.package/extension/Behavior/instance/layout_.st
>> M
>> SmartSuggestions-Tests.package/SugsMockContext.class/instance/api-context/sourceTextArea.st
>>
>> Log Message:
>> -----------
>> 50483
>> 17167 disable NEC completion in method comments
>> https://pharo.fogbugz.com/f/cases/17167
>>
>> 17181 Rename layout to classLayout (step 3.5 replace implementation in
>> Behavior)
>> https://pharo.fogbugz.com/f/cases/17181
>>
>> 16724 new removal of RubPluggableTextMorph
>> https://pharo.fogbugz.com/f/cases/16724
>>
>> 17178 Move checking logic of #handleMouseMove: into #handlesMouseMove:
>> https://pharo.fogbugz.com/f/cases/17178
>>
>> http://files.pharo.org/image/50/50483.zip
>>
>>
>>
>
Dec. 4, 2015
Unicode Support
by EuanM
I'm currently groping my way to seeing how feature-complete our
Unicode support is. I am doing this to establish what still needs to
be done to provide full Unicode support.
This seems to me to be an area where it would be best to write it
once, and then have the same codebase incorporated into the Smalltalks
that most share a common ancestry.
I am keen to get: equality-testing for strings; sortability for
strings which have ligatures and diacritic characters; and correct
round-tripping of data.
Call to action:
==========
If you have comments on these proposals - such as "but we already have
that facility" or "the reason we do not have these facilities is
because they are dog-slow" - please let me know them.
If you would like to help out, please let me know.
If you have Unicode experience and expertise, and would like to be, or
would be willing to be, in the 'council of experts' for this project,
please let me know.
If you have comments or ideas on anything mentioned in this email
In the first instance, the initiative's website will be:
http://smalltalk.uk.to/unicode.html
I have created a SqueakSource.com project called UnicodeSupport
I want to avoid re-inventing any facilities which already exist.
Except where they prevent us reaching the goals of:
- sortable UTF8 strings
- sortable UTF16 strings
- equivalence testing of 2 UTF8 strings
- equivalence testing of 2 UTF16 strings
- round-tripping UTF8 strings through Smalltalk
- roundtripping UTF16 strings through Smalltalk.
As I understand it, we have limited Unicode support atm.
Current state of play
===============
ByteString gets converted to WideString when need is automagically detected.
Is there anything else that currently exists?
Definition of Terms
==============
A quick definition of terms before I go any further:
Standard terms from the Unicode standard
===============================
a compatibility character : an additional encoding of a *normal*
character, for compatibility and round-trip conversion purposes. For
instance, a 1-byte encoding of a Latin character with a diacritic.
Made-up terms
============
a convenience codepoint : a single codepoint which represents an item
that is also encoded as a string of codepoints.
(I tend to use the terms compatibility character and compatibility
codepoint interchangably. The standard only refers to them as
compatibility characters. However, the standard is determined to
emphasise that characters are abstract and that codepoints are
concrete. So I think it is often more useful and productive to think
of compatibility or convenience codepoints).
a composed character : a character made up of several codepoints
Unicode encoding explained
=====================
A convenience codepoint can therefore be thought of as a code point
used for a character which also has a composed form.
The way Unicode works is that sometimes you can encode a character in
one byte, sometimes not. Sometimes you can encode it in two bytes,
sometimes not.
You can therefore have a long stream of ASCII which is single-byte
Unicode. If there is an occasional Cyrillic or Greek character in the
stream, it would be represented either by a compatibility character or
by a multi-byte combination.
Using compatibility characters can prevent proper sorting and
equivalence testing.
Using "pure" Unicode, ie. "normal encodings", can cause compatibility
and round-tripping probelms. Although avoiding them can *also* cause
compatibility issues and round-tripping problems.
Currently my thinking is:
a Utf8String class
an Ordered collection, with 1 byte characters as the modal element,
but short arrays of wider strings where necessary
a Utf16String class
an Ordered collection, with 2 byte characters as the modal element,
but short arrays of wider strings
beginning with a 2-byte endianness indicator.
Utf8Strings sometimes need to be sortable, and sometimes need to be compatible.
So my thinking is that Utf8String will contain convenience codepoints,
for round-tripping. And where there are multiple convenience
codepoints for a character, that it standardises on one.
And that there is a Utf8SortableString which uses *only* normal characters.
We then need methods to convert between the two.
aUtf8String asUtf8SortableString
and
aUtf8SortableString asUtf8String
Sort orders are culture and context dependent - Sweden and Germany
have different sort orders for the same diacritic-ed characters. Some
countries have one order in general usage, and another for specific
usages, such as phone directories (e.g. UK and France)
Similarly for Utf16 : Utf16String and Utf16SortableString and
conversion methods
A list of sorted words would be a SortedCollection, and there could be
pre-prepared sortBlocks for them, e.g. frPhoneBookOrder, deOrder,
seOrder, ukOrder, etc
along the lines of
aListOfWords := SortedCollection sortBlock: deOrder
If a word is either a Utf8SortableString, or a well-formed Utf8String,
then we can perform equivalence testing on them trivially.
To make sure a Utf8String is well formed, we would need to have a way
of cleaning up any convenience codepoints which were valid, but which
were for a character which has multiple equally-valid alternative
convenience codepoints, and for which the string currently had the
"wrong" convenience codepoint. (i.e for any character with valid
alternative convenience codepoints, we would choose one to be in the
well-formed Utf8String, and we would need a method for cleaning the
alternative convenience codepoints out of the string, and replacing
them with the chosen approved convenience codepoint.
aUtf8String cleanUtf8String
With WideString, a lot of the issues disappear - except
round-tripping(although I'm sure I have seen something recently about
4-byte strings that also have an additional bit. Which would make
some Unicode characters 5-bytes long.)
(I'm starting to zone out now - if I've overlooked anything - obvious,
subtle, or somewhere in between, please let me know)
Cheers,
Euan
Dec. 4, 2015
changes view broken
by Nicolai Hess
Oh oh, I broke the changes view.
For example, open Repository of Rubric, select a latest package, press
changes
-> no result
merge
-> shows the diff
caused by my fix for 17148
<https://pharo.fogbugz.com/f/cases/17148/Seeing-changes-and-then-merge-them-…>
Seeing changes and then merge them generates merge conflicts
sorry for that.
Dec. 4, 2015
Re: [Pharo-dev] Java Future
by EuanM
There were two issues - one was lack of handover of packages in the Catalog.
The other required a reboot of Smalltalkhub
On 4 December 2015 at 09:54, Marcus Denker <marcus.denker(a)inria.fr> wrote:
> We are quite fast in integrating the last weeks (even months).
>
> *Reviewed* fixes get integrated within hours, and I try to review as much
> as I can if others do not.
>
> To me this sounds like a fix to some other project on SmalltalkHub. T
>
> The thing here is that this is like gitHub: if a random Java project is
> abandoned,
> does Oracle step in and take over maintenance?
>
> Marcus
>
> On 04 Dec 2015, at 09:49, phil(a)highoctane.be wrote:
>
> Question: how long to drop the slice into the inbox?
>
> On Fri, Dec 4, 2015 at 8:51 AM, EuanM <euanmee(a)gmail.com> wrote:
>>
>> Hi Steph,
>>
>> As a newcomer, here is my experience with my first bug-fix:
>>
>> I wrote the fix in about 5 minutes.
>>
>> It then took several weeks to get the big-fix accepted because of
>> issues with the repository and, separately, with bitrot in the list of
>> maintainers.
>>
>> On 30 November 2015 at 16:52, stepharo <stepharo(a)free.fr> wrote:
>> > True help closing bug
>> > Build a great library
>> > Buidl a cool software
>> >
>> > Stef
>> >
>> > Le 30/11/15 04:44, EuanM a écrit :
>> >
>> >> We also need to concentrate on building our community.
>> >>
>> >> We build a better platform faster if we have more people.
>> >>
>> >> We build a more valuable platform if we have a wider range of valuable
>> >> use cases to target.
>> >>
>> >> Unless and until we hit a critical mass of people joining our
>> >> community, we *need* to spend some of our focus on community-building.
>> >>
>> >> Part of great is being able to build things to sufficient completeness
>> >> *and* keep them in working order over the long haul. This is easier
>> >> with more contributors.
>> >>
>> >> On 27 November 2015 at 21:27, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>> >>>
>> >>> Hello everyone,
>> >>>
>> >>> Please stop this thread on this mailing list. We need to focus on
>> >>> building a great platform.
>> >>>
>> >>> Cheers,
>> >>> Doru
>> >>>
>> >>>
>> >>>> On Nov 27, 2015, at 10:05 PM, EuanM <euanmee(a)gmail.com> wrote:
>> >>>>
>> >>>> First of all - is this true? Where can we read about it?
>> >>>>
>> >>>> I cannot find anything about this at
>> >>>> https://www.oracle.com/search/press
>> >>>>
>> >>>> =======================================
>> >>>>
>> >>>> If Oracle did make this statement, then what people have said so far
>> >>>> is true. BUT...
>> >>>>
>> >>>> Java got about 40% of its initial momentum from IBM dumping VisualAge
>> >>>> and putting all their resources into Java.
>> >>>>
>> >>>> Oracle are targetting this move at IBM more than anyone else.
>> >>>>
>> >>>> IBM will start to think about how to migrate from Java - as Oracle
>> >>>> are
>> >>>> telling them they will have to. (It's OUR bat and its OUR ball, and
>> >>>> no-one else can play with it. Not even the Java Community). And
>> >>>> IBM's coders do not pay for Java, Eclipse users do not pay for Java.
>> >>>> I
>> >>>> expect the licence-fee income for JREs is small.
>> >>>>
>> >>>> Oracle are doing one of two things - announcing that Java is for sale
>> >>>> to device providers - phones (Google is the obvious buyer) or the
>> >>>> impending Internet of Things (which was what Java was designed for
>> >>>> originally) or announcing that no-one making an internet of things
>> >>>> offering should consider Java.
>> >>>>
>> >>>> Yes, things live on and on in a kind of zombie state. So yes, things
>> >>>> live on as long as their ecosystem does. And they gently wither and
>> >>>> their ecosystem withers is a long slow drawn out spiral. Which is
>> >>>> why
>> >>>> we still have Cobol.
>> >>>>
>> >>>> People and organisations tend to move from one technology to another
>> >>>> in an incremental fashion. Swapping a little bit here, and a little
>> >>>> bit there.
>> >>>>
>> >>>> The new target platforms are ones which
>> >>>> 1) look like they have longevity, and
>> >>>> 2) have a migration pathway that provides incremental steps.
>> >>>>
>> >>>> Offering a compelling advantage is good - but only if the steps 1)
>> >>>> and 2) are catered to.
>> >>>>
>> >>>> IBM VisualAge Smalltalk is still robust, commercially available
>> >>>> software, and VisualStudio and Gemstone continue to represent
>> >>>> Smalltalk out to the big world of corporate development.
>> >>>>
>> >>>> So that's a start.
>> >>>>
>> >>>> Say only 5% of the Java world moves away from Java each year, as a
>> >>>> result of this announcement.
>> >>>>
>> >>>> We *should* wish to take advantage of this announcement.
>> >>>>
>> >>>> After all, think what difference having even 0.01% of the world's
>> >>>> Java
>> >>>> coders moving to Smalltalk would make. How could we help that
>> >>>> happen?
>> >>>>
>> >>>> Think what it would be like to have thought-leaders like Kent Beck
>> >>>> and
>> >>>> Ward Cunningham back in the Smalltalk fold. How could we help that
>> >>>> happen?
>> >>>>
>> >>>> Think what it would be like to get back all the universities who
>> >>>> moved
>> >>>> from teaching OO concepts using Smalltalk into teaching them via
>> >>>> Java.
>> >>>> We now know almost all the ones using Smalltalk as a teaching
>> >>>> language
>> >>>> by name. Does anyone know even how many universities teach OO via
>> >>>> Java? What would it be like if 5% of those universities moved to
>> >>>> Smalltalk each year. How could we help that happen?
>> >>>>
>> >>>> Next - do we have any big brained thinkers who can see specific ways
>> >>>> we can improve interoperation between Java facilities and libraries
>> >>>> and the Smalltalks? For the next 12 months, we should work on Java
>> >>>> integration, rather than C++ integration. We should identify the
>> >>>> three best things for us to do in this regard, and make them
>> >>>> polished
>> >>>> and compelling. Who is in a position to help that happen?
>> >>>>
>> >>>> The final way we can take advantage help the maximum number of people
>> >>>> find their way to us is to present a united community front to the
>> >>>> outside world. In the same way I am both a European and a Scot, we
>> >>>> need to be Smalltalkers *and*members of our individual
>> >>>> Smalltalk-platform communities.
>> >>>>
>> >>>> How can we help make that happen?
>> >>>>
>> >>>> This is not a silver bullet. It's going to cause a long-term trend in
>> >>>> events, not a sudden abrupt change. But it will have a real, if
>> >>>> gradual effect. (assuming that
>> >>>>
>> >>>> Equally, it is not something we should ignore. It is something we
>> >>>> should make use of. We need to put effort into raising our profile
>> >>>> over the next 6 months.
>> >>>>
>> >>>> On 25 November 2015 at 19:51, Casimiro - GMAIL
>> >>>> <casimiro.barreto(a)gmail.com> wrote:
>> >>>>>
>> >>>>> Em 25-11-2015 17:21, Nicolas Anquetil escreveu:
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On 25/11/2015 19:55, Jimmie Houchin wrote:
>> >>>>>
>> >>>>> Much truth in what you say. However, what Oracle choose to invest
>> >>>>> its
>> >>>>> money,
>> >>>>> time, personnel resource into Java does affect its present and
>> >>>>> future.
>> >>>>> It
>> >>>>> has a great affect. But it isn't the whole story. Java has enough
>> >>>>> momentum
>> >>>>> in what already exists in the language and vm and what has been
>> >>>>> release
>> >>>>> under its license, for businesses to keep going for some time with
>> >>>>> only
>> >>>>> what
>> >>>>> currently exists.
>> >>>>>
>> >>>>> Cobol is still alive (and well) after > 50 years.
>> >>>>> You can expect Java programmers to find jobs for many years yet to
>> >>>>> come
>> >>>>> :-)
>> >>>>>
>> >>>>> nicolas
>> >>>>>
>> >>>>> --
>> >>>>> Nicolas Anquetil
>> >>>>> RMod team -- Inria Lille
>> >>>>>
>> >>>>> 1st: Java is extremely profitable. Each android phone, each android
>> >>>>> TV,
>> >>>>> each
>> >>>>> android embedded system pays copyrights to Oracle.
>> >>>>> 2nd: Much of current cloud infrastructure depends on java.
>> >>>>> 3rd: Java is already obsolete, like Frotran, Cobol, C, C++. It will
>> >>>>> continue
>> >>>>> to be used by same reasons these languages are used.
>> >>>>>
>> >>>>> IMHO, discussing java is not profitable. Better to discuss things to
>> >>>>> be
>> >>>>> than
>> >>>>> talk about things that already happened.
>> >>>>>
>> >>>>> casimiro
>> >>>>>
>> >>>>> --
>> >>>>> The information contained in this message is confidential and
>> >>>>> intended
>> >>>>> to
>> >>>>> the recipients specified in the headers. If you received this
>> >>>>> message
>> >>>>> by
>> >>>>> error, notify the sender immediately. The unauthorized use,
>> >>>>> disclosure,
>> >>>>> copy
>> >>>>> or alteration of this message are strictly forbidden and subjected
>> >>>>> to
>> >>>>> civil
>> >>>>> and criminal sanctions.
>> >>>>>
>> >>>>> ==
>> >>>>>
>> >>>>> This email may be signed using PGP key ID: 0x4134A417
>> >>>
>> >>> --
>> >>> www.tudorgirba.com
>> >>>
>> >>> "Reasonable is what we are accustomed with."
>> >>>
>> >>>
>> >>
>> >
>> >
>>
>
>
Dec. 4, 2015
Re: [Pharo-dev] [pharo-project/pharo-core] d12673: 50483
by Pavel Krivanek
ConfigurationOfIDE job fails because of this error:
Could not resolve: Glamour-Morphic-Brick-Tests
[Glamour-Morphic-Brick-Tests-TheIntegrator.14] in
/builds/workspace/Pharo-5.0-Update-Step-1-Tracker/package-cache
http://smalltalkhub.com/mc/Moose/Glamour/main/
Can someone with write permissions push this package version to the Glamour
repository?
Cheers,
-- Pavel
2015-12-04 11:16 GMT+01:00 GitHub <noreply(a)github.com>:
> Branch: refs/heads/5.0
> Home: https://github.com/pharo-project/pharo-core
> Commit: d1267341a42b97e366de51b22cf83e5cb2f1f22a
>
> https://github.com/pharo-project/pharo-core/commit/d1267341a42b97e366de51b2…
> Author: Jenkins Build Server <board(a)pharo-project.org>
> Date: 2015-12-04 (Fri, 04 Dec 2015)
>
> Changed paths:
> M FontChooser.package/FontChooserMorph.class/instance/interface
> building/newFontPointSizeField.st
> M
> Morphic-Core.package/Morph.class/instance/events-processing/handleMouseMove_.st
> A
> Morphic-Core.package/Morph.class/instance/events-processing/handlesMouseMove_.st
> R Morphic-Widgets-NewList.package/NewListExample.class/README.md
> R Morphic-Widgets-NewList.package/NewListExample.class/definition.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/accessing/listMorph.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/accessing/listMorph_.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialization/
> initialize.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/buildMorph.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/buildMorphWithOld.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/buildTextMorph.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/openInWindow.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/openInWorld.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/withNewList.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/initialize/withOldList.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/allowToSelect.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/displayItem_.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/drop_at_.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/getIndex.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/getItems.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/headerTitle.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/iconFor_at_.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/iconMaxSize.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/menu_shifted_.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/setIndex_.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/morphic/
> title.st
> R
> Morphic-Widgets-NewList.package/NewListExample.class/instance/protocol/toggleTitle.st
> M
> NECompletion.package/NECContext.class/instance/accessing/createModel.st
> A
> NECompletion.package/NECContext.class/instance/private-type-guessing/completionTokenIsComment.st
> A
> NECompletion.package/NECContext.class/instance/private-type-guessing/completionTokenIsLiteralOrComment.st
> M
> NECompletion.package/NECContext.class/instance/private/createRanges.st
> R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/
> script50482.st
> A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/
> script50483.st
> R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/
> update50482.st
> A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/
> update50483.st
> M
> ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
> M Slot.package/extension/Behavior/instance/classLayout.st
> M Slot.package/extension/Behavior/instance/layout.st
> M Slot.package/extension/Behavior/instance/layout_.st
> M
> SmartSuggestions-Tests.package/SugsMockContext.class/instance/api-context/sourceTextArea.st
>
> Log Message:
> -----------
> 50483
> 17167 disable NEC completion in method comments
> https://pharo.fogbugz.com/f/cases/17167
>
> 17181 Rename layout to classLayout (step 3.5 replace implementation in
> Behavior)
> https://pharo.fogbugz.com/f/cases/17181
>
> 16724 new removal of RubPluggableTextMorph
> https://pharo.fogbugz.com/f/cases/16724
>
> 17178 Move checking logic of #handleMouseMove: into #handlesMouseMove:
> https://pharo.fogbugz.com/f/cases/17178
>
> http://files.pharo.org/image/50/50483.zip
>
>
>
Dec. 4, 2015
Re: [Pharo-dev] Hook "WACurrentRequestContext" into debugger?
by Max Leske
Hereâs a snippet to play with:
p := Processor activeProcess.
x := 2.
v := TestDynamicVariable value: x during: [
((p instVarNamed: 'env') ifNotNil: [ :env|
env copyWithout: nil ]) inspect
].
((p instVarNamed: 'env') ifNotNil: [ :env|
env copyWithout: nil ]) inspect
Cheers,
Max
> On 04 Dec 2015, at 10:47, Max Leske <maxleske(a)gmail.com> wrote:
>
> I feel you :)
>
> Without having thought this through completely: if you look at the implementation of DynamicVariable>>value:during: youâll see that the way it works is that the variable is bound to the active process. In the debugger you have access to the process that is being debugged and thus you should have access to the variables bound to it. You could try accessing all such variables by iterating over them (which I think will require an extension on Process because youâd need to access at least the PSKeys class variable).
>
> Cheers,
> Max
>
>> On 04 Dec 2015, at 00:34, Mariano Martinez Peck <marianopeck(a)gmail.com <mailto:marianopeck@gmail.com>> wrote:
>>
>> Hi guys,
>>
>> This thing I will ask in this email it's in my mind since YEARS. But I have always thought it was like that and that there was nothing we could do. However, I think it's time I ask again :)
>>
>> For those that have used Seaside, and you try to debug, you know that upon request processing seaside uses Exceptions mechanisim to always have access to the request, session, etc. They way that is done is very smart :)
>>
>> WACurrentRequestContext use: self during: aBlock
>>
>> In that case, "self" is the request instance and aBlock the closure that takes care of the request processing. So, inside that closure, everywhere you do "WACurrentRequestContext value" you get the correct request instance.
>>
>> So..that's great for Seaside, but debugging gets complicated. While you can restart, proceed, etc, once inside debugger, you cannot evaluate any piece of code that will use the session or request because you get a WARequestContextNotFound. Of course, because I guess the evaluation you do from cmd+d on a piece of text or via the debugger inspector, creates another closure/context which does not receive the WACurrentRequestContext instance.
>>
>> Now....besides WACurrentRequestContext I have my own class UserContextInformation where I basically have a bunch of stuff associated to the logged user. And I do exactly the same as the WACurrentRequestContext. And I have the same problem. I really want to be able to fix this.
>>
>> Anyone have an idea on how can I do it? I guess I can change the debugger, in the place where I evaluate code so that I wrap that evaluation with my request context instance???
>>
>> Thoughts?
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com <http://marianopeck.wordpress.com/>
>
Dec. 4, 2015
[issue tracker] action of package maintainers needed
by Marcus Denker
Hi,
We have again 6 issues that are âfixed upstreamâ
https://pharo.fogbugz.com/f/filters/138/fixed-upstream <https://pharo.fogbugz.com/f/filters/138/fixed-upstream>
The maintainers of these packages should not forget to push a current
version into Pharo. The easier you do that, the earlier the version gets
tested. And the earlier everyone actually benefits from the fixes and improvements.
Another effect is that people tend to wait till everything they did is integrated. So if
you want more good things from where the fixes come from, make sure that they
get to a final âDONEâ state fastâ¦
Marcus
Dec. 4, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/50483
Home: https://github.com/pharo-project/pharo-core
Dec. 4, 2015