[Pharo-dev] [pharo-project/pharo-core]

2013-12-04 Thread GitHub
  Branch: refs/tags/30618
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] 28388b: 30618

2013-12-04 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 28388b0732fe53dc90ace03d1d7fb813f2b5234e
  
https://github.com/pharo-project/pharo-core/commit/28388b0732fe53dc90ace03d1d7fb813f2b5234e
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2013-12-04 (Wed, 04 Dec 2013)

  Changed paths:
M 
KernelTests.package/ClassDescriptionTest.class/instance/tests/testClassDescriptionRespectsPolymorphismWithTraitDescription.st
M 
Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawCheckOn_in_.st
A 
Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawCheckedIconOn_at_.st
A 
Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawPartialCheckedIconOn_rectangle_at_offset_.st
A 
Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawUncheckedIconOn_at_.st
M Network-Mail.package/MailMessage.class/class/utilities/dateTimeSuffix.st
A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/accessing - 
icons/checkedBoxIcon.st
A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/accessing - 
icons/partialCheckedBoxIcon.st
A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/accessing - 
icons/uncheckedBoxIcon.st
A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/private - 
contents/checkedBoxIconContents.st
A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/private - 
contents/partialCheckedBoxIconContents.st
A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/private - 
contents/uncheckedBoxIconContents.st
A Polymorph-Widgets.package/ThemeIcons.class/instance/accessing - 
icons/checkedBoxIcon.st
A Polymorph-Widgets.package/ThemeIcons.class/instance/accessing - 
icons/partialCheckedBoxIcon.st
A Polymorph-Widgets.package/ThemeIcons.class/instance/accessing - 
icons/uncheckedBoxIcon.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script273.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30618.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M Slot.package/OldClassBuilderAdapter.class/definition.st
R Slot.package/SlotVirus.class/README.md
R Slot.package/SlotVirus.class/class/fixing/fixSuperclassSubclasses_.st
R Slot.package/SlotVirus.class/class/fixing/refresh.st
R Slot.package/SlotVirus.class/class/fixing/removeBrokenDoIts.st
R Slot.package/SlotVirus.class/class/installing/basicLayoutFor_.st
R Slot.package/SlotVirus.class/class/installing/basicLayoutScopeFor_.st
R Slot.package/SlotVirus.class/class/installing/basicVariableLayoutFor_.st
R Slot.package/SlotVirus.class/class/installing/basicWeakLayoutFor_.st
R Slot.package/SlotVirus.class/class/installing/installLayoutVariable.st
R Slot.package/SlotVirus.class/class/installing/installNewLayouts.st
R Slot.package/SlotVirus.class/class/installing/layoutScopeFor_.st
R Slot.package/SlotVirus.class/class/installing/newLayoutFor_.st
R Slot.package/SlotVirus.class/class/installing/spread.st
R Slot.package/SlotVirus.class/class/testing/checkAllLayouts.st
R Slot.package/SlotVirus.class/class/testing/checkDuplicateClass_.st
R Slot.package/SlotVirus.class/class/testing/checkInheritedSlots_.st
R Slot.package/SlotVirus.class/class/testing/checkLayoutOfClass_.st
R Slot.package/SlotVirus.class/class/testing/checkLayout_.st
R Slot.package/SlotVirus.class/class/testing/checkSlotsIndices_.st
R Slot.package/SlotVirus.class/class/testing/invalidClasses.st
R Slot.package/SlotVirus.class/definition.st
R Slot.package/extension/ClassDescription/instance/initializeLayout.st

  Log Message:
  ---
  30618
12327 Use eclipse icon for checklist tick
https://pharo.fogbugz.com/f/cases/12327

11832 Remove SlotVirus
https://pharo.fogbugz.com/f/cases/11832

12326 MailMessage class  #dateTimeSuffix calls deprecated primSecondsClock
https://pharo.fogbugz.com/f/cases/12326

http://files.pharo.org/image/30/30618.zip




Re: [Pharo-dev] Unifying Testing Ideas

2013-12-04 Thread Stéphane Ducasse

On Dec 4, 2013, at 5:18 AM, Dennis Schetinin chae...@gmail.com wrote:

 This is the task I would really like to participate in. Although, just as 
 you, I have no time at all, I still will find at least few hours a week :)

welcome to our nice club of busy people




Re: [Pharo-dev] Slice 12324

2013-12-04 Thread Marcus Denker

On 03 Dec 2013, at 18:36, Stephan Eggermont step...@stack.nl wrote:

 Can anyone put it in place? Can’t seem to commit it
I get an error when I try to copy it to the inbox, but saving it again worked.

Marcus


Re: [Pharo-dev] Unifying Testing Ideas

2013-12-04 Thread Attila Magyar
Sean P. DeNigris wrote
 Are you interested in integrating my changes into the current API? If so,
 I'll refactor them and clean them up. I personally would find it difficult
 to use the library without them. Coming from Ruby, a proper test double
 framework is the thing I miss most. Rspec was amazing. BabyMock is close,
 and with these changes has the test double features I commonly relied on
 Rspec for...

Yes, anyArgs can be useful, and I was thinking about the /does/ extension
too, and I convinced myself that it is ok and useful. I gave you access to
the repo.

The reason for my initial hesitation was that my goal is to not have too
powerful features like rspec has. E.g. in rspec, it is easy to stub out
global class objects and I see lots of ruby programmer doing it. I don't
think this is the right solution for the problem.



--
View this message in context: 
http://forum.world.st/Unifying-Testing-Ideas-tp4726787p4727265.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Unifying Testing Ideas

2013-12-04 Thread Frank Shearar
On 4 December 2013 10:01, Attila Magyar m.magy...@gmail.com wrote:
 Sean P. DeNigris wrote
 Are you interested in integrating my changes into the current API? If so,
 I'll refactor them and clean them up. I personally would find it difficult
 to use the library without them. Coming from Ruby, a proper test double
 framework is the thing I miss most. Rspec was amazing. BabyMock is close,
 and with these changes has the test double features I commonly relied on
 Rspec for...

 Yes, anyArgs can be useful, and I was thinking about the /does/ extension
 too, and I convinced myself that it is ok and useful. I gave you access to
 the repo.

 The reason for my initial hesitation was that my goal is to not have too
 powerful features like rspec has. E.g. in rspec, it is easy to stub out
 global class objects and I see lots of ruby programmer doing it. I don't
 think this is the right solution for the problem.

Can you give an example of what you mean?

Being about to stub out the file system, or the clock, seem like
extremely useful things to do. (See https://github.com/defunkt/fakefs
for instance.)

frank



[Pharo-dev] Issue tracker: do not forget to change state to fix review needed

2013-12-04 Thread Marcus Denker
Hi,

When submitting a fix, please do not forget to change the state of the issue.

And issue with “work needed” yet a fix in the inbox will only be looked at by 
chance,
and that chance is *very* low with 570 open issues…

Marcus


Re: [Pharo-dev] Unifying Testing Ideas

2013-12-04 Thread Sean P. DeNigris
The reason for my initial hesitation was that... in rspec, it is easy to stub 
out global class objects and... I don't think this is the right solution for 
the problem. 

Ha ha, you were right to be cautious. I've been thinking for offer a year about 
how to do that without method wrappers. But I will control myself in your 
project ;)



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Unifying-Testing-Ideas-tp4726787p4727283.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Re: [Pharo-dev] [Pharo-users] Building Pharo using Interpreter Class

2013-12-04 Thread Kirstin Heidler

Hello Stephane,

he tried several times last thursday. He also tried using Nabble which 
did not work. Nabble produced some error about him not having permission 
to post. However in the interface of Nabble it displays him as a well 
registered user, as far as I can judge.


This is one of the headers when he tried to send to the mailing list:

 Original-Nachricht 
Betreff:Building Pharo without using only Interpreter class
Datum:  Thu, 28 Nov 2013 16:18:13 +0100
Von:Dimitri Korsch dimitri.kor...@student.hpi.uni-potsdam.de
An: pharo-dev@lists.pharo.org
Kopie (CC): 	Kirstin Heidler 
kirstin.heid...@student.hpi.uni-potsdam.de, 
nicco.kunzm...@student.hpi.uni-potsdam.de



Maybe it didn't work becuase Nicco and I were in CC?

Kirstin



Am 03.12.2013 20:58, schrieb Stéphane Ducasse:

Hello kirstin

why dimitri is not able to post? can you tell us more?

Stef

On Dec 3, 2013, at 1:17 PM, Kirstin Heidler 
kirstin.heid...@student.hpi.uni-potsdam.de wrote:


My freind Dimitri was not able to post his message. I am working with him on 
this.

___

Hello,

as part of a Seminar in the University im trying to build the PharoVM.
According to the README file here ([1]) I was able to generate and to
build the VM successfully.

Now I would like to build the VM without Cog or Stack-to-Register
optimizations... The problem here is, that I could not find any config
class (which is a subclass of CPlatformConfig), that provides the right
configurations and allows to build the VM without errors. I have tried
to modify PharoUnixConfig(because it was the default config class), but
unfortunately the build failes when the compiler tries to compile
gcc3x-interp.c.

Could somebody help me with this problem? How should I configure my own
Config class?

Basically our Group tries to implement an object table in Pharo and we
want to use (and modify) the basic Interpreter class.



[1] https://github.com/pharo-project/pharo-vm


Best regards,
Dimitri Korsch







Re: [Pharo-dev] Unifying Testing Ideas

2013-12-04 Thread Frank Shearar
On 4 December 2013 11:34, Sean P. DeNigris s...@clipperadams.com wrote:
 The reason for my initial hesitation was that... in rspec, it is easy to
 stub out global class objects and... I don't think this is the right
 solution for the problem.


 Ha ha, you were right to be cautious. I've been thinking for offer a year
 about how to do that without method wrappers. But I will control myself in
 your project ;)

It's still a work in progress, but Squeak's Environments ought to
provide this: your test runs in a custom, temporary Environment into
which you import your own DateAndTime or FileReference or whatever.
Code inside the Environment just calls DateAndTime, blissfully unaware
that it's calling your custom mocked implementation.

frank



Re: [Pharo-dev] Grease conflicts #packages with RPackage

2013-12-04 Thread Esteban Lorenzano
sorry, but I still do not understand why this is a problem.
can you elaborate why it should not be more implementations?

Esteban


On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nl wrote:

 I could copy the separate packages, but not the slice.

 Please note that the added test is expected to fail on all builds
 containing Grease-Core.

 Stephan





Re: [Pharo-dev] Unifying Testing Ideas

2013-12-04 Thread Attila Magyar
I'll try.

I think mocking the file system and other third party, low abstraction
stuffs can lead brittle tests and duplications.
For example we want to store certificate files in pem format in the file
system.

Mocking out the fs would look like this:

file = mock('file')
File.should_receive(:open).with(filename, w).and_yield(file)
file.should_receive(:write).with(pem content of the cert)

I don't know ruby too well, so don't know how many different ways I can
write some content into a file, but I suspect there are lot.
E.g. if I change the write to puts the test will fail, even if the
functionality is still working. That's why it is brittle.
There are also some duplication between the test and the production code,
because both has the very same structure.

Introducing a CertificateStore as a dependency with a more abstract
interface solves this problem and simplifies the test as well.

cert_store.should_receive(:store_cert).with(certificate)

I'm no longer passing the content as a string but as certificate object,
and I don't care about the low level details of the storing mechanism. As a
matter of fact the storage may store the cert in an other location than the
file system, and the client won't care.

Then the question is, how do I test the certificate store? And this is the
point where I would switch from mocking to integration test. Because I want
to be sure that I understood the file system api correctly, and it writes
the file physically to the disk. The previous test didn't provide this
confidence.

Using an inmemory file system to speed up the test is ok imho, but there is
a risk of course that it behaves differently than the real one. Personally
I wouldn't use in memory file system in a test like this.


On Wed, Dec 4, 2013 at 11:31 AM, Frank Shearar frank.shea...@gmail.comwrote:


 Can you give an example of what you mean?

 Being about to stub out the file system, or the clock, seem like
 extremely useful things to do. (See https://github.com/defunkt/fakefs
 for instance.)

 frank




Re: [Pharo-dev] Grease conflicts #packages with RPackage

2013-12-04 Thread Mariano Martinez Peck
Because many times you sent class side #packages as part of RPackage
framework. But...if you have other class side #packages that answer
something different...then you are screw.
See my original post:
http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html


On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.comwrote:

 sorry, but I still do not understand why this is a problem.
 can you elaborate why it should not be more implementations?

 Esteban


 On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nlwrote:

 I could copy the separate packages, but not the slice.

 Please note that the added test is expected to fail on all builds
 containing Grease-Core.

 Stephan






-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-dev] Grease conflicts #packages with RPackage

2013-12-04 Thread Esteban Lorenzano
and why is a problem for us and for grease?



On Wed, Dec 4, 2013 at 1:09 PM, Mariano Martinez Peck marianop...@gmail.com
 wrote:

 Because many times you sent class side #packages as part of RPackage
 framework. But...if you have other class side #packages that answer
 something different...then you are screw.
 See my original post:
 http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html


 On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.comwrote:

 sorry, but I still do not understand why this is a problem.
 can you elaborate why it should not be more implementations?

 Esteban


 On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nlwrote:

 I could copy the separate packages, but not the slice.

 Please note that the added test is expected to fail on all builds
 containing Grease-Core.

 Stephan






 --
 Mariano
 http://marianopeck.wordpress.com



Re: [Pharo-dev] Grease conflicts #packages with RPackage

2013-12-04 Thread Mariano Martinez Peck
For us because there are 4 or 5 class side #packages IN PHARO, not grease.


On Wed, Dec 4, 2013 at 9:11 AM, Esteban Lorenzano esteba...@gmail.comwrote:

 and why is a problem for us and for grease?



 On Wed, Dec 4, 2013 at 1:09 PM, Mariano Martinez Peck 
 marianop...@gmail.com wrote:

 Because many times you sent class side #packages as part of RPackage
 framework. But...if you have other class side #packages that answer
 something different...then you are screw.
 See my original post:
 http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html


 On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.comwrote:

 sorry, but I still do not understand why this is a problem.
 can you elaborate why it should not be more implementations?

 Esteban


 On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nlwrote:

 I could copy the separate packages, but not the slice.

 Please note that the added test is expected to fail on all builds
 containing Grease-Core.

 Stephan






 --
 Mariano
 http://marianopeck.wordpress.com





-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-dev] Grease conflicts #packages with RPackage

2013-12-04 Thread Marcus Denker

On 04 Dec 2013, at 13:11, Esteban Lorenzano esteba...@gmail.com wrote:

 and why is a problem for us and for grease?
 

because people want to say

MyClass package

and get back the RPackage that the class is in...

 
 
 On Wed, Dec 4, 2013 at 1:09 PM, Mariano Martinez Peck marianop...@gmail.com 
 wrote:
 Because many times you sent class side #packages as part of RPackage 
 framework. But...if you have other class side #packages that answer something 
 different...then you are screw. 
 See my original post: 
 http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html
 
 
 On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.com wrote:
 sorry, but I still do not understand why this is a problem.
 can you elaborate why it should not be more implementations?
 
 Esteban
 
 
 On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nl wrote:
 I could copy the separate packages, but not the slice.
 
 Please note that the added test is expected to fail on all builds containing 
 Grease-Core.
 
 Stephan
 
 
 
 
 
 
 -- 
 Mariano
 http://marianopeck.wordpress.com
 



Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default

2013-12-04 Thread Max Leske
Let me see what I can come up with.


On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote:

 Thanks Max for the report. Do you have an idea on how we could solve the 
 problem ? The previous behaviour was not acceptable either because the 
 streams that came out of a memory filesystem were the only ones with binary 
 content
 
 On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote:
 Damien, Marcus
 
 this change breaks a lot of things in FileSystem-Git. I don’t disagree with 
 the idea that reading characters should be default (one could argue about 
 it…) but your change makes it IMPOSSIBLE to read bytes because unprintable 
 characters are discarded! So if my ByteArray is a NULL terminated string, for 
 instance, I can not check for the NULL termination anymore.
 
 Cheers,
 Max



Re: [Pharo-dev] Grease conflicts #packages with RPackage

2013-12-04 Thread Stephan Eggermont
Esteban wrote:
sorry, but I still do not understand why this is a problem.
can you elaborate why it should not be more implementations?

It breaks the system. You can no longer use senders.
So currently, all Moose and Seaside based 3.0 images are 
somewhat unusable.

Stephan



Re: [Pharo-dev] Grease conflicts #packages with RPackage

2013-12-04 Thread Esteban Lorenzano
senders of what?
I can use senders.




On Wed, Dec 4, 2013 at 1:34 PM, Stephan Eggermont step...@stack.nl wrote:

 Esteban wrote:
 sorry, but I still do not understand why this is a problem.
 can you elaborate why it should not be more implementations?

 It breaks the system. You can no longer use senders.
 So currently, all Moose and Seaside based 3.0 images are
 somewhat unusable.

 Stephan




Re: [Pharo-dev] Slice 12324

2013-12-04 Thread Stephan Eggermont
I tried committing/copying an updated slice, but am unable to get it into the 
Pharo30Inbox,
even though I can copy packages in it. Is this a known issue?

Stephan 


Re: [Pharo-dev] Slice 12324

2013-12-04 Thread Esteban Lorenzano
nope... you should be able to commit the slice without problems.


On Wed, Dec 4, 2013 at 1:40 PM, Stephan Eggermont step...@stack.nl wrote:

 I tried committing/copying an updated slice, but am unable to get it into
 the Pharo30Inbox,
 even though I can copy packages in it. Is this a known issue?

 Stephan



[Pharo-dev] [pharo-project/pharo-core] c77929: 30619

2013-12-04 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: c779295fe80c6a7ada92f2ba73f0b09ee9571a4e
  
https://github.com/pharo-project/pharo-core/commit/c779295fe80c6a7ada92f2ba73f0b09ee9571a4e
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2013-12-04 (Wed, 04 Dec 2013)

  Changed paths:
M 
Collections-Abstract.package/Collection.class/instance/testing/includesAllOf_.st
R 
Collections-Unordered.package/Matrix.class/instance/testing/includesAllOf_.st
M 
Kernel.package/AdditionalMethodState.class/instance/testing/analogousCodeTo_.st
M Kernel.package/Timespan.class/instance/testing/includesAllOf_.st
A Kernel.package/Timespan.class/instance/testing/includesAll_.st
M Kernel.package/Timespan.class/instance/testing/includesAnyOf_.st
A Kernel.package/Timespan.class/instance/testing/includesAny_.st
A KernelTests.package/TimespanTest.class/instance/tests/testIncludesAll.st
R KernelTests.package/TimespanTest.class/instance/tests/testIncludesAllOf.st
A KernelTests.package/TimespanTest.class/instance/tests/testIncludesAny.st
R KernelTests.package/TimespanTest.class/instance/tests/testIncludesAnyOf.st
A Komitter.package/KomitCacheRemote.class/class/accessing/icon.st
A 
Komitter.package/KomitGemstoneRemote.class/class/private-icons/iconContents.st
A Komitter.package/KomitHttpRemote.class/class/accessing/icon.st
A Komitter.package/KomitNewSlice.class/class/private-icons/iconContents.st
M Komitter.package/KomitNewSlice.class/instance/accessing/remote.st
A Komitter.package/KomitRemote.class/class/icon/icon.st
A Komitter.package/KomitRemote.class/class/private-icons/iconContents.st
A 
Komitter.package/KomitSmalltalkhubRemote.class/class/private-icons/iconContents.st
A 
Komitter.package/KomitSqueakSourceRemote.class/class/private-icons/iconContents.st
M Komitter.package/Komitter.class/instance/opening/open.st
M Komitter.package/KomitterUI.class/instance/private/openRemoteManager.st
R 
Komitter.package/MCKomitSubmitter.class/instance/private/retryOnCredentialRequest_.st
A 
Komitter.package/MCKomitSubmitter.class/instance/private/retryOnCredentialRequest_for_.st
M 
Komitter.package/MCKomitSubmitter.class/instance/private/storeDependencies_for_.st
M 
Komitter.package/MCKomitSubmitter.class/instance/private/storeVersion_for_.st
M Komitter.package/MCKomitSubmitter.class/instance/protocol/commitSlice_.st
A Komitter.package/RemotesManager.class/instance/protocol/initialExtent.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script274.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30619.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st

  Log Message:
  ---
  30619
12077 MNU in AdditionalMethodStateanalogousCodeTo:
https://pharo.fogbugz.com/f/cases/12077

12319 Replace includesAllOf: by includesAll: everywhere.
https://pharo.fogbugz.com/f/cases/12319

12332 New icons for remotes + ui centered at opening
https://pharo.fogbugz.com/f/cases/12332

12284 Problem with credential
https://pharo.fogbugz.com/f/cases/12284

http://files.pharo.org/image/30/30619.zip




[Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Alexandre Bergel
Dear Friends and Colleagues,

We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating 
and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got 
textures, translucence, additional layouts and various light models.

It would be great to receive feedback. Ronie worked very hard on making 
Roassal3d happen. Milton has put quite some effort on writing documentation and 
writing examples. A very preliminary version of the documentation may be found 
on:
https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf

The screenshots contained in this documentation should convey an accurate 
feeling of what Roassal 3d is up to.

Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply 
open a workspace and do-it the following code:
Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 
'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) 
loadDevelopment

We are also looking for contributors to the documentation, we plan to have a 
book chapter on it. Get in touch with us!

Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






[Pharo-dev] Komitter

2013-12-04 Thread Yuriy Tymchuk
Hi guys,

I’m very impressed with the new Komitter tool that I’ve found in Pharo today. 
It’s a really important tool that we really need. It’s amazing that you can at 
last see what is changed and pick what you want to commit. Also the startup 
gear animation is cool. Only one question: should I complain about getting 
MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to 
commit, or it’s work in progress and everything is changing each day?

Also why can’t I access anything else when Komitter window is open?

Uko


Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread kilon alios
hey congratulations on your release. Which opengl version you use for
Roassal 3d ?


On Wed, Dec 4, 2013 at 3:29 PM, Alexandre Bergel alexandre.ber...@me.comwrote:

 Dear Friends and Colleagues,

 We are happy to (officially) announce Roassal 3d. Roassal 3d is about
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d
 recently got textures, translucence, additional layouts and various light
 models.

 It would be great to receive feedback. Ronie worked very hard on making
 Roassal3d happen. Milton has put quite some effort on writing documentation
 and writing examples. A very preliminary version of the documentation may
 be found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf

 The screenshots contained in this documentation should convey an accurate
 feeling of what Roassal 3d is up to.

 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration.
 Simply open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package:
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d)
 loadDevelopment

 We are also looking for contributors to the documentation, we plan to have
 a book chapter on it. Get in touch with us!

 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.

 Cheers,
 Alexandre
 --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







Re: [Pharo-dev] Komitter

2013-12-04 Thread Pavel Krivanek
Hi,

I think that you need firstly to open Monticello and add your user name and
password to the Pharo Inbox repository settings.

-- Pavel


2013/12/4 Yuriy Tymchuk yuriy.tymc...@me.com

 Hi guys,

 I’m very impressed with the new Komitter tool that I’ve found in Pharo
 today. It’s a really important tool that we really need. It’s amazing that
 you can at last see what is changed and pick what you want to commit. Also
 the startup gear animation is cool. Only one question: should I complain
 about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository”
 when trying to commit, or it’s work in progress and everything is changing
 each day?

 Also why can’t I access anything else when Komitter window is open?

 Uko



Re: [Pharo-dev] Komitter

2013-12-04 Thread Roberto Minelli
I am actually using it since 2 days. Cool work!

Cheers,
R

On Dec 4, 2013, at 2:42 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com 
wrote:

 I did not annonce it yet since some features are missing, and few bugs needs 
 to be fixed (actually the slice are waiting to be integrated :P)
 the repository problem is an issue with the credentials.
 The slice is in the issue tracker. If you want to not bump this, set your 
 credentials from MC browser once and for all :P
 
 The window is modal since otherwise, it needs to be kept in sync with the 
 system, which is a pain.
 We already discuss the fact it’s modal, so maybe it will disappear soon since 
 we are still not strongly convinced in one way or the other :P
 
 Ben
 
 On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 Hi guys,
 
 I’m very impressed with the new Komitter tool that I’ve found in Pharo 
 today. It’s a really important tool that we really need. It’s amazing that 
 you can at last see what is changed and pick what you want to commit. Also 
 the startup gear animation is cool. Only one question: should I complain 
 about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” 
 when trying to commit, or it’s work in progress and everything is changing 
 each day?
 
 Also why can’t I access anything else when Komitter window is open?
 
 Uko
 




[Pharo-dev] StartupAction and StartupLoader

2013-12-04 Thread Roberto Minelli
Hi,

Is there any way to specify the order of the preferences? 

Now I put a couple of .st files in my ~/Library/Preferences/pharo folder 
containing calls to 

StartupLoader default executeAtomicItems: {
  StartupAction
  name: 'Setting my preferences...'
code: [ … ]

and I am wondering if there is a way to specify the order in which those files 
are accessed.

Cheers,
R


Re: [Pharo-dev] Komitter

2013-12-04 Thread Yuriy Tymchuk

On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote:

 I did not annonce it yet since some features are missing, and few bugs needs 
 to be fixed (actually the slice are waiting to be integrated :P)
 the repository problem is an issue with the credentials.
 The slice is in the issue tracker. If you want to not bump this, set your 
 credentials from MC browser once and for all :P
 
 The window is modal since otherwise, it needs to be kept in sync with the 
 system, which is a pain.

Yes, true. You can just add refresh button. E.i. for me it’s easier to press 
button rather then closing and opening window.

Uko

 We already discuss the fact it’s modal, so maybe it will disappear soon since 
 we are still not strongly convinced in one way or the other :P
 
 Ben
 
 On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 Hi guys,
 
 I’m very impressed with the new Komitter tool that I’ve found in Pharo 
 today. It’s a really important tool that we really need. It’s amazing that 
 you can at last see what is changed and pick what you want to commit. Also 
 the startup gear animation is cool. Only one question: should I complain 
 about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” 
 when trying to commit, or it’s work in progress and everything is changing 
 each day?
 
 Also why can’t I access anything else when Komitter window is open?
 
 Uko
 



Re: [Pharo-dev] StartupAction and StartupLoader

2013-12-04 Thread Benjamin
I do not think so :P

Ben

On 04 Dec 2013, at 14:45, Roberto Minelli roberto.mine...@usi.ch wrote:

 Hi,
 
 Is there any way to specify the order of the preferences? 
 
 Now I put a couple of .st files in my ~/Library/Preferences/pharo folder 
 containing calls to 
 
 StartupLoader default executeAtomicItems: {
  StartupAction
  name: 'Setting my preferences...'
code: [ … ]
 
 and I am wondering if there is a way to specify the order in which those 
 files are accessed.
 
 Cheers,
 R



Re: [Pharo-dev] Komitter

2013-12-04 Thread Benjamin
I will give a try later today :P

Ben

On 04 Dec 2013, at 14:47, Yuriy Tymchuk yuriy.tymc...@me.com wrote:

 
 On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com 
 wrote:
 
 I did not annonce it yet since some features are missing, and few bugs needs 
 to be fixed (actually the slice are waiting to be integrated :P)
 the repository problem is an issue with the credentials.
 The slice is in the issue tracker. If you want to not bump this, set your 
 credentials from MC browser once and for all :P
 
 The window is modal since otherwise, it needs to be kept in sync with the 
 system, which is a pain.
 
 Yes, true. You can just add refresh button. E.i. for me it’s easier to press 
 button rather then closing and opening window.
 
 Uko
 
 We already discuss the fact it’s modal, so maybe it will disappear soon 
 since we are still not strongly convinced in one way or the other :P
 
 Ben
 
 On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 Hi guys,
 
 I’m very impressed with the new Komitter tool that I’ve found in Pharo 
 today. It’s a really important tool that we really need. It’s amazing that 
 you can at last see what is changed and pick what you want to commit. Also 
 the startup gear animation is cool. Only one question: should I complain 
 about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” 
 when trying to commit, or it’s work in progress and everything is changing 
 each day?
 
 Also why can’t I access anything else when Komitter window is open?
 
 Uko
 
 



Re: [Pharo-dev] Komitter

2013-12-04 Thread Yuriy Tymchuk
Thanks once more for your effort. This is a really important tool for me.

Uko

On 04 Dec 2013, at 14:52, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote:

 I will give a try later today :P
 
 Ben
 
 On 04 Dec 2013, at 14:47, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 
 On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com 
 wrote:
 
 I did not annonce it yet since some features are missing, and few bugs 
 needs to be fixed (actually the slice are waiting to be integrated :P)
 the repository problem is an issue with the credentials.
 The slice is in the issue tracker. If you want to not bump this, set your 
 credentials from MC browser once and for all :P
 
 The window is modal since otherwise, it needs to be kept in sync with the 
 system, which is a pain.
 
 Yes, true. You can just add refresh button. E.i. for me it’s easier to press 
 button rather then closing and opening window.
 
 Uko
 
 We already discuss the fact it’s modal, so maybe it will disappear soon 
 since we are still not strongly convinced in one way or the other :P
 
 Ben
 
 On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 Hi guys,
 
 I’m very impressed with the new Komitter tool that I’ve found in Pharo 
 today. It’s a really important tool that we really need. It’s amazing that 
 you can at last see what is changed and pick what you want to commit. Also 
 the startup gear animation is cool. Only one question: should I complain 
 about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” 
 when trying to commit, or it’s work in progress and everything is changing 
 each day?
 
 Also why can’t I access anything else when Komitter window is open?
 
 Uko
 
 
 



Re: [Pharo-dev] Komitter

2013-12-04 Thread Esteban Lorenzano
On Wed, Dec 4, 2013 at 2:47 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote:


 On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com
 wrote:

 I did not annonce it yet since some features are missing, and few bugs
 needs to be fixed (actually the slice are waiting to be integrated :P)
 the repository problem is an issue with the credentials.
 The slice is in the issue tracker. If you want to not bump this, set your
 credentials from MC browser once and for all :P

 The window is modal since otherwise, it needs to be kept in sync with the
 system, which is a pain.


 Yes, true. You can just add refresh button. E.i. for me it’s easier to
 press button rather then closing and opening window.


I was thinking on that too, yep :)



 Uko

 We already discuss the fact it’s modal, so maybe it will disappear soon
 since we are still not strongly convinced in one way or the other :P

 Ben

 On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote:

 Hi guys,

 I’m very impressed with the new Komitter tool that I’ve found in Pharo
 today. It’s a really important tool that we really need. It’s amazing that
 you can at last see what is changed and pick what you want to commit. Also
 the startup gear animation is cool. Only one question: should I complain
 about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository”
 when trying to commit, or it’s work in progress and everything is changing
 each day?

 Also why can’t I access anything else when Komitter window is open?

 Uko






Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Tudor Girba
Great!

Doru


On Wed, Dec 4, 2013 at 2:29 PM, Alexandre Bergel alexandre.ber...@me.comwrote:

 Dear Friends and Colleagues,

 We are happy to (officially) announce Roassal 3d. Roassal 3d is about
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d
 recently got textures, translucence, additional layouts and various light
 models.

 It would be great to receive feedback. Ronie worked very hard on making
 Roassal3d happen. Milton has put quite some effort on writing documentation
 and writing examples. A very preliminary version of the documentation may
 be found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf

 The screenshots contained in this documentation should convey an accurate
 feeling of what Roassal 3d is up to.

 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration.
 Simply open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package:
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d)
 loadDevelopment

 We are also looking for contributors to the documentation, we plan to have
 a book chapter on it. Get in touch with us!

 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.

 Cheers,
 Alexandre
 --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







-- 
www.tudorgirba.com

Every thing has its own flow


Re: [Pharo-dev] Komitter

2013-12-04 Thread Yuriy Tymchuk

On 04 Dec 2013, at 14:56, Esteban Lorenzano esteba...@gmail.com wrote:

 
 
 
 On Wed, Dec 4, 2013 at 2:47 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com 
 wrote:
 
 I did not annonce it yet since some features are missing, and few bugs needs 
 to be fixed (actually the slice are waiting to be integrated :P)
 the repository problem is an issue with the credentials.
 The slice is in the issue tracker. If you want to not bump this, set your 
 credentials from MC browser once and for all :P
 
 The window is modal since otherwise, it needs to be kept in sync with the 
 system, which is a pain.
 
 Yes, true. You can just add refresh button. E.i. for me it’s easier to press 
 button rather then closing and opening window.
 
 I was thinking on that too, yep :)

SourceTree works like that and none complains. Of course it has some 
auto-refresh, but we can survive without that.

Uko

  
 
 Uko
 
 We already discuss the fact it’s modal, so maybe it will disappear soon 
 since we are still not strongly convinced in one way or the other :P
 
 Ben
 
 On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 Hi guys,
 
 I’m very impressed with the new Komitter tool that I’ve found in Pharo 
 today. It’s a really important tool that we really need. It’s amazing that 
 you can at last see what is changed and pick what you want to commit. Also 
 the startup gear animation is cool. Only one question: should I complain 
 about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” 
 when trying to commit, or it’s work in progress and everything is changing 
 each day?
 
 Also why can’t I access anything else when Komitter window is open?
 
 Uko
 
 
 



[Pharo-dev] [pharo-project/pharo-core] 8868cb: 30620

2013-12-04 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 8868cb330f982ca2d1c6041c3355a9dade9efbc9
  
https://github.com/pharo-project/pharo-core/commit/8868cb330f982ca2d1c6041c3355a9dade9efbc9
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2013-12-04 (Wed, 04 Dec 2013)

  Changed paths:
M Komitter.package/KomitNewSlice.class/instance/accessing/remote.st
M Komitter.package/Komitter.class/class/icon/iconData.st
A 
SUnit-Core.package/extension/Deprecation/instance/sunitAnnounce_toResult_.st
A SUnit-Tests.package/SUnitTest.class/instance/helpers/deprecatedMessage.st
A 
SUnit-Tests.package/SUnitTest.class/instance/testing/raiseDeprecationWarnings.st
A 
SUnit-Tests.package/SUnitTest.class/instance/testing/testIgnoreDeprecationWarnings.st
A 
SUnit-Tests.package/SUnitTest.class/instance/testing/testRaiseDeprecationWarnings.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script275.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30620.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st

  Log Message:
  ---
  30620
12272 Better algorithm for finding the inbox
https://pharo.fogbugz.com/f/cases/12272

12334 Nautilus codepane hides first lines if pin is set
https://pharo.fogbugz.com/f/cases/12334

11423 Running unit tests that raise deprecation warnings makes them fail 
incomprehensibly
https://pharo.fogbugz.com/f/cases/11423

http://files.pharo.org/image/30/30620.zip




[Pharo-dev] [pharo-project/pharo-core]

2013-12-04 Thread GitHub
  Branch: refs/tags/30620
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default

2013-12-04 Thread Sven Van Caekenberghe

On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote:

 Let me see what I can come up with.

To be somewhat compatible with existing streams, your memory stream should have 
the concept of ‘i am binary or textual’ and be able to switch in-place between 
these two states (#binary, #ascii). Depending on its state it should then 
return bytes or characters (or collections thereof). Have a look at 
ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut:

To be 100% correct, encoding should be selectable. But maybe a default to utf-8 
would be enough. You could have a look at ZnCharacter[Read|Write]Stream for 
inspiration.

My 2c.

 On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote:
 
 Thanks Max for the report. Do you have an idea on how we could solve the 
 problem ? The previous behaviour was not acceptable either because the 
 streams that came out of a memory filesystem were the only ones with binary 
 content
 
 On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote:
 Damien, Marcus
 
 this change breaks a lot of things in FileSystem-Git. I don’t disagree with 
 the idea that reading characters should be default (one could argue about 
 it…) but your change makes it IMPOSSIBLE to read bytes because unprintable 
 characters are discarded! So if my ByteArray is a NULL terminated string, 
 for instance, I can not check for the NULL termination anymore.
 
 Cheers,
 Max
 




Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread p...@highoctane.be
Awesome! Looks like Ronie indeed worked a lot to get this. Kudos!

I am eager to be the 19th to learn more about Moose things (
http://www.lifl.fr/~etien/MooseDay.html).

Phil


On Wed, Dec 4, 2013 at 2:29 PM, Alexandre Bergel alexandre.ber...@me.comwrote:

 Dear Friends and Colleagues,

 We are happy to (officially) announce Roassal 3d. Roassal 3d is about
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d
 recently got textures, translucence, additional layouts and various light
 models.

 It would be great to receive feedback. Ronie worked very hard on making
 Roassal3d happen. Milton has put quite some effort on writing documentation
 and writing examples. A very preliminary version of the documentation may
 be found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf

 The screenshots contained in this documentation should convey an accurate
 feeling of what Roassal 3d is up to.

 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration.
 Simply open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package:
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d)
 loadDevelopment

 We are also looking for contributors to the documentation, we plan to have
 a book chapter on it. Get in touch with us!

 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.

 Cheers,
 Alexandre
 --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







[Pharo-dev] [Nautilus] Selecting package

2013-12-04 Thread Roberto Minelli
Hi guys,

I recently moved my tool to Pharo 3 and I am experiencing problems with the 
Nautilus.

Long story sort: Why the argument of Nautilus#selectedPackage: aPackage is 
*not* a package but some weird PackageTreeSelection or subclass of it?

I don’t followed (unfortunately) the evolution of the PackageTreeModel in 
general.. so I don’t really know how to proceed.. In the end I’ll need the 
RPackage of the PackageTreeSelection…

Another question: what is a RPackageTag?

I am confused.

Cheers and thanks in advance for any answer,
R


Re: [Pharo-dev] Convert to Athens

2013-12-04 Thread J.F. Rick
I'm facing some problems with AthensWrapMorph. Basically, when I add a
morph, I can't change its position. It just stays in the top left. Whatever
I try to do to change its position (self position: 100@100) does not work.

Cheers,

Jeff


On Wed, Nov 20, 2013 at 5:04 PM, J.F. Rick s...@je77.com wrote:

 Thanks. It works. I already have found a few bugs and one thing I don't
 understand.

 (1) A few Paint things seem to implement athensFillRectangle:on: and
 athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems
 like it should be the latter rather than the former. I changed the names
 and the evil rectangle of doom disappeared.

 (2) Using the AthenWrapMorph, it seems that the bottom row of pixels is
 not rendered or clipped. I can stop this phenomenon by changing the
 createSurface method to have the extent be 0@1 bigger. While that works,
 it seems like there's a bug somewhere in AthensCairoSurface.

 (3) I ended up changing a morph so that it should render differently. In
 standard Pharo, I just use self changed and it updates. Is there an
 equivalent in Athens? Do I have to explicitly tell Athens to rerender it?
 If so, how? I tried self render but that did not seem to help.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.comwrote:

 http://www.smalltalkhub.com/#!/~Pharo/Athens


 On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote:

 Right. Where is this Athens repository? I have the latest in
 Pharo30/main (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem to
 include AthensWrapperMorph.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote:




 On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote:

 Indeed. I would like to know that. It doesn't seem to be included in
 the latest Pharo 3.0.


 it could be not yet included.
 in that case, load most recent Athens-Morphic package from athens
 repository.



 Cheers,

 Jeff


 On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes 
 hilaire.fernan...@gmail.com wrote:

 Le 15/11/2013 14:17, Igor Stasenko a écrit :
 
  for transition , i implemented a special morph, AthensWrapMorph
  which wraps (as its name says) its children morphs and forces them
 to be
  rendered by athens
  (the child morphs will never receive #drawOn: but
 #drawOnAthensCanvas:
  instead ).


 I guess Jeff, may want to know where to find this wrapper.

 Hilaire


 --
 Dr. Geo http://drgeo.eu





 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




-- 
Jochen Jeff Rick, Ph.D.
http://www.je77.com/
Skype ID: jochenrick


Re: [Pharo-dev] Komitter

2013-12-04 Thread Stéphane Ducasse
+1

 Thanks once more for your effort. This is a really important tool for me.
 
 Uko
 




Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Stéphane Ducasse
ronie will visit us at lille for a month starting 31 of December.

Stef

On Dec 4, 2013, at 4:02 PM, p...@highoctane.be wrote:

 Awesome! Looks like Ronie indeed worked a lot to get this. Kudos!
 
 I am eager to be the 19th to learn more about Moose things 
 (http://www.lifl.fr/~etien/MooseDay.html).
 
 Phil
 
 
 On Wed, Dec 4, 2013 at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com 
 wrote:
 Dear Friends and Colleagues,
 
 We are happy to (officially) announce Roassal 3d. Roassal 3d is about 
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d 
 recently got textures, translucence, additional layouts and various light 
 models.
 
 It would be great to receive feedback. Ronie worked very hard on making 
 Roassal3d happen. Milton has put quite some effort on writing documentation 
 and writing examples. A very preliminary version of the documentation may be 
 found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf
 
 The screenshots contained in this documentation should convey an accurate 
 feeling of what Roassal 3d is up to.
 
 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply 
 open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) 
 loadDevelopment
 
 We are also looking for contributors to the documentation, we plan to have a 
 book chapter on it. Get in touch with us!
 
 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.
 
 Cheers,
 Alexandre
 --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 



Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Stéphane Ducasse
Alex

what about taking the doc and turning it in pier syntax?

Stef



On Dec 4, 2013, at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote:

 Dear Friends and Colleagues,
 
 We are happy to (officially) announce Roassal 3d. Roassal 3d is about 
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d 
 recently got textures, translucence, additional layouts and various light 
 models.
 
 It would be great to receive feedback. Ronie worked very hard on making 
 Roassal3d happen. Milton has put quite some effort on writing documentation 
 and writing examples. A very preliminary version of the documentation may be 
 found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf
 
 The screenshots contained in this documentation should convey an accurate 
 feeling of what Roassal 3d is up to.
 
 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply 
 open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) 
 loadDevelopment
 
 We are also looking for contributors to the documentation, we plan to have a 
 book chapter on it. Get in touch with us!
 
 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.
 
 Cheers,
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 




Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Ronie Salgado
Roassal 3D Its designed to work with OpenGL 2.x, however latest versions
have been tested with OpenGL 4.x. Supporting multiples versions of OpenGL
and taking advantage of the available hardware when possible, its always on
the plans.

Greetings,
Ronie Salgado


2013/12/4 kilon alios kilon.al...@gmail.com

 hey congratulations on your release. Which opengl version you use for
 Roassal 3d ?


 On Wed, Dec 4, 2013 at 3:29 PM, Alexandre Bergel 
 alexandre.ber...@me.comwrote:

 Dear Friends and Colleagues,

 We are happy to (officially) announce Roassal 3d. Roassal 3d is about
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d
 recently got textures, translucence, additional layouts and various light
 models.

 It would be great to receive feedback. Ronie worked very hard on making
 Roassal3d happen. Milton has put quite some effort on writing documentation
 and writing examples. A very preliminary version of the documentation may
 be found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf

 The screenshots contained in this documentation should convey an accurate
 feeling of what Roassal 3d is up to.

 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration.
 Simply open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package:
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d)
 loadDevelopment

 We are also looking for contributors to the documentation, we plan to
 have a book chapter on it. Get in touch with us!

 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.

 Cheers,
 Alexandre
 --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.








Re: [Pharo-dev] Convert to Athens

2013-12-04 Thread J.F. Rick
Here's a piece of code to demonstrate the problem:

AthensWrapMorph new
extent: 300@300;
addMorph: (Morph new
position: 100@100;
extent: 100@100;
yourself);
openInWorld.

I think this should draw a blue square at 100@100. Instead, it draws a blue
square at 0@0. What am I doing wrong?

Cheers,

Jeff



On Wed, Dec 4, 2013 at 6:17 PM, J.F. Rick s...@je77.com wrote:

 I'm facing some problems with AthensWrapMorph. Basically, when I add a
 morph, I can't change its position. It just stays in the top left. Whatever
 I try to do to change its position (self position: 100@100) does not work.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 5:04 PM, J.F. Rick s...@je77.com wrote:

 Thanks. It works. I already have found a few bugs and one thing I don't
 understand.

 (1) A few Paint things seem to implement athensFillRectangle:on: and
 athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems
 like it should be the latter rather than the former. I changed the names
 and the evil rectangle of doom disappeared.

 (2) Using the AthenWrapMorph, it seems that the bottom row of pixels is
 not rendered or clipped. I can stop this phenomenon by changing the
 createSurface method to have the extent be 0@1 bigger. While that works,
 it seems like there's a bug somewhere in AthensCairoSurface.

 (3) I ended up changing a morph so that it should render differently. In
 standard Pharo, I just use self changed and it updates. Is there an
 equivalent in Athens? Do I have to explicitly tell Athens to rerender it?
 If so, how? I tried self render but that did not seem to help.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.comwrote:

 http://www.smalltalkhub.com/#!/~Pharo/Athens


 On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote:

 Right. Where is this Athens repository? I have the latest in
 Pharo30/main (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem to
 include AthensWrapperMorph.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote:




 On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote:

 Indeed. I would like to know that. It doesn't seem to be included in
 the latest Pharo 3.0.


 it could be not yet included.
 in that case, load most recent Athens-Morphic package from athens
 repository.



 Cheers,

 Jeff


 On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes 
 hilaire.fernan...@gmail.com wrote:

 Le 15/11/2013 14:17, Igor Stasenko a écrit :
 
  for transition , i implemented a special morph, AthensWrapMorph
  which wraps (as its name says) its children morphs and forces them
 to be
  rendered by athens
  (the child morphs will never receive #drawOn: but
 #drawOnAthensCanvas:
  instead ).


 I guess Jeff, may want to know where to find this wrapper.

 Hilaire


 --
 Dr. Geo http://drgeo.eu





 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




-- 
Jochen Jeff Rick, Ph.D.
http://www.je77.com/
Skype ID: jochenrick


Re: [Pharo-dev] [Moose-dev] [ANN] Roassal 3d

2013-12-04 Thread Alexandre Bergel
Would be great to do that. I guess we would easily get the latex version from 
this right?

How should we start? Which Pier installation can we use for this?

Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



On Dec 4, 2013, at 2:22 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote:

 Alex
 
 what about taking the doc and turning it in pier syntax?
 
 Stef
 
 
 
 On Dec 4, 2013, at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote:
 
 Dear Friends and Colleagues,
 
 We are happy to (officially) announce Roassal 3d. Roassal 3d is about 
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d 
 recently got textures, translucence, additional layouts and various light 
 models.
 
 It would be great to receive feedback. Ronie worked very hard on making 
 Roassal3d happen. Milton has put quite some effort on writing documentation 
 and writing examples. A very preliminary version of the documentation may be 
 found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf
 
 The screenshots contained in this documentation should convey an accurate 
 feeling of what Roassal 3d is up to.
 
 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. 
 Simply open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) 
 loadDevelopment
 
 We are also looking for contributors to the documentation, we plan to have a 
 book chapter on it. Get in touch with us!
 
 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.
 
 Cheers,
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 
 ___
 Moose-dev mailing list
 moose-...@iam.unibe.ch
 https://www.iam.unibe.ch/mailman/listinfo/moose-dev




Re: [Pharo-dev] Convert to Athens

2013-12-04 Thread Igor Stasenko
On 20 November 2013 17:04, J.F. Rick s...@je77.com wrote:

 Thanks. It works. I already have found a few bugs and one thing I don't
 understand.

 (1) A few Paint things seem to implement athensFillRectangle:on: and
 athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems
 like it should be the latter rather than the former. I changed the names
 and the evil rectangle of doom disappeared.

 this is recent changes. I chosen to namespace selectors.
The former selectors should not be used and replaced by new ones (if they
still there).
I suspect you using outdated version + loaded recent version(s) of packages,
going into desync  between packages.
It is recommended to always use published version of Athens and always load
configuration(s).


(2) Using the AthenWrapMorph, it seems that the bottom row of pixels is not
rendered or clipped. I can stop this phenomenon by changing the
createSurface method to have the extent be 0@1 bigger. While that works, it
seems like there's a bug somewhere in AthensCairoSurface.

I doubt it is in AthensCairoSurface.
Most probably it is clipping issue. Need to be carefully checked.
Changing the surface size is just workaround.

(3) I ended up changing a morph so that it should render differently. In
standard Pharo, I just use self changed and it updates. Is there an
equivalent in Athens? Do I have to explicitly tell Athens to rerender it?
If so, how? I tried self render but that did not seem to help.

No any equivalent. Updating UI is orthogonal to Athens.
AthenWrapMorph sends drawOnAthensCanvas: to its submorphs, everything else
is up to implementation.

Cheers,

Jeff


On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.com wrote:

 http://www.smalltalkhub.com/#!/~Pharo/Athens


 On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote:

 Right. Where is this Athens repository? I have the latest in Pharo30/main
 (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem to include
 AthensWrapperMorph.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote:




 On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote:

 Indeed. I would like to know that. It doesn't seem to be included in
 the latest Pharo 3.0.


 it could be not yet included.
 in that case, load most recent Athens-Morphic package from athens
 repository.



 Cheers,

 Jeff


 On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes 
 hilaire.fernan...@gmail.com wrote:

 Le 15/11/2013 14:17, Igor Stasenko a écrit :
 
  for transition , i implemented a special morph, AthensWrapMorph
  which wraps (as its name says) its children morphs and forces them
 to be
  rendered by athens
  (the child morphs will never receive #drawOn: but
 #drawOnAthensCanvas:
  instead ).


 I guess Jeff, may want to know where to find this wrapper.

 Hilaire


 --
 Dr. Geo http://drgeo.eu





 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




-- 
Jochen Jeff Rick, Ph.D.
http://www.je77.com/
Skype ID: jochenrick



-- 
Best regards,
Igor Stasenko.


Re: [Pharo-dev] [Moose-dev] [ANN] Roassal 3d

2013-12-04 Thread Stéphane Ducasse
 Would be great to do that. I guess we would easily get the latex version from 
 this right?

this is automatic :)
and the HTML version and the md version even if some bugs should be fixed.


 How should we start? Which Pier installation can we use for this?

everything is explained on github 
PharoForTheEntreprise 

Let us know if something does not work.

Stef
 
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 On Dec 4, 2013, at 2:22 PM, Stéphane Ducasse stephane.duca...@inria.fr 
 wrote:
 
 Alex
 
 what about taking the doc and turning it in pier syntax?
 
 Stef
 
 
 
 On Dec 4, 2013, at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote:
 
 Dear Friends and Colleagues,
 
 We are happy to (officially) announce Roassal 3d. Roassal 3d is about 
 creating and animating 3d scenes. It is meant to visualize data. Roassal 3d 
 recently got textures, translucence, additional layouts and various light 
 models.
 
 It would be great to receive feedback. Ronie worked very hard on making 
 Roassal3d happen. Milton has put quite some effort on writing documentation 
 and writing examples. A very preliminary version of the documentation may 
 be found on:
 https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf
 
 The screenshots contained in this documentation should convey an accurate 
 feeling of what Roassal 3d is up to.
 
 Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. 
 Simply open a workspace and do-it the following code:
 Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 
 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) 
 loadDevelopment
 
 We are also looking for contributors to the documentation, we plan to have 
 a book chapter on it. Get in touch with us!
 
 Thanks to Usman, Jean-Baptiste, Igor for their help and contributions.
 
 Cheers,
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 
 ___
 Moose-dev mailing list
 moose-...@iam.unibe.ch
 https://www.iam.unibe.ch/mailman/listinfo/moose-dev
 
 




Re: [Pharo-dev] [Nautilus] Selecting package

2013-12-04 Thread Stéphane Ducasse

On Dec 4, 2013, at 4:10 PM, Roberto Minelli roberto.mine...@usi.ch wrote:

 Hi guys,
 
 I recently moved my tool to Pharo 3 and I am experiencing problems with the 
 Nautilus.
 
 Long story sort: Why the argument of Nautilus#selectedPackage: aPackage is 
 *not* a package but some weird PackageTreeSelection or subclass of it?

I guess that if you would get simply the rpackage ie the model you would be in 
trouble if you want to do some ui stuff with the representation of the package.
Now if you have a PackageTreeSelection then you can dispatch to the selection 
and avoid ifs and crawling from rpackage to nautilus. 

So have a look at the code it should not be that complex and last time I looked 
at the code when esteban was writing it, it looks good to me. 
Less tests, more dispatch.


 I don’t followed (unfortunately) the evolution of the PackageTreeModel in 
 general.. so I don’t really know how to proceed.. In the end I’ll need the 
 RPackage of the PackageTreeSelection…
 
 Another question: what is a RPackageTag?

Packages contain tag for classes (like old categories but per packages)

 
 I am confused.
 
 Cheers and thanks in advance for any answer,
 R




Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Stephan Eggermont
Nice!

I directly tried it loading into 30618 with te latest vm on OS X Mavericks.
When loading the configuration as shown in the manual, there was a complaint 
about
a class not found yet. The examples showed up fine though. They look great. 
The first one with the square/cube I couldn’t get the camera viewpoint 
to move to where I could see it was a cube. That worked much better with the 
later examples.
The session management isn’t working out well: saving the image with an open 
view and quitting,
the image crashed on restart. 

I’m looking forward to adding some 3D views to PetitDelphi.

Stephan


Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default

2013-12-04 Thread Nicolas Cellier
Here would be the Xtream way IMHO:
1) At the end, the file should be handled as binary.
2) A facade BivalentReadStream (and BivalentWriteStream) would be created,
able to switch encoding
3) The implementation would be to wrap either directly over the binary
stream, or indirectly over an encoded stream which wraps other the binary
stream.
4) For write, the facade should just ensure that buffers (if any) are
properly flushed, and then just delegate to specialized wrapped streams.
5) For read, it might be a bit more involved if some buffer were used in
intermediate wrappers, because they should push back the excess bytes read
and restore the state of lower level binary stream...
In all case, all should happen thru delegation and the facade should be
rather dumb.


2013/12/4 Sven Van Caekenberghe s...@stfx.eu


 On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote:

  Let me see what I can come up with.

 To be somewhat compatible with existing streams, your memory stream should
 have the concept of ‘i am binary or textual’ and be able to switch in-place
 between these two states (#binary, #ascii). Depending on its state it
 should then return bytes or characters (or collections thereof). Have a
 look at ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut:

 To be 100% correct, encoding should be selectable. But maybe a default to
 utf-8 would be enough. You could have a look at
 ZnCharacter[Read|Write]Stream for inspiration.

 My 2c.

  On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote:
 
  Thanks Max for the report. Do you have an idea on how we could solve
 the problem ? The previous behaviour was not acceptable either because the
 streams that came out of a memory filesystem were the only ones with binary
 content
 
  On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote:
  Damien, Marcus
 
  this change breaks a lot of things in FileSystem-Git. I don’t disagree
 with the idea that reading characters should be default (one could argue
 about it…) but your change makes it IMPOSSIBLE to read bytes because
 unprintable characters are discarded! So if my ByteArray is a NULL
 terminated string, for instance, I can not check for the NULL termination
 anymore.
 
  Cheers,
  Max
 





Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Stéphane Ducasse
 AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'
 
 executes the default action for OCUndeclaredVariableWarning, which is opening 
 a pop-up titled: Unknown variable  Here the error is raised at 
 compilation time, therefore it would have no effect to wrap this with a 
 #on:do: 

I do not understand why if an exception is raised why I cannot trap it. 

[AnUnknownClass subclass: #Adaptor1Example
instanceVariableNames: 'customers accountID address name phoneNumber'
classVariableNames: ''
poolDictionaries: ''
category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do: [ 
self halt.]  does not halt. 

The fact that is is at compilation time does not mean anything to me. So why? 
I'm totally confused by this bad and unexpected behavior. 
Do you imply that the warning is already trapped and that I cannot take 
precedence? Probably but this has nothing to do with compilation time.

Then to me OCSemanticWarning should be enhanced so that we do not get these 
silly menus. An exception should work and clients should be able to customise
it to (for example introduce menu and dialog with the users but they should not 
be the only default. 
We see again this plague of interactive environment not being rethought in the 
2013 age. 

defaultAction

self errorNotification ifFalse: [ ^nil ].
^self openMenuIn: 
[:labels :lines :caption | 
UIManager default chooseFrom: labels lines: lines title: 
caption]

but that we could specify the action to be executed instead. 


to me CompilerException should have nothing to do with UI and popup. Then we 
should be able to pass objects that knows how to handle
the errors in interactive way or not. 

As a clear example, this is just bad that each time we want to change the UI 
message we have to change the compiler exception. 
ugly at wish.

I have no cycle to fix that now. I will check if I can get something in 
UndefinedObject so that I can continue to work on my task.

Stef



 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address name 
 phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e 
 halt ]
 
 Here we catch the error, and you can handle it. 
 Now it is not easily possible to resume the error, because you want a global 
 instead and Opal expects a temp (there are way to resume but with very deep 
 stack manipulation that I do not want to show to young pharoers present on 
 this mailing list). So the best is to retry it. One solution is therefore:
 
 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ] 
 on: OCSemanticWarning do: [ :e | 
   Smalltalk at: e node name put: StubRootClass.
   e retry ] 
 
 with e node name answering #AnUnknownClass here.
 Now you need to make sure that the exception block is executed for the case 
 of a missing superclass and not something else or you will end up creating 
 loads of globals.
 
 The exception block should be something similar to:
 
  [ :e | 
 e node name first isUppercase and: [ some condition ] ifTrue: [
   Smalltalk at: e node name put: StubRootClass.
   ^ e retry ].
 e pass ] 
 
 How to undefined and OCUndeclaredVariableWarning relate?
 
 In your case, while loading from Monticello the code is compiled and 
 evaluated in non interactive mode. Therefore it cannot trigger the default 
 action of OCUndeclaredVariableWarning which is a UI event. So it sets by 
 default the unknown global to:
 
 Undeclared at: varName asSymbol put: nil.
 OCUndeclaredVariable new name: varName asSymbol
 
 in: OCUndeclaredVariableWarning defaultAction
 
 which then later triggers the code in UndefinedObject.



Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Torsten Bergmann
Hi Alexandre, Ronie, Milton,

first: this is a cool project!

Then a few comments:

  1.  When using the script in a fresh Pharo3.0 Latest update: #30620 it 
complains:
   
  This package depends on the following classes:
  ROAthensMorph
  You must resolve these dependencies before you will be able to load these 
definitions: 
  R3MorphOverlay
  clear

 Nonetheless one can proceed and it loads

  2. If I use the samples from the tutorial PDF and copy them into a Pharo
 workspace they are not accepted by Pharo - looks like an encoding issue in 
the PDF
 (when copying from Adobe PDF viewer on Windows into Pharo)

 When I type the samples manually they work

  3. Providing a script is so old style and hard to remember - why not define 
a #stable
 and put your config into MetaRepoForPharo30
 So others can easily load it via ConfigurationBrowser with a few clicks in 
a fresh image.

  4. Did I already told you that this is a cool project?

  5. See 4.

Bye
T.



Re: [Pharo-dev] Komitter

2013-12-04 Thread Nicolas Cellier
Does Kommitter enables partial commits (cherry picking) for a package?
If so, my question is how does it deal with MC ancestry?

Imagine I have a package- A.247 from my-trunk.
I merge some A.312 from my-work repository with work in progress.
Now I want to cherry pick the changes which are OK, and publish only those
to my-trunk.
I do so in my-trunk/A.313.
Will A.312 be in the ancestry of A.313?
Logically as MC is working, yes, because it is in the ancestry of in-image
working copy.

What if I later download A.313 from my-trunk in a fresh image and try to
merge A.312 to finish the work in progress?
IMO, this is not possible, A312 being an ancestor, no change will happen.

So, it sounds like when I committed my-trunk/A.313 with partial changes, I
should have commited my-work/A.314 immediately after with the rest of
pending changes...
If I forgot to do so and threw my image away, from a fresh image, it is
still possible to load A.312, merge A.313, and publish A.314 in my-work
repo.

But then it rather complicates the flow... If we commit/merge carelessly,
we might throw away some valuable work in progress.
The fear of such scenario prevented us to integrate a change from Bert in
Squeak/trunk enabling such partial commits (directly from MC UI in Squeak
case).


2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr

 +1

  Thanks once more for your effort. This is a really important tool for me.
 
  Uko
 





Re: [Pharo-dev] Komitter

2013-12-04 Thread Stéphane Ducasse
Nicolas

From what I understand Kommitter just filters the entities that will be passed 
as modified and as such does not change the 
ancestry of a package. 

Stef


On Dec 4, 2013, at 8:12 PM, Nicolas Cellier 
nicolas.cellier.aka.n...@gmail.com wrote:

 Does Kommitter enables partial commits (cherry picking) for a package?
 If so, my question is how does it deal with MC ancestry?
 
 Imagine I have a package- A.247 from my-trunk.
 I merge some A.312 from my-work repository with work in progress.
 Now I want to cherry pick the changes which are OK, and publish only those to 
 my-trunk.
 I do so in my-trunk/A.313.
 Will A.312 be in the ancestry of A.313?
 Logically as MC is working, yes, because it is in the ancestry of in-image 
 working copy.
 
 What if I later download A.313 from my-trunk in a fresh image and try to 
 merge A.312 to finish the work in progress?
 IMO, this is not possible, A312 being an ancestor, no change will happen.
 
 So, it sounds like when I committed my-trunk/A.313 with partial changes, I 
 should have commited my-work/A.314 immediately after with the rest of pending 
 changes...
 If I forgot to do so and threw my image away, from a fresh image, it is still 
 possible to load A.312, merge A.313, and publish A.314 in my-work repo.
 
 But then it rather complicates the flow... If we commit/merge carelessly, we 
 might throw away some valuable work in progress.
 The fear of such scenario prevented us to integrate a change from Bert in 
 Squeak/trunk enabling such partial commits (directly from MC UI in Squeak 
 case).
 
 
 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr
 +1
 
  Thanks once more for your effort. This is a really important tool for me.
 
  Uko
 
 
 
 



Re: [Pharo-dev] Komitter

2013-12-04 Thread Nicolas Cellier
Err, from a fresh image, we should not merge A.313 but adopt it in our
ancestry, else merging will remove all the pending changes...


2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com

 Does Kommitter enables partial commits (cherry picking) for a package?
 If so, my question is how does it deal with MC ancestry?

 Imagine I have a package- A.247 from my-trunk.
 I merge some A.312 from my-work repository with work in progress.
 Now I want to cherry pick the changes which are OK, and publish only those
 to my-trunk.
 I do so in my-trunk/A.313.
 Will A.312 be in the ancestry of A.313?
 Logically as MC is working, yes, because it is in the ancestry of in-image
 working copy.

 What if I later download A.313 from my-trunk in a fresh image and try to
 merge A.312 to finish the work in progress?
 IMO, this is not possible, A312 being an ancestor, no change will happen.

 So, it sounds like when I committed my-trunk/A.313 with partial changes, I
 should have commited my-work/A.314 immediately after with the rest of
 pending changes...
 If I forgot to do so and threw my image away, from a fresh image, it is
 still possible to load A.312, merge A.313, and publish A.314 in my-work
 repo.

 But then it rather complicates the flow... If we commit/merge carelessly,
 we might throw away some valuable work in progress.
 The fear of such scenario prevented us to integrate a change from Bert in
 Squeak/trunk enabling such partial commits (directly from MC UI in Squeak
 case).


 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr

 +1

  Thanks once more for your effort. This is a really important tool for
 me.
 
  Uko
 






Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Marcus Denker

On 04 Dec 2013, at 20:02, Stéphane Ducasse stephane.duca...@inria.fr wrote:

 AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'
 
 executes the default action for OCUndeclaredVariableWarning, which is 
 opening a pop-up titled: Unknown variable  Here the error is raised at 
 compilation time, therefore it would have no effect to wrap this with a 
 #on:do: 
 
 I 
 to me CompilerException should have nothing to do with UI and popup. Then we 
 should be able to pass objects that knows how to handle
 the errors in interactive way or not. 
 
 As a clear example, this is just bad that each time we want to change the UI 
 message we have to change the compiler exception. 
 ugly at wish.
 
 I have no cycle to fix that now. I will check if I can get something in 
 UndefinedObject so that I can continue to work on my task.
 

The whole exception / error handling of the compiler needs to be deeply 
rethought.
Sadly I have no cycles free in my brain to even start to think about it, and, 
even more important, we should wait until the old
Compiler is removed…

Marcus



Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread milton mamani
Hi Alexandre, Ronie, Milton,

first: this is a cool project!

Then a few comments:

  1.  When using the script in a fresh Pharo3.0 Latest update: #30620 it
complains:

  This package depends on the following classes:
  ROAthensMorph
  You must resolve these dependencies before you will be able to load
these definitions:
  R3MorphOverlay
  clear

 Nonetheless one can proceed and it loads

  This is a bug, we are working to fix it.

  2. If I use the samples from the tutorial PDF and copy them into a Pharo
 workspace they are not accepted by Pharo - looks like an encoding
issue in the PDF
 (when copying from Adobe PDF viewer on Windows into Pharo)

 When I type the samples manually they work

  There is an issue with dropbox and PDF. You can download the file and
open it, that should work.

  3. Providing a script is so old style and hard to remember - why not
define a #stable
 and put your config into MetaRepoForPharo30
 So others can easily load it via ConfigurationBrowser with a few
clicks in a fresh image.

  We are going to review|work on that

  4. Did I already told you that this is a cool project?

  5. See 4.

  Thank you

Bye


2013/12/4 Torsten Bergmann asta...@gmx.de

 Hi Alexandre, Ronie, Milton,

 first: this is a cool project!

 Then a few comments:

   1.  When using the script in a fresh Pharo3.0 Latest update: #30620 it
 complains:

   This package depends on the following classes:
   ROAthensMorph
   You must resolve these dependencies before you will be able to load
 these definitions:
   R3MorphOverlay
   clear

  Nonetheless one can proceed and it loads

   2. If I use the samples from the tutorial PDF and copy them into a Pharo
  workspace they are not accepted by Pharo - looks like an encoding
 issue in the PDF
  (when copying from Adobe PDF viewer on Windows into Pharo)

  When I type the samples manually they work

   3. Providing a script is so old style and hard to remember - why not
 define a #stable
  and put your config into MetaRepoForPharo30
  So others can easily load it via ConfigurationBrowser with a few
 clicks in a fresh image.

   4. Did I already told you that this is a cool project?

   5. See 4.

 Bye
 T.




Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Marcus Denker

On 04 Dec 2013, at 20:30, milton mamani akeval...@gmail.com wrote:
 
   3. Providing a script is so old style and hard to remember - why not 
 define a #stable
  and put your config into MetaRepoForPharo30
  So others can easily load it via ConfigurationBrowser with a few clicks 
 in a fresh image.

even better: have a jerkins build where people can download an image…

Marcus



Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Stéphane Ducasse

 As a clear example, this is just bad that each time we want to change the UI 
 message we have to change the compiler exception. 
 ugly at wish.
 
 I have no cycle to fix that now. I will check if I can get something in 
 UndefinedObject so that I can continue to work on my task.
 
 
 The whole exception / error handling of the compiler needs to be deeply 
 rethought.
 Sadly I have no cycles free in my brain to even start to think about it, and, 
 even more important, we should wait until the old
 Compiler is removed…

Ok I will check something on UndefinedObject to start with. 
Then it would be fun to prototype a kind of strategy hiearchy on the side 
(extracted from also) behavior of OCSemanticsError
It was nice to see it and since now I'm ok to have a look at the compiler code 
it was interesting.

Stef
 
   Marcus
 




Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Marcus Denker

On 04 Dec 2013, at 20:34, Stéphane Ducasse stephane.duca...@inria.fr wrote:

 
 As a clear example, this is just bad that each time we want to change the 
 UI message we have to change the compiler exception. 
 ugly at wish.
 
 I have no cycle to fix that now. I will check if I can get something in 
 UndefinedObject so that I can continue to work on my task.
 
 
 The whole exception / error handling of the compiler needs to be deeply 
 rethought.
 Sadly I have no cycles free in my brain to even start to think about it, 
 and, even more important, we should wait until the old
 Compiler is removed…
 
 Ok I will check something on UndefinedObject to start with. 
 Then it would be fun to prototype a kind of strategy hiearchy on the side 
 (extracted from also) behavior of OCSemanticsError
 It was nice to see it and since now I'm ok to have a look at the compiler 
 code it was interesting.
 

The current design is motivated mostly by backward compatibility, not anything 
else.

Marcus


Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Stéphane Ducasse

 Ok I will check something on UndefinedObject to start with. 
 Then it would be fun to prototype a kind of strategy hiearchy on the side 
 (extracted from also) behavior of OCSemanticsError
 It was nice to see it and since now I'm ok to have a look at the compiler 
 code it was interesting.
 
 
 The current design is motivated mostly by backward compatibility, not 
 anything else.

I see :)
I would really to see an headless, interactive and scriptable scenarios to be 
exercised. So this is good it will get better :)
Stef


[Pharo-dev] [pharo-project/pharo-core]

2013-12-04 Thread GitHub
  Branch: refs/tags/30621
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] 4f381f: 30621

2013-12-04 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 4f381f0027728a768390f2f648edbdb1ac123088
  
https://github.com/pharo-project/pharo-core/commit/4f381f0027728a768390f2f648edbdb1ac123088
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2013-12-04 (Wed, 04 Dec 2013)

  Changed paths:
A 
CodeImport.package/MethodDeclaration.class/instance/importing/handleMissingBehavior.st
M 
CodeImport.package/MethodDeclaration.class/instance/importing/importFor_.st
A CodeImport.package/MissingClassError.class/README.md
A CodeImport.package/MissingClassError.class/class/instance 
creation/className_.st
A CodeImport.package/MissingClassError.class/definition.st
A 
CodeImport.package/MissingClassError.class/instance/accessing/className_.st
A 
CodeImport.package/MissingClassError.class/instance/accessing/superclassName.st
A 
CodeImport.package/MissingClassError.class/instance/accessing/superclassName_.st
A CodeImport.package/MissingClassError.class/instance/actions/asResumable.st
A CodeImport.package/MissingClassError.class/instance/actions/defineClass.st
A CodeImport.package/MissingClassError.class/instance/testing/isResumable.st
M Komitter.package/Komitter.class/instance/accessing/stagingArea.st
R Komitter.package/Komitter.class/instance/opening/open.st
M 
Komitter.package/Komitter.class/instance/opening/openAndCommitToMonticello.st
A Komitter.package/Komitter.class/instance/opening/openAndDo_.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script276.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30621.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M 
Spec-Core.package/DialogWindowModel.class/instance/initialize/initialize.st
M Spec-Core.package/SpecDialogWindow.class/instance/accessing/toolbar_.st
M 
Spec-Core.package/SpecDialogWindow.class/instance/protocol/setToolbarFrom_.st
M 
Spec-Core.package/TextInputFieldModel.class/instance/initialization/initialize.st
A 
Spec-MorphicAdapters.package/MorphicDialogWindowAdapter.class/instance/spec 
protocol/toolbar_.st
A 
Spec-MorphicAdapters.package/MorphicTextInputFieldAdapter.class/instance/spec 
protocol/encrypted_.st
M 
Spec-MorphicAdapters.package/SpecTreeNodeModel.class/instance/protocol/lastClicked_.st

  Log Message:
  ---
  30621
- issue 12317: Better way to let the user handle missing class when loading code

https://pharo.fogbugz.com/f/cases/12317/Better-way-to-let-the-user-handle-missing-class-when-loading-code

- issue 12335: Some fixes
https://pharo.fogbugz.com/f/cases/12335/Some-fixes

- issue 12336: Do not open Komitter modal
https://pharo.fogbugz.com/f/cases/12336/Do-not-open-Komitter-modal

http://files.pharo.org/image/30/30621.zip




[Pharo-dev] [update 3.0] #30621

2013-12-04 Thread Stéphane Ducasse

30621
-

- issue 12317: Better way to let the user handle missing class when loading code

https://pharo.fogbugz.com/f/cases/12317/Better-way-to-let-the-user-handle-missing-class-when-loading-code

- issue 12335: Some fixes
https://pharo.fogbugz.com/f/cases/12335/Some-fixes

- issue 12336: Do not open Komitter modal
https://pharo.fogbugz.com/f/cases/12336/Do-not-open-Komitter-modal
Diff information:
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-MorphicAdapters-StephaneDucasse.91.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Core-StephaneDucasse.254.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Komitter-StephaneDucasse.58.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/CodeImport-StephaneDucasse.42.diff




[Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me

2013-12-04 Thread Stephan Eggermont
Here’s a new slice, the corresponding packages are in the inbox.


SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz
Description: Binary data


Re: [Pharo-dev] Komitter

2013-12-04 Thread Benjamin
On 04 Dec 2013, at 20:12, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com 
wrote:

 Does Kommitter enables partial commits (cherry picking) for a package?
 If so, my question is how does it deal with MC ancestry?
 
 Imagine I have a package- A.247 from my-trunk.
 I merge some A.312 from my-work repository with work in progress.
 Now I want to cherry pick the changes which are OK, and publish only those to 
 my-trunk.
 I do so in my-trunk/A.313.
 Will A.312 be in the ancestry of A.313?
 Logically as MC is working, yes, because it is in the ancestry of in-image 
 working copy.
 
 What if I later download A.313 from my-trunk in a fresh image and try to 
 merge A.312 to finish the work in progress?
 IMO, this is not possible, A312 being an ancestor, no change will happen.

This is indeed what is happening.

A solution would be to allow to merge with an ancestor.
After some investigation, it’s doable.

The “problem” is I do not know how to detect that a version has been 
“fully-merged already or not.
But with the patch is juste made, you can merge with your ancestors.

Another approach would be the git one. When you merge, you commit automatically 
the merge.

Ben


 
 So, it sounds like when I committed my-trunk/A.313 with partial changes, I 
 should have commited my-work/A.314 immediately after with the rest of pending 
 changes...
 If I forgot to do so and threw my image away, from a fresh image, it is still 
 possible to load A.312, merge A.313, and publish A.314 in my-work repo.
 
 But then it rather complicates the flow... If we commit/merge carelessly, we 
 might throw away some valuable work in progress.
 The fear of such scenario prevented us to integrate a change from Bert in 
 Squeak/trunk enabling such partial commits (directly from MC UI in Squeak 
 case).
 
 
 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr
 +1
 
  Thanks once more for your effort. This is a really important tool for me.
 
  Uko
 
 
 
 



Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Nicolas Cellier
Steph, each time you want to evaluate something, do you agree that this
involves
- a parse phase of the expression you want to evaluate to create an AST
- a code generation phase from AST - bytecodes to generate a CompiledMethod
- the evaluation phase itself which evaluates above CompiledMethod with
appropriate receiver (nil generally)

I didn't check OPAL, but do you agree that the semantic analysis
determining which are those variables you called {'AnUnknownClass'.
'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen
somewhere between AST and CompiledMethod creation?

So if there is a semantic exception, like UndeclaredVariable, how would the
CompiledMethod be generated in the first place?
If it's not generated, how would it be executed?
If it's not executed, how would the message on:do: be sent to a block with
2 arguments?

Unless you suggest to attempt executing a ParseTree which is known to be
defectuous...

2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr

 AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name
 phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'

 executes the default action for OCUndeclaredVariableWarning, which is
 opening a pop-up titled: Unknown variable  Here the error is raised
 at *compilation time, *therefore it would have* no effect to wrap this
 with a #on:do: *


 I do not understand why if an exception is raised why I cannot trap it.

 [AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name
 phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do:
 [ self halt.]  does not halt.

 The fact that is is at compilation time does not mean anything to me. So
 why? I'm totally confused by this bad and unexpected behavior.
 Do you imply that the warning is already trapped and that I cannot take
 precedence? Probably but this has nothing to do with compilation time.

 Then to me OCSemanticWarning should be enhanced so that we do not get
 these silly menus. An exception should work and clients should be able to
 customise
 it to (for example introduce menu and dialog with the users but they
 should not be the only default.
 We see again this plague of interactive environment not being rethought in
 the 2013 age.

 defaultAction
  self errorNotification ifFalse: [ ^nil ].
 ^self openMenuIn:
 [:labels :lines :caption |
 UIManager default chooseFrom: labels lines: lines title: caption]

 but that we could specify the action to be executed instead.


 to me CompilerException should have nothing to do with UI and popup. Then
 we should be able to pass objects that knows how to handle
 the errors in interactive way or not.

 As a clear example, this is just bad that each time we want to change the
 UI message we have to change the compiler exception.
 ugly at wish.

 I have no cycle to fix that now. I will check if I can get something in
 UndefinedObject so that I can continue to work on my task.

 Stef



 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address name
 phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e
 | e halt ]

 Here we catch the error, and you can handle it.
 Now it is not easily possible to resume the error, because you want a
 global instead and Opal expects a temp (there are way to resume but with
 very deep stack manipulation that I do not want to show to young pharoers
 present on this mailing list). So the best is to retry it. One solution is
 therefore:

 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ]
 on: OCSemanticWarning do: [ :e |
 Smalltalk at: e node name put: StubRootClass.
  e retry ]

 with e node name answering #AnUnknownClass here.
 Now you need to make sure that the exception block is executed for the
 case of a missing superclass and not something else or you will end up
 creating loads of globals.

 The exception block should be something similar to:

  [ :e |
 e node name first isUppercase and: [ some condition ] ifTrue: [
 Smalltalk at: e node name put: StubRootClass.
  ^ e retry ].
 e pass ]

 *How to undefined and OCUndeclaredVariableWarning relate?*

 In your case, while loading from Monticello the code is compiled and
 evaluated in non interactive mode. Therefore it cannot trigger the default
 action of OCUndeclaredVariableWarning which is a UI event. So it sets by
 default the unknown global to:

 Undeclared at: varName asSymbol put: nil.
 

Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Alexandre Bergel
Hi Stephan!

 Nice!

Thanks!

 When loading the configuration as shown in the manual, there was a complaint 
 about
 a class not found yet.

Sorry about that. An incorrect version contained in a baseline went through our 
tests.
The problem is now fixed.

 The examples showed up fine though. They look great. 

Thanks!

 The first one with the square/cube I couldn’t get the camera viewpoint 
 to move to where I could see it was a cube. That worked much better with the 
 later examples.
 The session management isn’t working out well: saving the image with an open 
 view and quitting,
 the image crashed on restart. 

Yes! Next week I will be in Lille, I hope to fix this

 I’m looking forward to adding some 3D views to PetitDelphi.

That would be truly amazing! 

Cheers,
Alexandre


Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Nicolas Cellier
I forgot to add that the OCUndeclaredVariableWarning was already handled at
semantic analysis.
Do you suggest that default behavior should be to handle and retry instead
of handle and return?

One way to achieve what you are asking would be to initialize the
Undeclared entry to some kind of ProtoObject that does not understand
anything and rethrow a OCUndeclaredVariableWarning instead of a
MessageNotUnderstood... (very uneasy to debug, since the Debugger itself is
querying the receiver etc... - unless Debugger is using basic mirror
primitives)


2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com

 Steph, each time you want to evaluate something, do you agree that this
 involves
 - a parse phase of the expression you want to evaluate to create an AST
 - a code generation phase from AST - bytecodes to generate a
 CompiledMethod
 - the evaluation phase itself which evaluates above CompiledMethod with
 appropriate receiver (nil generally)

 I didn't check OPAL, but do you agree that the semantic analysis
 determining which are those variables you called {'AnUnknownClass'.
 'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen
 somewhere between AST and CompiledMethod creation?

 So if there is a semantic exception, like UndeclaredVariable, how would
 the CompiledMethod be generated in the first place?
 If it's not generated, how would it be executed?
 If it's not executed, how would the message on:do: be sent to a block with
 2 arguments?

 Unless you suggest to attempt executing a ParseTree which is known to be
 defectuous...

 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr

 AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name
 phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'

 executes the default action for OCUndeclaredVariableWarning, which is
 opening a pop-up titled: Unknown variable  Here the error is raised
 at *compilation time, *therefore it would have* no effect to wrap this
 with a #on:do: *


 I do not understand why if an exception is raised why I cannot trap it.

 [AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name
 phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning
 do: [ self halt.]  does not halt.

 The fact that is is at compilation time does not mean anything to me. So
 why? I'm totally confused by this bad and unexpected behavior.
 Do you imply that the warning is already trapped and that I cannot take
 precedence? Probably but this has nothing to do with compilation time.

 Then to me OCSemanticWarning should be enhanced so that we do not get
 these silly menus. An exception should work and clients should be able to
 customise
 it to (for example introduce menu and dialog with the users but they
 should not be the only default.
 We see again this plague of interactive environment not being rethought
 in the 2013 age.

 defaultAction
  self errorNotification ifFalse: [ ^nil ].
  ^self openMenuIn:
 [:labels :lines :caption |
 UIManager default chooseFrom: labels lines: lines title: caption]

 but that we could specify the action to be executed instead.


 to me CompilerException should have nothing to do with UI and popup. Then
 we should be able to pass objects that knows how to handle
 the errors in interactive way or not.

 As a clear example, this is just bad that each time we want to change the
 UI message we have to change the compiler exception.
 ugly at wish.

 I have no cycle to fix that now. I will check if I can get something in
 UndefinedObject so that I can continue to work on my task.

 Stef



 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address name
 phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e
 | e halt ]

 Here we catch the error, and you can handle it.
 Now it is not easily possible to resume the error, because you want a
 global instead and Opal expects a temp (there are way to resume but with
 very deep stack manipulation that I do not want to show to young pharoers
 present on this mailing list). So the best is to retry it. One solution is
 therefore:

 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ]
 on: OCSemanticWarning do: [ :e |
 Smalltalk at: e node name put: StubRootClass.
  e retry ]

 with e node name answering #AnUnknownClass here.
 Now you need to make sure that the exception block is executed for the
 case of a missing superclass and not something else or 

Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Alexandre Bergel
   3. Providing a script is so old style and hard to remember - why not 
 define a #stable
  and put your config into MetaRepoForPharo30
  So others can easily load it via ConfigurationBrowser with a few clicks 
 in a fresh image.
 
 even better: have a jerkins build where people can download an image…

That would be great. How to do this?

Cheers,
Alexandre


Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Clément Béra
2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com

 I forgot to add that the OCUndeclaredVariableWarning was already handled
 at semantic analysis.


This is not the case. The OCUndeclaredVariableWarning is handled in the
default action. Therefore anyone can catch it.

In this case for instance:

[ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
instanceVariableNames: ''customers accountID address name
phoneNumber''
classVariableNames: 
poolDictionaries: 
category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e |
e halt ]

The Semantic warning is caught outside of the semantic analysis and it
works perfectly fine. The only thing is that you need to retry the error
and not resume it to restart the semantic analysis (or you have an
inconsistent execution state in the semantic analysis visitor).


 Do you suggest that default behavior should be to handle and retry instead
 of handle and return?

One way to achieve what you are asking would be to initialize the
 Undeclared entry to some kind of ProtoObject that does not understand
 anything and rethrow a OCUndeclaredVariableWarning instead of a
 MessageNotUnderstood... (very uneasy to debug, since the Debugger itself is
 querying the receiver etc... - unless Debugger is using basic mirror
 primitives)


 2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com

 Steph, each time you want to evaluate something, do you agree that this
 involves
 - a parse phase of the expression you want to evaluate to create an AST
 - a code generation phase from AST - bytecodes to generate a
 CompiledMethod
 - the evaluation phase itself which evaluates above CompiledMethod with
 appropriate receiver (nil generally)

 I didn't check OPAL, but do you agree that the semantic analysis
 determining which are those variables you called {'AnUnknownClass'.
 'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen
 somewhere between AST and CompiledMethod creation?

 So if there is a semantic exception, like UndeclaredVariable, how would
 the CompiledMethod be generated in the first place?
 If it's not generated, how would it be executed?
 If it's not executed, how would the message on:do: be sent to a block
 with 2 arguments?

 Unless you suggest to attempt executing a ParseTree which is known to be
 defectuous...

  2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr

 AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name
 phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'

 executes the default action for OCUndeclaredVariableWarning, which is
 opening a pop-up titled: Unknown variable  Here the error is raised
 at *compilation time, *therefore it would have* no effect to wrap this
 with a #on:do: *


 I do not understand why if an exception is raised why I cannot trap it.

 [AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name
 phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning
 do: [ self halt.]  does not halt.

 The fact that is is at compilation time does not mean anything to me. So
 why? I'm totally confused by this bad and unexpected behavior.
 Do you imply that the warning is already trapped and that I cannot take
 precedence? Probably but this has nothing to do with compilation time.

 Then to me OCSemanticWarning should be enhanced so that we do not get
 these silly menus. An exception should work and clients should be able to
 customise
 it to (for example introduce menu and dialog with the users but they
 should not be the only default.
 We see again this plague of interactive environment not being rethought
 in the 2013 age.

 defaultAction
  self errorNotification ifFalse: [ ^nil ].
  ^self openMenuIn:
 [:labels :lines :caption |
 UIManager default chooseFrom: labels lines: lines title: caption]

 but that we could specify the action to be executed instead.


 to me CompilerException should have nothing to do with UI and popup.
 Then we should be able to pass objects that knows how to handle
 the errors in interactive way or not.

 As a clear example, this is just bad that each time we want to change
 the UI message we have to change the compiler exception.
 ugly at wish.

 I have no cycle to fix that now. I will check if I can get something in
 UndefinedObject so that I can continue to work on my task.

 Stef



 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address name
 phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [
 :e | e halt ]

 Here we catch the error, and you can handle it.
 Now it is not easily possible to 

Re: [Pharo-dev] [ANN] Roassal 3d

2013-12-04 Thread Torsten Bergmann
   3. Providing a script is so old style and hard to remember - why not 
  define a #stable
  and put your config into MetaRepoForPharo30
  So others can easily load it via ConfigurationBrowser with a few clicks 
  in a fresh image.
 
 Yes! You’re very right. Can you add me as a contributor to MetaRepoForPharo30 
 ? I need this to commit right?

I added you, but I think you can also commit without since this is in group 
Pharo, so
I think anyone who contributes to Pharo is able to contribute to the meta repo 
for configs

bye
T.



Re: [Pharo-dev] Convert to Athens

2013-12-04 Thread J.F. Rick
I've updated to the latest of Athens and I still get this bug, except now
the square appears at 0@1.

Cheers,

Jeff


On Wed, Dec 4, 2013 at 6:35 PM, J.F. Rick s...@je77.com wrote:

 Here's a piece of code to demonstrate the problem:

 AthensWrapMorph new
 extent: 300@300;
 addMorph: (Morph new
  position: 100@100;
 extent: 100@100;
 yourself);
  openInWorld.

 I think this should draw a blue square at 100@100. Instead, it draws a
 blue square at 0@0. What am I doing wrong?

 Cheers,

 Jeff



 On Wed, Dec 4, 2013 at 6:17 PM, J.F. Rick s...@je77.com wrote:

 I'm facing some problems with AthensWrapMorph. Basically, when I add a
 morph, I can't change its position. It just stays in the top left. Whatever
 I try to do to change its position (self position: 100@100) does not
 work.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 5:04 PM, J.F. Rick s...@je77.com wrote:

 Thanks. It works. I already have found a few bugs and one thing I don't
 understand.

 (1) A few Paint things seem to implement athensFillRectangle:on: and
 athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems
 like it should be the latter rather than the former. I changed the names
 and the evil rectangle of doom disappeared.

 (2) Using the AthenWrapMorph, it seems that the bottom row of pixels is
 not rendered or clipped. I can stop this phenomenon by changing the
 createSurface method to have the extent be 0@1 bigger. While that
 works, it seems like there's a bug somewhere in AthensCairoSurface.

 (3) I ended up changing a morph so that it should render differently. In
 standard Pharo, I just use self changed and it updates. Is there an
 equivalent in Athens? Do I have to explicitly tell Athens to rerender it?
 If so, how? I tried self render but that did not seem to help.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.comwrote:

 http://www.smalltalkhub.com/#!/~Pharo/Athens


 On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote:

 Right. Where is this Athens repository? I have the latest in
 Pharo30/main (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem 
 to
 include AthensWrapperMorph.

 Cheers,

 Jeff


 On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote:




 On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote:

 Indeed. I would like to know that. It doesn't seem to be included in
 the latest Pharo 3.0.


 it could be not yet included.
 in that case, load most recent Athens-Morphic package from athens
 repository.



 Cheers,

 Jeff


 On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes 
 hilaire.fernan...@gmail.com wrote:

 Le 15/11/2013 14:17, Igor Stasenko a écrit :
 
  for transition , i implemented a special morph, AthensWrapMorph
  which wraps (as its name says) its children morphs and forces
 them to be
  rendered by athens
  (the child morphs will never receive #drawOn: but
 #drawOnAthensCanvas:
  instead ).


 I guess Jeff, may want to know where to find this wrapper.

 Hilaire


 --
 Dr. Geo http://drgeo.eu





 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Best regards,
 Igor Stasenko.




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




 --
 Jochen Jeff Rick, Ph.D.
 http://www.je77.com/
 Skype ID: jochenrick




-- 
Jochen Jeff Rick, Ph.D.
http://www.je77.com/
Skype ID: jochenrick


Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default

2013-12-04 Thread Max Leske
Thanks for the input.

The problem with ReadStream and WriteStream is that they (at least in 2.0 and 
3.0) never supported switching in the first place. #binary and #ascii simply 
answer self. That means the collection the stream operates on predetermines the 
output. I’ve noticed a couple of different approaches to solving this problem 
in the way that streams are used throughout the image and I want to make a list 
of those to see if there’s some kind of pattern that maybe leads to an 
acceptable version with little changes as opposed to an optimal version where 
we have to change a lot of the implemenation details of streams.

Cheers,
Max


On 04.12.2013, at 19:45, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com 
wrote:

 Here would be the Xtream way IMHO:
 1) At the end, the file should be handled as binary.
 2) A facade BivalentReadStream (and BivalentWriteStream) would be created, 
 able to switch encoding
 3) The implementation would be to wrap either directly over the binary 
 stream, or indirectly over an encoded stream which wraps other the binary 
 stream.
 4) For write, the facade should just ensure that buffers (if any) are 
 properly flushed, and then just delegate to specialized wrapped streams.
 5) For read, it might be a bit more involved if some buffer were used in 
 intermediate wrappers, because they should push back the excess bytes read 
 and restore the state of lower level binary stream...
 In all case, all should happen thru delegation and the facade should be 
 rather dumb.
 
 
 2013/12/4 Sven Van Caekenberghe s...@stfx.eu
 
 On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote:
 
  Let me see what I can come up with.
 
 To be somewhat compatible with existing streams, your memory stream should 
 have the concept of ‘i am binary or textual’ and be able to switch in-place 
 between these two states (#binary, #ascii). Depending on its state it should 
 then return bytes or characters (or collections thereof). Have a look at 
 ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut:
 
 To be 100% correct, encoding should be selectable. But maybe a default to 
 utf-8 would be enough. You could have a look at ZnCharacter[Read|Write]Stream 
 for inspiration.
 
 My 2c.
 
  On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote:
 
  Thanks Max for the report. Do you have an idea on how we could solve the 
  problem ? The previous behaviour was not acceptable either because the 
  streams that came out of a memory filesystem were the only ones with 
  binary content
 
  On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote:
  Damien, Marcus
 
  this change breaks a lot of things in FileSystem-Git. I don’t disagree 
  with the idea that reading characters should be default (one could argue 
  about it…) but your change makes it IMPOSSIBLE to read bytes because 
  unprintable characters are discarded! So if my ByteArray is a NULL 
  terminated string, for instance, I can not check for the NULL termination 
  anymore.
 
  Cheers,
  Max
 
 
 
 



[Pharo-dev] Smalltalker meeting at Prague

2013-12-04 Thread Stéphane Ducasse
Hi guys

I will be at Prague teaching from 9 to 13 december and we can organise a 
Smalltalker gathering for example after
work. Tell me if you are interested. 

Stef


[Pharo-dev] Lectures at Prague

2013-12-04 Thread Stéphane Ducasse
Alive and Kicking

This presentation will discuss some successes stories around Smalltalk such AMD 
64 bits, OOCL (http://www.oocl.com/), MediaGenix (www.mediagenix.tv), LAMRC 
(http://www.lamrc.com), netstyle.ch or yesplan.be. Then I will talk about Pharo 
and the recent advances in Pharo 20 and 30 alpha. More importantly I will give 
an overview of all the partners and shows that Pharo is composed of a really 
strong community of academic partners, research groups and companies. In 
addition I will stress that Pharo is YOUR open-source platform and that if you 
start to consider it as it then suddenly you realise that you want to improve 
it and that you can get an impact and influence Pharo's future and your future. 
I will finish by an key example showing the
essence of object-oriented programming and prove to the audience that this is 
because of such example that Pharo is one of the best system to understand 
deeply object-oriented programming from its roots. 

Bio: Stephane leads the RMoD (http://rmod.lille.inria.fr) team. He is expert in 
two domains: object-oriented language design and reengineering.  He worked on 
traits, composable groups of methods, and this work got some impact. Traits 
have been introduced in AmbiantTalk, and Squeak/Pharo, Perl, PHP and  under a 
variant into Scala, Fortress of SUN Microsystems. He is one of the developer of 
Pharo http://www.pharo.org/ a new dynamic language used in industry and 
academia. He is also expert on software quality, program understanding, program 
visualizations, reengineering and metamodeling. He is one of the developer of 
Moose, an open-source software analysis platform 
http://www.moosetechnology.org/.  He is working with http://www.synectique.eu/ 
a company building dedicated tools for advanced software analysis. He wrote 
several books: Pharo by Example and Deep into Pharo. He is president of ESUG 
http://www.esug.org

Lecture: Prague Monday 9 December at 
 The lecture starts at 4:15pm in the new Czech National Technical 
Library

There will be a workshop wednesday / thursday afternoon

Stef

Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me

2013-12-04 Thread Marcus Denker
It would be nice if someone else but me could do this… small things like this 
can suck away *all* time
if only one person does them.

(and no, I *never* had problems to submit a slice…)


On 04 Dec 2013, at 20:54, Stephan Eggermont step...@stack.nl wrote:

 Here’s a new slice, the corresponding packages are in the inbox.
 SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz




Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me

2013-12-04 Thread Max Leske
Noted. Thanks Marcus.


On 05.12.2013, at 08:10, Marcus Denker marcus.den...@inria.fr wrote:

 It would be nice if someone else but me could do this… small things like this 
 can suck away *all* time
 if only one person does them.
 
 (and no, I *never* had problems to submit a slice…)
 
 
 On 04 Dec 2013, at 20:54, Stephan Eggermont step...@stack.nl wrote:
 
 Here’s a new slice, the corresponding packages are in the inbox.
 SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz
 
 




Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default

2013-12-04 Thread Stéphane Ducasse

On Dec 5, 2013, at 7:48 AM, Max Leske maxle...@gmail.com wrote:

 Thanks for the input.
 
 The problem with ReadStream and WriteStream is that they (at least in 2.0 and 
 3.0) never supported switching in the first place. #binary and #ascii simply 
 answer self. That means the collection the stream operates on predetermines 
 the output. I’ve noticed a couple of different approaches to solving this 
 problem in the way that streams are used throughout the image and I want to 
 make a list of those to see if there’s some kind of pattern that maybe leads 
 to an acceptable version with little changes as opposed to an optimal version 
 where we have to change a lot of the implemenation details of streams.

thanks such analysis is indeed important.

 
 Cheers,
 Max
 
 
 On 04.12.2013, at 19:45, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com 
 wrote:
 
 Here would be the Xtream way IMHO:
 1) At the end, the file should be handled as binary.
 2) A facade BivalentReadStream (and BivalentWriteStream) would be created, 
 able to switch encoding
 3) The implementation would be to wrap either directly over the binary 
 stream, or indirectly over an encoded stream which wraps other the binary 
 stream.
 4) For write, the facade should just ensure that buffers (if any) are 
 properly flushed, and then just delegate to specialized wrapped streams.
 5) For read, it might be a bit more involved if some buffer were used in 
 intermediate wrappers, because they should push back the excess bytes read 
 and restore the state of lower level binary stream...
 In all case, all should happen thru delegation and the facade should be 
 rather dumb.
 
 
 2013/12/4 Sven Van Caekenberghe s...@stfx.eu
 
 On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote:
 
  Let me see what I can come up with.
 
 To be somewhat compatible with existing streams, your memory stream should 
 have the concept of ‘i am binary or textual’ and be able to switch in-place 
 between these two states (#binary, #ascii). Depending on its state it should 
 then return bytes or characters (or collections thereof). Have a look at 
 ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut:
 
 To be 100% correct, encoding should be selectable. But maybe a default to 
 utf-8 would be enough. You could have a look at 
 ZnCharacter[Read|Write]Stream for inspiration.
 
 My 2c.
 
  On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote:
 
  Thanks Max for the report. Do you have an idea on how we could solve the 
  problem ? The previous behaviour was not acceptable either because the 
  streams that came out of a memory filesystem were the only ones with 
  binary content
 
  On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote:
  Damien, Marcus
 
  this change breaks a lot of things in FileSystem-Git. I don’t disagree 
  with the idea that reading characters should be default (one could argue 
  about it…) but your change makes it IMPOSSIBLE to read bytes because 
  unprintable characters are discarded! So if my ByteArray is a NULL 
  terminated string, for instance, I can not check for the NULL termination 
  anymore.
 
  Cheers,
  Max
 
 
 
 
 



Re: [Pharo-dev] [Nautilus] Selecting package

2013-12-04 Thread Stéphane Ducasse


 Hi Stef,
 
 I spoke with Esteban before, however thanks for the clarification.
 
 IMHO however the current structure is confusing, and names are misleading. 
 The thing about packages, categories, namespaces and what not has always been 
 not perfect for me, nor in Pharo nor in many other PLs.
 
 The way I would have done it, conceptually, independently of Nautilus, 
 Monticello and whatever else is the following:
 
 A package is a container used to structure a project, it contains
   - zero or more classes
   - zero or more other packages

this is the world of bisounours welcome to reality. 

 This model would be damn simple, and consistent

and not covering what we want :) 

 and you should not explicitly think about how to structure your things..
 I can create a package ‘DFlow’ put some classes, then I create another 
 package 'DFlow-Core’ which *automatically* goes into the ‘DFlow’ package 
 because it starts with the same prefix plus the dash,

we do not want to rely on naming conventions. Now this has been discussed 
during a couple of years. so look for it and esteban spent 5 months on it so do 
you think that 
it was that simple?

 which is somewhat our convention, right? And however we can think of 
 mechanisms to cope with other kind of automatic sub-packaging and/or manual 
 removal (in case our heuristics fail).

I can think to a lot of nice solutions but after you should have solutions
- scale
- migrate
- fit people practices

 
 For me having packages, groups, tags, and categories is too much.


We are killing categories and I would have removed it completely (not having 
tags) but people and practice showed that they were needed
Then groups is just so handy I use that all the time.
Then I do not understand why you bother. The point is that each of these 
objects should reply polymorphically to the same message
probably allClasses, extensions, … if this is not the case then this is also 
easy we should add these messages. 

If you do not have specific entities you are forced to have conditionals and it 
starts to get ugy and not modular so I do not see your problems. 
OO design is your friend but it requires time to deeply understand it. 


Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Stéphane Ducasse

On Dec 4, 2013, at 10:02 PM, Clément Bera bera.clem...@gmail.com wrote:

 It didn't halt on your machine because you didn't copy and paste the code 
 that halts (i guess I wrote too much code in the mail so it was not clear). 
 You copied the code that I explicitly said that doesn't halt because the 
 error is raised at compilation time.

I saw it do not worry. I was just shocked by the state of the exceptions. 

 
 This code halts (copy, paste and run it you will see):
 
 
 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address name 
 phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e 
 halt ]
 
 
 We can discuss this another day when you have time because seemingly my mail 
 was not clear (you said you couldn't trap the semantic warning). Now I'm 
 really sick today so we can discuss friday or next week.

rest well

 
 
 
 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr
 
  Ok I will check something on UndefinedObject to start with.
  Then it would be fun to prototype a kind of strategy hiearchy on the side 
  (extracted from also) behavior of OCSemanticsError
  It was nice to see it and since now I'm ok to have a look at the compiler 
  code it was interesting.
 
 
  The current design is motivated mostly by backward compatibility, not 
  anything else.
 
 I see :)
 I would really to see an headless, interactive and scriptable scenarios to be 
 exercised. So this is good it will get better :)
 Stef
 



[Pharo-dev] [pharo-project/pharo-core] 2a2066: 30622

2013-12-04 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 2a2066a1c5cc797ddd25e470115ab7ed577d3afd
  
https://github.com/pharo-project/pharo-core/commit/2a2066a1c5cc797ddd25e470115ab7ed577d3afd
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2013-12-04 (Wed, 04 Dec 2013)

  Changed paths:
A Komitter.package/CredentialEditor.class/README.md
A Komitter.package/CredentialEditor.class/class/specs/defaultSpec.st
A Komitter.package/CredentialEditor.class/definition.st
A Komitter.package/CredentialEditor.class/instance/accessing/password.st
A 
Komitter.package/CredentialEditor.class/instance/accessing/passwordLabel.st
A 
Komitter.package/CredentialEditor.class/instance/accessing/showPasswordWidget.st
A Komitter.package/CredentialEditor.class/instance/accessing/username.st
A 
Komitter.package/CredentialEditor.class/instance/accessing/usernameLabel.st
A 
Komitter.package/CredentialEditor.class/instance/initialize-release/initializeDialogWindow_.st
A 
Komitter.package/CredentialEditor.class/instance/initialize-release/initializePresenter.st
A 
Komitter.package/CredentialEditor.class/instance/initialize-release/initializeWidgets.st
A Komitter.package/CredentialEditor.class/instance/protocol/getPassword.st
A Komitter.package/CredentialEditor.class/instance/protocol/getUsername.st
A Komitter.package/CredentialEditor.class/instance/protocol/initialExtent.st
A Komitter.package/CredentialEditor.class/instance/protocol/setPassword_.st
A Komitter.package/CredentialEditor.class/instance/protocol/setUsername_.st
A Komitter.package/CredentialEditor.class/instance/protocol/title.st
A Komitter.package/KomitRemote.class/instance/as yet unclassified 
/password.st
A Komitter.package/KomitRemote.class/instance/protocol/password_.st
A Komitter.package/KomitRemote.class/instance/protocol/username.st
A Komitter.package/KomitRemote.class/instance/protocol/username_.st
A 
Komitter.package/Komitter.class/class/protocol/openAndCommitToMonticello.st
R Komitter.package/Komitter.class/class/world menu/finderMenuOn_.st
A Komitter.package/Komitter.class/class/world menu/initialize.st
A Komitter.package/Komitter.class/class/world menu/komitterMenuOn_.st
M 
Komitter.package/KomitterUI.class/instance/initialization/initializeLatelyPresenter.st
M Komitter.package/KomitterUI.class/instance/private/openRemoteManager.st
A Komitter.package/RemotesManager.class/class/icons/editRemoteIcon.st
A 
Komitter.package/RemotesManager.class/class/private-icons/editRemoteIconData.st
M Komitter.package/RemotesManager.class/class/specs/defaultSpec.st
M Komitter.package/RemotesManager.class/definition.st
R Komitter.package/RemotesManager.class/instance/accessing/addRemote.st
A 
Komitter.package/RemotesManager.class/instance/accessing/addRemoteWidget.st
A 
Komitter.package/RemotesManager.class/instance/accessing/editRemoteWidget.st
R Komitter.package/RemotesManager.class/instance/accessing/removeRemote.st
A 
Komitter.package/RemotesManager.class/instance/accessing/removeRemoteWidget.st
R 
Komitter.package/RemotesManager.class/instance/initialization/buildRoots.st
A 
Komitter.package/RemotesManager.class/instance/initialization/initializeDialogWindow_.st
M 
Komitter.package/RemotesManager.class/instance/initialization/initializePresenter.st
M 
Komitter.package/RemotesManager.class/instance/initialization/initializeWidgets.st
A 
Komitter.package/RemotesManager.class/instance/private-icons/editRemoteIcon.st
A Komitter.package/RemotesManager.class/instance/private/addRemote.st
R Komitter.package/RemotesManager.class/instance/private/addRepository.st
A Komitter.package/RemotesManager.class/instance/private/buildRoots.st
A Komitter.package/RemotesManager.class/instance/private/editRemote.st
A Komitter.package/RemotesManager.class/instance/private/newRemote.st
R Komitter.package/RemotesManager.class/instance/private/newRepository.st
A Komitter.package/RemotesManager.class/instance/private/removeRemote.st
R Komitter.package/RemotesManager.class/instance/private/removeRepository.st
M 
Nautilus.package/MultipleMethodsEditor.class/instance/updating/updateLayoutForSingleWithButtons.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script277.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30622.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st

  Log Message:
  ---
  30622
12334 Nautilus codepane hides first lines if pin is set
https://pharo.fogbugz.com/f/cases/12334

12337 Install global shortcut
https://pharo.fogbugz.com/f/cases/12337

12333 Add a button to edit a remote in RemotesManager
https://pharo.fogbugz.com/f/cases/12333

http://files.pharo.org/image/30/30622.zip




[Pharo-dev] [pharo-project/pharo-core]

2013-12-04 Thread GitHub
  Branch: refs/tags/30622
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] Opal hook?

2013-12-04 Thread Stéphane Ducasse
Hi nicolas

 I forgot to add that the OCUndeclaredVariableWarning was already handled at 
 semantic analysis.
 Do you suggest that default behavior should be to handle and retry instead of 
 handle and return?

I suggest that we can define what is the behavior of handling an exceptional 
cases. 

 One way to achieve what you are asking would be to initialize the Undeclared 
 entry to some kind of ProtoObject that does not understand anything and 
 rethrow a OCUndeclaredVariableWarning instead of a MessageNotUnderstood... 
 (very uneasy to debug, since the Debugger itself is querying the receiver 
 etc... - unless Debugger is using basic mirror primitives)

we should be able to say:
when you encounter an undefined do that
when you enconter a syntax error do that

We should have a list of hooks and exceptional situations and be able to define 
the actions we want to be performed.
This way the compiler would not depend on the UI also :). I love these layers 
from the past. 
When you have a UI then you specify new actions which involves popup and other 
niceties.

and in particular exception should not hardcode the popup of menu and other UI 
related things. 
So this is not linked to the phases of compilation, this is linked to offering 
customisable error. 
Stef

 2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com
 Steph, each time you want to evaluate something, do you agree that this 
 involves
 - a parse phase of the expression you want to evaluate to create an AST
 - a code generation phase from AST - bytecodes to generate a CompiledMethod
 - the evaluation phase itself which evaluates above CompiledMethod with 
 appropriate receiver (nil generally)
 
 I didn't check OPAL, but do you agree that the semantic analysis determining 
 which are those variables you called {'AnUnknownClass'. 
 'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen 
 somewhere between AST and CompiledMethod creation?
 
 So if there is a semantic exception, like UndeclaredVariable, how would the 
 CompiledMethod be generated in the first place?
 If it's not generated, how would it be executed?
 If it's not executed, how would the message on:do: be sent to a block with 2 
 arguments?
 
 Unless you suggest to attempt executing a ParseTree which is known to be 
 defectuous...
 
 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr
 AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'
 
 executes the default action for OCUndeclaredVariableWarning, which is 
 opening a pop-up titled: Unknown variable  Here the error is raised at 
 compilation time, therefore it would have no effect to wrap this with a 
 #on:do: 
 
 I do not understand why if an exception is raised why I cannot trap it. 
 
 [AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: 'customers accountID address name phoneNumber'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do: [ 
 self halt.]  does not halt. 
 
 The fact that is is at compilation time does not mean anything to me. So why? 
 I'm totally confused by this bad and unexpected behavior. 
 Do you imply that the warning is already trapped and that I cannot take 
 precedence? Probably but this has nothing to do with compilation time.
 
 Then to me OCSemanticWarning should be enhanced so that we do not get these 
 silly menus. An exception should work and clients should be able to customise
 it to (for example introduce menu and dialog with the users but they should 
 not be the only default. 
 We see again this plague of interactive environment not being rethought in 
 the 2013 age. 
 
 defaultAction
   
   self errorNotification ifFalse: [ ^nil ].
   ^self openMenuIn: 
   [:labels :lines :caption | 
   UIManager default chooseFrom: labels lines: lines title: 
 caption]
 
 but that we could specify the action to be executed instead. 
 
 
 to me CompilerException should have nothing to do with UI and popup. Then we 
 should be able to pass objects that knows how to handle
 the errors in interactive way or not. 
 
 As a clear example, this is just bad that each time we want to change the UI 
 message we have to change the compiler exception. 
 ugly at wish.
 
 I have no cycle to fix that now. I will check if I can get something in 
 UndefinedObject so that I can continue to work on my task.
 
 Stef
 
 
 
 [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example
 instanceVariableNames: ''customers accountID address name 
 phoneNumber''
 classVariableNames: 
 poolDictionaries: 
 category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | 
 e halt ]
 
 Here we catch the error, and you can handle it. 
 

Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me

2013-12-04 Thread Stéphane Ducasse
Hi stefan

this is strange why would you be the only one that cannot commit slices?
Can you do a controlled experience?

Stef

On Dec 4, 2013, at 8:56 PM, Stephan Eggermont step...@stack.nl wrote:

 Here’s a new slice, the corresponding packages are in the inbox.
 SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz