[Pharo-project] Hack to make mac menus work in post pharo0.1-10284dev09.04.4
Ok Michael asked er, where is it broken this morning. So as he is making the official fix I'll supply a hack so that people don't loose their minds over the issue. The offical fix will override all this, but it will get mac users back on track this morning. First of all you need to do InputEventSensor startup so the class variables get initialized, the usual case of "sure my startup class method runs, doesn't it?" Add this method InputEventSensor>>processMenuEvent: evt | handler localCopyOfEvt | localCopyOfEvt := evt clone. handler := (HostSystemMenus defaultMenuBarForWindowIndex: (localCopyOfEvt at: 8)) getHandlerForMenu: (localCopyOfEvt at: 3) item: (localCopyOfEvt at: 4). [[handler handler value: localCopyOfEvt] ifError: [:err :rcvr | ]] forkAt: Processor activePriority. Then alter processMouseEvent: so that it checks for EventTypeMenu types InputEventSensor>>processMouseEvent: evt "process a mouse event, updating InputSensor state" (evt at: 1) = EventTypeMenu ifTrue: [self processMenuEvent: evt. nil]. "Check if it is a mouse event" (evt at: 1) = EventTypeMouse ifFalse: [^evt]. "Update state for polling calls" mousePosition := (evt at: 3) @ (evt at: 4). modifiers := evt at: 6. "Map button state depending on meta keys pressed" mouseButtons := evt at: 5. "Return the event so we can use this method inline in peek and next" ^evt -- = = = ======================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
On 21-Apr-09, at 10:52 AM, John M McIntosh wrote:
(evt at: 1) = EventTypeMenu ifTrue: [self processMenuEvent: evt. nil].
Oops that should read (evt at: 1) = EventTypeMenu ifTrue: [self processMenuEvent: evt. ^nil]. However the first suggestion works because it falls thru to the next if block where it does the ^evt but no-one knows how to process. = = = ======================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
John M McIntosh wrote:
Ok Michael asked er, where is it broken this morning.
So as he is making the official fix I'll supply a hack so that people don't loose their minds over the issue.
Thank you!!! That would have taken me days to figure out... I'll make an official fix latest tomorrow. Michael
Stef On Apr 21, 2009, at 7:59 PM, Michael Rueger wrote:
John M McIntosh wrote:
Ok Michael asked er, where is it broken this morning.
So as he is making the official fix I'll supply a hack so that people don't loose their minds over the issue.
Thank you!!!
That would have taken me days to figure out...
I'll make an official fix latest tomorrow.
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Should this fix work also for Linux ? I tried it but the copy past still doesn't work. Thanks, Mariano 2009/4/21 Stéphane Ducasse <stephane.ducasse@inria.fr>
Stef
On Apr 21, 2009, at 7:59 PM, Michael Rueger wrote:
John M McIntosh wrote:
Ok Michael asked er, where is it broken this morning.
So as he is making the official fix I'll supply a hack so that people don't loose their minds over the issue.
Thank you!!!
That would have taken me days to figure out...
I'll make an official fix latest tomorrow.
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I do not know but on mac it saved my day :) Stef On Apr 21, 2009, at 9:04 PM, Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past still doesn't work.
Thanks,
Mariano
2009/4/21 Stéphane Ducasse <stephane.ducasse@inria.fr>
Stef
On Apr 21, 2009, at 7:59 PM, Michael Rueger wrote:
John M McIntosh wrote: Ok Michael asked er, where is it broken this morning.
So as he is making the official fix I'll supply a hack so that people don't loose their minds over the issue.
Thank you!!!
That would have taken me days to figure out...
I'll make an official fix latest tomorrow.
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past still doesn't work.
The fix is not related to Linux. Do other short cuts work? Which distribution are you using? Michael
On Tue, Apr 21, 2009 at 6:54 PM, Michael Rueger <m.rueger@acm.org> wrote:
Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past still doesn't work.
The fix is not related to Linux. Do other short cuts work?
No. No shortcut si working. I tried ctrl + b to browse, ctrl + x, ctrl + c, ctrl + v, ctrl + w, select text shift + arrows. Swap mouse preference doesn't work also. I am using pharo0.1-10289dev09.04.5 in Ubuntu 8.10 and last exupery (with closure) vm. Thanks, Mariano
Which distribution are you using?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Try alt+c alt+x alt+v Nicolas 2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 6:54 PM, Michael Rueger <m.rueger@acm.org> wrote:
Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past still doesn't work.
The fix is not related to Linux. Do other short cuts work?
No. No shortcut si working. I tried ctrl + b to browse, ctrl + x, ctrl + c, ctrl + v, ctrl + w, select text shift + arrows.
Swap mouse preference doesn't work also. I am using pharo0.1-10289dev09.04.5 in Ubuntu 8.10 and last exupery (with closure) vm.
Thanks,
Mariano
Which distribution are you using?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Tue, Apr 21, 2009 at 7:15 PM, Nicolas Cellier < nicolas.cellier.aka.nice@gmail.com> wrote:
Try alt+c alt+x alt+v
:) yes, this works. Also alt + b to browse a class However, there are others that still doesn't work: shift + arrows to select text for example. Thanks! Mariano
Nicolas
2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 6:54 PM, Michael Rueger <m.rueger@acm.org>
wrote:
Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past
still
doesn't work.
The fix is not related to Linux. Do other short cuts work?
No. No shortcut si working. I tried ctrl + b to browse, ctrl + x, ctrl + c, ctrl + v, ctrl + w, select text shift + arrows.
Swap mouse preference doesn't work also. I am using pharo0.1-10289dev09.04.5 in Ubuntu 8.10 and last exupery (with closure) vm.
Thanks,
Mariano
Which distribution are you using?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
In the interim, you can try to re-install an old Sensor, like: InputEventFetcher deinstall. EventSensor install. Smalltalk addToShutDownList: Sensor class. Smalltalk addToStartUpList: Sensor class. No guaranty 2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 7:15 PM, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
Try alt+c alt+x alt+v
:) yes, this works. Also alt + b to browse a class
However, there are others that still doesn't work: shift + arrows to select text for example.
Thanks!
Mariano
Nicolas
2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 6:54 PM, Michael Rueger <m.rueger@acm.org> wrote:
Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past still doesn't work.
The fix is not related to Linux. Do other short cuts work?
No. No shortcut si working. I tried ctrl + b to browse, ctrl + x, ctrl + c, ctrl + v, ctrl + w, select text shift + arrows.
Swap mouse preference doesn't work also. I am using pharo0.1-10289dev09.04.5 in Ubuntu 8.10 and last exupery (with closure) vm.
Thanks,
Mariano
Which distribution are you using?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Tue, Apr 21, 2009 at 7:52 PM, Nicolas Cellier < nicolas.cellier.aka.nice@gmail.com> wrote:
In the interim, you can try to re-install an old Sensor, like:
InputEventFetcher deinstall. EventSensor install. Smalltalk addToShutDownList: Sensor class. Smalltalk addToStartUpList: Sensor class.
Actually, I don't need it for my "real work". I mean, I can use another image that works ok. I was just trying to colaborate as a beta tester. Anyway, what you told me give me a walkback. Thanks for the help, Mariano MessageNotUnderstood: EventSensor>>handleEvent: 21 April 2009 5:56:37 pm VM: Win32 - a SmalltalkImage Image: Pharo0.1 [Latest update: #10289] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir C:\mariano\squeak\pharo0.1-10289dev09.04.5 Trusted Dir C:\mariano\squeak\pharo0.1-10289dev09.04.5\m.martinez Untrusted Dir C:\Documents and Settings\m.martinez\Mis documentos\My Squeak EventSensor(Object)>>doesNotUnderstand: #handleEvent: Receiver: an EventSensor Arguments and temporary variables: aMessage: handleEvent: #(1 31548515 278 66 0 0 0 1) exception: MessageNotUnderstood: EventSensor>>handleEvent: resumeValue: nil Receiver's instance variables: mouseButtons: 0 mousePosition: 0@0 keyboardBuffer: a SharedQueue interruptKey: 2094 interruptSemaphore: a Semaphore(a Process in EventSensor(InputSensor)>>userInte...etc... eventQueue: a SharedQueue inputSemaphore: a Semaphore() lastEventPoll: 31548521 hasInputSemaphore: false [] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent: Receiver: an InputEventPollingFetcher Arguments and temporary variables: eventBuffer: an EventSensor handler: #(1 31548515 278 66 0 0 0 1) Receiver's instance variables: eventHandlers: an OrderedCollection(an EventSensor an UserInterruptHandler) fetcherProcess: a Process in Debugger class>>openOn:context:label:contents:full...etc... inputSemaphore: a Semaphore() OrderedCollection>>do: Receiver: an OrderedCollection(an EventSensor an UserInterruptHandler) Arguments and temporary variables: aBlock: [closure] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent: index: 3 Receiver's instance variables: array: an Array(nil nil an EventSensor an UserInterruptHandler nil nil nil nil ...etc... firstIndex: 3 lastIndex: 4 InputEventPollingFetcher(InputEventFetcher)>>signalEvent: Receiver: an InputEventPollingFetcher Arguments and temporary variables: eventBuffer: #(1 31548515 278 66 0 0 0 1) Receiver's instance variables: eventHandlers: an OrderedCollection(an EventSensor an UserInterruptHandler) fetcherProcess: a Process in Debugger class>>openOn:context:label:contents:full...etc... inputSemaphore: a Semaphore() --- The full stack --- EventSensor(Object)>>doesNotUnderstand: #handleEvent: [] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent: OrderedCollection>>do: InputEventPollingFetcher(InputEventFetcher)>>signalEvent: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - InputEventPollingFetcher(InputEventFetcher)>>eventLoop [] in InputEventPollingFetcher>>installEventLoop [] in BlockClosure>>newProcess
No guaranty
2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 7:15 PM, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
Try alt+c alt+x alt+v
:) yes, this works. Also alt + b to browse a class
However, there are others that still doesn't work: shift + arrows to
text for example.
Thanks!
Mariano
Nicolas
2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 6:54 PM, Michael Rueger <m.rueger@acm.org> wrote:
Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past still doesn't work.
The fix is not related to Linux. Do other short cuts work?
No. No shortcut si working. I tried ctrl + b to browse, ctrl + x, ctrl
select +
c, ctrl + v, ctrl + w, select text shift + arrows.
Swap mouse preference doesn't work also. I am using pharo0.1-10289dev09.04.5 in Ubuntu 8.10 and last exupery (with closure) vm.
Thanks,
Mariano
Which distribution are you using?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
It is because InputEventFectcher does not take care to stop the fetcherProcess. I think it should: InputEventFectcher >>shutDown fetcherProcess ifNotNil: [fetcherProcess terminate]. inputSemaphore ifNotNil: [Smalltalk unregisterExternalObject: inputSemaphore] At least, it should do it on deinstall... When you will close the debugger though, the fetcherProcess should be terminated. You can then proceed normally. ------------------------------------- I don't care either, just want to provide a temporary fix until new framework is a little bit more functional. IMO, it has been adopted too soon, and we should better revert temporarily with such a hack. There not much to learn from the flow of complaints and we should better reduce this negative feedback. Nicolas 2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 7:52 PM, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
In the interim, you can try to re-install an old Sensor, like:
InputEventFetcher deinstall. EventSensor install. Smalltalk addToShutDownList: Sensor class. Smalltalk addToStartUpList: Sensor class.
Actually, I don't need it for my "real work". I mean, I can use another image that works ok. I was just trying to colaborate as a beta tester.
Anyway, what you told me give me a walkback.
Thanks for the help,
Mariano
MessageNotUnderstood: EventSensor>>handleEvent: 21 April 2009 5:56:37 pm
VM: Win32 - a SmalltalkImage Image: Pharo0.1 [Latest update: #10289]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir C:\mariano\squeak\pharo0.1-10289dev09.04.5 Trusted Dir C:\mariano\squeak\pharo0.1-10289dev09.04.5\m.martinez Untrusted Dir C:\Documents and Settings\m.martinez\Mis documentos\My Squeak
EventSensor(Object)>>doesNotUnderstand: #handleEvent:    Receiver: an EventSensor    Arguments and temporary variables:       aMessage:    handleEvent: #(1 31548515 278 66 0 0 0 1)       exception:    MessageNotUnderstood: EventSensor>>handleEvent:       resumeValue:    nil    Receiver's instance variables:       mouseButtons:    0       mousePosition:    0@0       keyboardBuffer:    a SharedQueue       interruptKey:    2094       interruptSemaphore:    a Semaphore(a Process in EventSensor(InputSensor)>>userInte...etc...       eventQueue:    a SharedQueue       inputSemaphore:    a Semaphore()       lastEventPoll:    31548521       hasInputSemaphore:    false
[] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent:    Receiver: an InputEventPollingFetcher    Arguments and temporary variables:       eventBuffer:    an EventSensor       handler:    #(1 31548515 278 66 0 0 0 1)    Receiver's instance variables:       eventHandlers:    an OrderedCollection(an EventSensor an UserInterruptHandler)       fetcherProcess:    a Process in Debugger class>>openOn:context:label:contents:full...etc...       inputSemaphore:    a Semaphore()
OrderedCollection>>do: Â Â Â Receiver: an OrderedCollection(an EventSensor an UserInterruptHandler) Â Â Â Arguments and temporary variables: Â Â Â Â Â Â aBlock: Â Â Â [closure] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent: Â Â Â Â Â Â index: Â Â Â 3 Â Â Â Receiver's instance variables: Â Â Â Â Â Â array: Â Â Â an Array(nil nil an EventSensor an UserInterruptHandler nil nil nil nil ...etc... Â Â Â Â Â Â firstIndex: Â Â Â 3 Â Â Â Â Â Â lastIndex: Â Â Â 4
InputEventPollingFetcher(InputEventFetcher)>>signalEvent:    Receiver: an InputEventPollingFetcher    Arguments and temporary variables:       eventBuffer:    #(1 31548515 278 66 0 0 0 1)    Receiver's instance variables:       eventHandlers:    an OrderedCollection(an EventSensor an UserInterruptHandler)       fetcherProcess:    a Process in Debugger class>>openOn:context:label:contents:full...etc...       inputSemaphore:    a Semaphore()
--- The full stack --- EventSensor(Object)>>doesNotUnderstand: #handleEvent: [] in InputEventPollingFetcher(InputEventFetcher)>>signalEvent: OrderedCollection>>do: InputEventPollingFetcher(InputEventFetcher)>>signalEvent: Â - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - InputEventPollingFetcher(InputEventFetcher)>>eventLoop [] in InputEventPollingFetcher>>installEventLoop [] in BlockClosure>>newProcess
No guaranty
2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 7:15 PM, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
Try alt+c alt+x alt+v
:) Â yes, this works. Â Also alt + b to browse a class
However, there are others that still doesn't work: shift + arrows to select text for example.
Thanks!
Mariano
Nicolas
2009/4/21 Mariano Martinez Peck <marianopeck@gmail.com>:
On Tue, Apr 21, 2009 at 6:54 PM, Michael Rueger <m.rueger@acm.org> wrote:
Mariano Martinez Peck wrote:
Should this fix work also for Linux ? I tried it but the copy past still doesn't work.
The fix is not related to Linux. Do other short cuts work?
No. No shortcut si working. I tried ctrl + b to browse, ctrl + x, ctrl + c, ctrl + v, ctrl + w, select text shift + arrows.
Swap mouse preference doesn't work also. I am using pharo0.1-10289dev09.04.5 in Ubuntu  8.10 and last exupery (with closure) vm.
Thanks,
Mariano
Which distribution are you using?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Nicolas Cellier wrote:
It is because InputEventFectcher does not take care to stop the fetcherProcess. I think it should:
InputEventFectcher >>shutDown fetcherProcess ifNotNil: [fetcherProcess terminate]. inputSemaphore ifNotNil: [Smalltalk unregisterExternalObject: inputSemaphore]
At least, it should do it on deinstall...
I've integrate your suggestions, thanks!
IMO, it has been adopted too soon, and we should better revert temporarily with such a hack.
Well, yes and no. Yes, it could have used a bit more testing, but the truth is that very few people test stuff that is not in the update stream. No, we are still in alpha and anybody expecting the bleeding edge version of Pharo to be stable enough for everyday work after every single update doesn't know what "alpha" means. Michael
On Apr 22, 2009, at 1:08 PM, Michael Rueger wrote:
Nicolas Cellier wrote:
It is because InputEventFectcher does not take care to stop the fetcherProcess. I think it should:
InputEventFectcher >>shutDown fetcherProcess ifNotNil: [fetcherProcess terminate]. inputSemaphore ifNotNil: [Smalltalk unregisterExternalObject: inputSemaphore]
At least, it should do it on deinstall...
I've integrate your suggestions, thanks!
Where ;)?
IMO, it has been adopted too soon, and we should better revert temporarily with such a hack.
Well, yes and no.
Yes, it could have used a bit more testing, but the truth is that very few people test stuff that is not in the update stream.
No, we are still in alpha and anybody expecting the bleeding edge version of Pharo to be stable enough for everyday work after every single update doesn't know what "alpha" means.
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (6)
-
Cameron Sanders -
John M McIntosh -
Mariano Martinez Peck -
Michael Rueger -
Nicolas Cellier -
Stéphane Ducasse