Re: [Pharo-dev] Gettext broken in Pharo 3.0

2014-03-01 Thread Johan Brichau
Hi Usman,

I committed a new version that fixes a number of things.
More is needed because I notice the exporter is not detecting the 
domain-categories mapping anymore.

Johan

On 28 Feb 2014, at 15:36, Usman Bhatti usman.bha...@gmail.com wrote:

 Hello,
 
 I encountered a problem when trying to export the Gettext file in Pharo 3.0. 
 In a Pharo 3.0 image, load Gettext and then do the following:
 
 TextDomainManager 
registerCategoryPrefix: 'Fuel' 
domain: 'Fuel'.
 
 GetTextExporter exportTemplate.
 
 Apparently, there are some deprecations and doing proceed on them shows a DNU:
 RBMethodNode does not understand isMessageNode
 
 I can report the bug somewhere to later find some time to correct it but 
 Pharo bug tracker might not be the right place. Any ideas where this bug 
 should be reported?
 
 If someone knowledgeable about RB related stuff can have a look at it, it 
 would be great.
 
 tx,
 usman




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

2014-03-01 Thread GitHub
  Branch: refs/tags/30783
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] b21ba3: 30783

2014-03-01 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: b21ba344c15fd68581615d7dad98990545c32f89
  
https://github.com/pharo-project/pharo-core/commit/b21ba344c15fd68581615d7dad98990545c32f89
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2014-03-01 (Sat, 01 Mar 2014)

  Changed paths:
A 
Keymapping-KeyCombinations.package/KMAltModifier.class/instance/accessing/eventCode.st
A 
Keymapping-KeyCombinations.package/KMCommandModifier.class/instance/accessing/eventCode.st
A 
Keymapping-KeyCombinations.package/KMCtrlModifier.class/instance/accessing/eventCode.st
A 
Keymapping-KeyCombinations.package/KMShiftModifier.class/instance/accessing/eventCode.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testAsString.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testBadComposedCmdShortcutFails.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testChainIntegerSucceds.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testChainShortcutSucceds.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testChainSimpleCharsSucceds.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testCmdIntegerSucceds.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testCmdKeySucceds.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testCmdShiftSucceds.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testComplexChainMatches.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testCreation.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testModifiedShortcutsMatch.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testShiftKeySucceds.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testSimpleChainMatches.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testSingleShortcutsMatch.st
R Keymapping-Tests.package/KMShortcutTest.class/instance/as yet 
unclassified/testTripleChainShortcutSucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testAsString.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testBadComposedCmdShortcutFails.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testChainIntegerSucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testChainShortcutSucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testChainSimpleCharsSucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testCmdIntegerSucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testCmdKeySucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testCmdShiftSucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testComplexChainMatches.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testCreation.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testEventCodes.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testModifiedShortcutsMatch.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testShiftKeySucceds.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testSimpleChainMatches.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testSingleShortcutsMatch.st
A 
Keymapping-Tests.package/KMShortcutTest.class/instance/tests/testTripleChainShortcutSucceds.st
M Monticello.package/MCDefinition.class/class/instance 
creation/instanceLike_.st
M Monticello.package/MCDefinition.class/definition.st
M Morphic-Base.package/SystemWindow.class/class/top 
window/sendTopWindowToBack.st
M PackageInfo.package/PackageOrganizer.class/README.md
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script436.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30783.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M Spec-MorphicAdapters.package/MorphicTreeAdapter.class/instance/widget 
API/menu_shifted_.st
M Spec-Tools.package/MessageBrowser.class/class/specs/testSpec.st

  Log Message:
  ---
  30783
12997 Class comment missing for package PackageInfo
https://pharo.fogbugz.com/f/cases/12997

12952 Context menu for dependentProjcts gives DNU for a new project
https://pharo.fogbugz.com/f/cases/12952

13001 SystemWindow sendTopWindowToBack does not work when invoked from World 
menu or global shortcut
https://pharo.fogbugz.com/f/cases/13001

12957 

Re: [Pharo-dev] Gettext broken in Pharo 3.0

2014-03-01 Thread Johan Brichau

On 01 Mar 2014, at 09:57, Johan Brichau jo...@inceptive.be wrote:

 More is needed because I notice the exporter is not detecting the 
 domain-categories mapping anymore.

On second view, it seems the Seaside package for gettext is not compatible 
anymore with changes in recent history.
So, gettext on its own should be good to go now.

Let me know, since I am now mostly focusing on the seaside extension that uses 
it

cheers
Johan


[Pharo-dev] [pharo-project/pharo-core] 0451c3: 30784

2014-03-01 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 0451c3c76fa62237492df765ce289a8b6d94ad2f
  
https://github.com/pharo-project/pharo-core/commit/0451c3c76fa62237492df765ce289a8b6d94ad2f
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2014-03-01 (Sat, 01 Mar 2014)

  Changed paths:
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script437.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30784.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
A 
Versionner-Core-DependenciesModel.package/ConfigurationNotFound.class/README.md
A 
Versionner-Core-DependenciesModel.package/ConfigurationNotFound.class/definition.st
M 
Versionner-Core-DependenciesModel.package/MCModel2MTModelVisitor.class/instance/visiting/visitMCProjectAsRequiredProject_.st
M 
Versionner-Core-DependenciesModel.package/MTDependantProject.class/instance/comparing/=.st
R 
Versionner-Core-DependenciesModel.package/MTDependantProject.class/instance/editing/editRepositories.st
A 
Versionner-Core-DependenciesModel.package/MTDevelopmentWorkfow.class/instance/private/isDevelopmentUsedInRelease.st
M 
Versionner-Core-DependenciesModel.package/MTModelComparator.class/instance/comparing/is_equalsTo_.st
M 
Versionner-Core-DependenciesModel.package/VersionnerToolBox.class/instance/spec 
creation/projectSpecFromRequiredProject_.st
M 
Versionner-Spec-Browser.package/VersionnerProjectBrowser.class/instance/actions/updateRepository.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPackagesPanel.class/class/spec/defaultSpec.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPackagesPanel.class/definition.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPackagesPanel.class/instance/actions/editSelectedPackageRequirements.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPackagesPanel.class/instance/initialization/initializePresenter.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPackagesPanel.class/instance/initialization/initializeWidgets.st
A 
Versionner-Spec-Browser.package/VersionnerProjectPackagesPanel.class/instance/selection/packageBoundToSelection.st
A 
Versionner-Spec-Browser.package/VersionnerProjectPackagesPanel.class/instance/testing/isPackage_.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPanel.class/instance/accessing-ui/requiredProjectMenu_.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPanel.class/instance/actions/editSelectedProjectLoads.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPanel.class/instance/actions/remove_fromGroup_.st
M 
Versionner-Spec-Browser.package/VersionnerProjectPanel.class/instance/initialization/initializePresenter.st
A 
Versionner-Spec-Browser.package/VersionnerProjectPanel.class/instance/selection/projectBoundToSelection.st
A 
Versionner-Spec-Browser.package/VersionnerProjectPanel.class/instance/testing/isProject_.st
R 
Versionner-Spec-Browser.package/VersionnerProjectToolBar.class/instance/actions/releaseDevelopment.st
M 
Versionner-Spec-Browser.package/VersionnerProjectToolBar.class/instance/initialization/initializePresenter.st
A 
Versionner-Spec-Browser.package/extension/MTDependantProject/instance/editRepositories.st
A 
Versionner-Spec-Browser.package/extension/MTDependantProject/instance/editVersion.st
A 
Versionner-Spec-Browser.package/extension/TreeModel/instance/whenSelectedNodesChanged_.st
M 
Versionner-Tests-Core-DependenciesModel.package/MTModelComparatorTest.class/instance/tests/testIsEqualsTo.st
M 
Versionner-Tests-Core-Model.package/MBPackageInfoTest.class/instance/tests/testIsDirty.st
A 
Versionner-Tests-Resources.package/ConfigurationOfVersionnerTestXMLParserTemplate.class/instance/baselines/baseline20_.st

  Log Message:
  ---
  30784
12983 integrate Versionner 2.5
https://pharo.fogbugz.com/f/cases/12983

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




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

2014-03-01 Thread GitHub
  Branch: refs/tags/30784
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] Gettext broken in Pharo 3.0

2014-03-01 Thread Usman Bhatti
Hi Johan,


On Sat, Mar 1, 2014 at 10:47 AM, Johan Brichau jo...@inceptive.be wrote:


 On 01 Mar 2014, at 09:57, Johan Brichau jo...@inceptive.be wrote:

  More is needed because I notice the exporter is not detecting the
 domain-categories mapping anymore.

 On second view, it seems the Seaside package for gettext is not compatible
 anymore with changes in recent history.
 So, gettext on its own should be good to go now.

 Let me know, since I am now mostly focusing on the seaside extension that
 uses it


For me, it is working now and the problem seems to be fixed.
I have a desktop app so I am not using it with Seaside and everything seems
to be working normally.
tx a lot,

Usman



 cheers
 Johan



[Pharo-dev] Phratch one-click

2014-03-01 Thread jannik laval
Dears,

Phratch has now a portable version:
https://ci.inria.fr/pharo-contribution/view/Phratch/job/Phratch-OneClick/

Thanks to JB Arnaud, the Jenkins is configured to take the latest one-click
Pharo for each platform and install all the necessary (Plugins, png...).

Now, no need to install anything: just download the zip file for your
platform, unzip it and run Phratch.

Enjoy !

-- 

~~Jannik Laval~~
École des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
http://car.mines-douai.fr/


Re: [Pharo-dev] [squeak-dev] [ANN] Fuel 1.9.3

2014-03-01 Thread Sebastian Sastre
great job you guys

sebastian

o/

 On 01/03/2014, at 02:23, Hernán Morales Durand hernan.mora...@gmail.com 
 wrote:
 
 Thanks for the update.
 Cheers,
 
 Hernán
 
 
 2014-02-26 18:13 GMT-03:00 Max Leske maxle...@gmail.com:
 Dear fellow Smalltalkers
 
 Mariano, Martin and myself are happy to announce Fuel version 1.9.3 which 
 includes the follwing changes to 1.9 (1.9.1 and 1.9.2 were never officially 
 announced):
 
 - (feature) the #fuelReplacement selector offers the ability to statically 
 replace an object (e.g. with nil) during analysis. This can lead to 
 significantly smaller graphs and improved speed when serializing large graphs
 - (feature) serialize the same graph that was analyzed instead of retrazing 
 the graph during serialization. This prevents changes in the graph from 
 happening between analysis and serialization
 - (change) store source when serializing CompiledMethod objects. Needed 
 because Opal does not allow decompilation
 - (fix) migrate variables across hierarchy
 - (feature) ObjectserializeToFileNamed: shortcut for serializing arbitrary 
 objects
 - (fix) better compression for LargeNegativeIntegers 
 (https://pharo.fogbugz.com/f/cases/12052/Fuel-could-store-LargeNegativeInteger-up-to-32bits-magnitude)
 
 Pharo30 already includes most of these changes (integration request: 
 https://pharo.fogbugz.com/f/cases/13000/Integrate-Fuel-1-9-3).
 
 This release runs with:
 - Pharo: 1.1.1, 1.1.2, 1.2, 1.2.2, 1.3, 1.4, 2.0, 3.0
 - Squeak: 4.1, 4.2, 4.3, 4.4, 4.5
 
 The documentation is not up to date yet but we will remedy that situatoin 
 within the next couple of days 
 (http://rmod.lille.inria.fr/web/pier/software/Fuel).
 If you encounter any bugs or have suggestions, please contact us on the Fuel 
 mailing list 
 (http://lists.gforge.inria.fr/cgi-bin/mailman/roster/pharo-fuel) or create a 
 new issue in our bug tracker (https://code.google.com/p/fuel/)
 
 We want to thank everyone who contributed to this release (by keyboard or 
 opinion) and also all of those people who actively use Fuel.
 
 Cheers,
 Max
 


Re: [Pharo-dev] ws vs st extensions

2014-03-01 Thread Esteban A. Maringolo
Workspace serves a particular purpose.

I use them, as soon as I depend on them I move it a to a method.

However, the main use I have for them is startup scripts or other
things I run from the command line. They can't be methods, because
they change.

Regards!

ps: I have to read about the process of submitting a change
Esteban A. Maringolo


2014-03-01 4:15 GMT-03:00 Pharo4Stef pharo4s...@free.fr:

 On 01 Mar 2014, at 00:17, Esteban A. Maringolo emaring...@gmail.com wrote:

 2014-02-28 18:26 GMT-03:00 Chris Cunningham cunningham...@gmail.com:
 On Fri, Feb 28, 2014 at 6:07 AM, Esteban A. Maringolo emaring...@gmail.com
 wrote:

 I have a naive question...

 Why if the BasicCodeLoader handler looks for .st files does the
 Workpace offer .ws as the default extension?

 Well, the workspace doesn't just use chuck format - in fact, you rarely put
 in chunk format into a workspace (or do you?  I certainly don't).  Also,
 workspaces allow for dynamic local variables - which normal chunk loaders
 don't.  The two things behave differently.  .st is explicitly for runnable
 code - workspaces are for more than just code - more of a scratch pad.

 I know, but the cmd line handler isn't a chunk reader. It compiles the
 content of the file and evaluate it all at once. And explicitly
 expects for files with .st extension (I don't understand such
 restriction).

 I don't put chunk in a workspace either (actually I don't know how to
 properly read a chunk file in Pharo).

 tl;dr Frankly I don't like the .ws extension at all. It's a matter of habit. 
 :)

 Regards!

 send a fix.
 For me saving workspace in file looks prehistorical age.
 just having method to manage code snippets is much more efficient






 Esteban A. Maringolo






[Pharo-dev] pharo --headless in Windows makes a Window show anyway

2014-03-01 Thread p...@highoctane.be
When running (from a Zeroconf install):

pharo --headless Pharo.image

it looks like that the window is not opening ( or it is opening and closing
so fast that I do not see it).

Then I have an image with Seaside, Magritte, and other things.

When doing the same, I do see the window of one second and then it closes.

Is it normal to have that window opening? That's annoying for scripts as it
doesn't look good.

On OSX I do not have this behavior.

What causes that on Windows?

Phil


[Pharo-dev] Versioneer docs?

2014-03-01 Thread p...@highoctane.be
I am now porting my code to 3.0

I am using Versioneer to look at my configuration as when I do load it in
3.0, it seems that there are some duplicate packages coming in my
package-cache and I want to remove these dupes. (Mostly Seaside related).

Versioneer is very helpful in representing the configuration.

Now, is there any doc about its usage?

TIA
Phil


[Pharo-dev] Status of the VM?

2014-03-01 Thread Alexandre Bergel
Hi!

Stef told me the coming VM will expose some data about the execution to the 
image. This will be great for our profiling tools.
What is the status?

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






Re: [Pharo-dev] pharo --headless in Windows makes a Window show anyway

2014-03-01 Thread Eliot Miranda
On Sat, Mar 1, 2014 at 7:43 AM, p...@highoctane.be p...@highoctane.bewrote:

 When running (from a Zeroconf install):

 pharo --headless Pharo.image

 it looks like that the window is not opening ( or it is opening and
 closing so fast that I do not see it).

 Then I have an image with Seaside, Magritte, and other things.

 When doing the same, I do see the window of one second and then it closes.

 Is it normal to have that window opening? That's annoying for scripts as
 it doesn't look good.

 On OSX I do not have this behavior.

 What causes that on Windows?


It's bits in the exe that decide whether it's a console app or a windows
app.  So, at least with the Cog VM, not sure about the Pharo VM, if you
want to run headless you use the SqueakConsole.exe VM instead of the
Squeak.exe VM.  They're identical except in those bits.  Yes the
distinction is stupid; unix doesn't need it, but that's Windows.



 Phil




-- 
best,
Eliot


Re: [Pharo-dev] pharo --headless in Windows makes a Window show anyway

2014-03-01 Thread p...@highoctane.be
On Sat, Mar 1, 2014 at 5:12 PM, Eliot Miranda eliot.mira...@gmail.comwrote:




 On Sat, Mar 1, 2014 at 7:43 AM, p...@highoctane.be p...@highoctane.bewrote:

 When running (from a Zeroconf install):

 pharo --headless Pharo.image

 it looks like that the window is not opening ( or it is opening and
 closing so fast that I do not see it).

 Then I have an image with Seaside, Magritte, and other things.

 When doing the same, I do see the window of one second and then it closes.

 Is it normal to have that window opening? That's annoying for scripts as
 it doesn't look good.

 On OSX I do not have this behavior.

 What causes that on Windows?


 It's bits in the exe that decide whether it's a console app or a windows
 app.  So, at least with the Cog VM, not sure about the Pharo VM, if you
 want to run headless you use the SqueakConsole.exe VM instead of the
 Squeak.exe VM.  They're identical except in those bits.  Yes the
 distinction is stupid; unix doesn't need it, but that's Windows.



 Phil




 --
 best,
 Eliot




So, there is a different way to build/link for each type in Squeak. Now,
with Pharo, there is only one exe in Windows.
Where's that thing in Squeak so that I can try to build the Pharo Windows
headless version by kind of cloning it?

In the CMakeLists.txt of the PharoVM for the Windows build, I do see:

add_definitions(-march=pentium4 -mwindows -D_MT -msse2 -mthreads -mwin32
-mno-rtd -mms-bitfields -mno-accumulate-outgoing-args -D_USE_32BIT_TIME_T
-D_WIN32_WINNT=0x0501 -DWINVER=0x0501 -DWIN32 -DWIN32_FILE_SUPPORT
-DNO_ISNAN -DNO_SERVICE -DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=Pharo
-DX86 -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0 -DENABLE_FAST_BLT
 -g0 -O2 -march=pentium4 -momit-leaf-frame-pointer
-maccumulate-outgoing-args -funroll-loops -DNDEBUG -DDEBUGVM=0)

There are -mwindows and -mwin32 which look like candidates for that switch.

What do I need to use?


TIA
Phil


Re: [Pharo-dev] ws vs st extensions

2014-03-01 Thread Eliot Miranda
On Sat, Mar 1, 2014 at 7:21 AM, Esteban A. Maringolo
emaring...@gmail.comwrote:

 Workspace serves a particular purpose.

 I use them, as soon as I depend on them I move it a to a method.

 However, the main use I have for them is startup scripts or other
 things I run from the command line. They can't be methods, because
 they change.


+1.  I use them for various things.

One is for lots of different launch commands for the VM simulator, which I
edit a little bit as I develop or debug.  There are launch scripts for the
various VMs, various images etc, with expressions to set breakpoints etc.
 Committing these to methods would end up with an unmanageable mess of
methods used only once.  Keeping a workspace full of a handful of these is
much more manageable. Mine lives in my work image but saving it to a file
is something I do occasionally, for example if I want to build a new work
image, or remember some specific configuration.

Another is for blog posts containing Smalltalk code.  It's much easier to
copy and paste colourised source into a workspace  and convert this to html
and paste once into wordpress than to colourise each method, export it and
paste it into wordpress.

The .ws extension is really useful because it says this is not source, its
an arbitrary bag of expressions.  So there's nothing archaic about this.
 As Esteban says it serves many different purposes that chunk format
doesn't.  With imagination it can serve new purposes (like the blog post
editor).


 Regards!

 ps: I have to read about the process of submitting a change
 Esteban A. Maringolo


 2014-03-01 4:15 GMT-03:00 Pharo4Stef pharo4s...@free.fr:
 
  On 01 Mar 2014, at 00:17, Esteban A. Maringolo emaring...@gmail.com
 wrote:
 
  2014-02-28 18:26 GMT-03:00 Chris Cunningham cunningham...@gmail.com:
  On Fri, Feb 28, 2014 at 6:07 AM, Esteban A. Maringolo 
 emaring...@gmail.com
  wrote:
 
  I have a naive question...
 
  Why if the BasicCodeLoader handler looks for .st files does the
  Workpace offer .ws as the default extension?
 
  Well, the workspace doesn't just use chuck format - in fact, you
 rarely put
  in chunk format into a workspace (or do you?  I certainly don't).
  Also,
  workspaces allow for dynamic local variables - which normal chunk
 loaders
  don't.  The two things behave differently.  .st is explicitly for
 runnable
  code - workspaces are for more than just code - more of a scratch pad.
 
  I know, but the cmd line handler isn't a chunk reader. It compiles the
  content of the file and evaluate it all at once. And explicitly
  expects for files with .st extension (I don't understand such
  restriction).
 
  I don't put chunk in a workspace either (actually I don't know how to
  properly read a chunk file in Pharo).
 
  tl;dr Frankly I don't like the .ws extension at all. It's a matter of
 habit. :)
 
  Regards!
 
  send a fix.
  For me saving workspace in file looks prehistorical age.
  just having method to manage code snippets is much more efficient
 
 
 
 
 
 
  Esteban A. Maringolo
 
 
 




-- 
best,
Eliot


Re: [Pharo-dev] pharo --headless in Windows makes a Window show anyway

2014-03-01 Thread Eliot Miranda
On Sat, Mar 1, 2014 at 8:31 AM, p...@highoctane.be p...@highoctane.bewrote:

 On Sat, Mar 1, 2014 at 5:12 PM, Eliot Miranda eliot.mira...@gmail.comwrote:




 On Sat, Mar 1, 2014 at 7:43 AM, p...@highoctane.be p...@highoctane.bewrote:

 When running (from a Zeroconf install):

 pharo --headless Pharo.image

 it looks like that the window is not opening ( or it is opening and
 closing so fast that I do not see it).

 Then I have an image with Seaside, Magritte, and other things.

 When doing the same, I do see the window of one second and then it
 closes.

 Is it normal to have that window opening? That's annoying for scripts as
 it doesn't look good.

 On OSX I do not have this behavior.

 What causes that on Windows?


 It's bits in the exe that decide whether it's a console app or a windows
 app.  So, at least with the Cog VM, not sure about the Pharo VM, if you
 want to run headless you use the SqueakConsole.exe VM instead of the
 Squeak.exe VM.  They're identical except in those bits.  Yes the
 distinction is stupid; unix doesn't need it, but that's Windows.



 Phil




 --
 best,
 Eliot




 So, there is a different way to build/link for each type in Squeak. Now,
 with Pharo, there is only one exe in Windows.
 Where's that thing in Squeak so that I can try to build the Pharo Windows
 headless version by kind of cloning it?

 In the CMakeLists.txt of the PharoVM for the Windows build, I do see:

 add_definitions(-march=pentium4 -mwindows -D_MT -msse2 -mthreads -mwin32
 -mno-rtd -mms-bitfields -mno-accumulate-outgoing-args -D_USE_32BIT_TIME_T
 -D_WIN32_WINNT=0x0501 -DWINVER=0x0501 -DWIN32 -DWIN32_FILE_SUPPORT
 -DNO_ISNAN -DNO_SERVICE -DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=Pharo
 -DX86 -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0 -DENABLE_FAST_BLT
  -g0 -O2 -march=pentium4 -momit-leaf-frame-pointer
 -maccumulate-outgoing-args -funroll-loops -DNDEBUG -DDEBUGVM=0)

 There are -mwindows and -mwin32 which look like candidates for that switch.

 What do I need to use?


-mconsole in place of -mwindows

-- 
best,
Eliot


Re: [Pharo-dev] pharo --headless in Windows makes a Window show anyway

2014-03-01 Thread Eliot Miranda
On Sat, Mar 1, 2014 at 8:35 AM, Eliot Miranda eliot.mira...@gmail.comwrote:




 On Sat, Mar 1, 2014 at 8:31 AM, p...@highoctane.be p...@highoctane.bewrote:

 On Sat, Mar 1, 2014 at 5:12 PM, Eliot Miranda eliot.mira...@gmail.comwrote:




 On Sat, Mar 1, 2014 at 7:43 AM, p...@highoctane.be 
 p...@highoctane.bewrote:

 When running (from a Zeroconf install):

 pharo --headless Pharo.image

 it looks like that the window is not opening ( or it is opening and
 closing so fast that I do not see it).

 Then I have an image with Seaside, Magritte, and other things.

 When doing the same, I do see the window of one second and then it
 closes.

 Is it normal to have that window opening? That's annoying for scripts
 as it doesn't look good.

 On OSX I do not have this behavior.

 What causes that on Windows?


 It's bits in the exe that decide whether it's a console app or a windows
 app.  So, at least with the Cog VM, not sure about the Pharo VM, if you
 want to run headless you use the SqueakConsole.exe VM instead of the
 Squeak.exe VM.  They're identical except in those bits.  Yes the
 distinction is stupid; unix doesn't need it, but that's Windows.



 Phil




 --
 best,
 Eliot




 So, there is a different way to build/link for each type in Squeak. Now,
 with Pharo, there is only one exe in Windows.
 Where's that thing in Squeak so that I can try to build the Pharo Windows
 headless version by kind of cloning it?

 In the CMakeLists.txt of the PharoVM for the Windows build, I do see:

 add_definitions(-march=pentium4 -mwindows -D_MT -msse2 -mthreads -mwin32
 -mno-rtd -mms-bitfields -mno-accumulate-outgoing-args -D_USE_32BIT_TIME_T
 -D_WIN32_WINNT=0x0501 -DWINVER=0x0501 -DWIN32 -DWIN32_FILE_SUPPORT
 -DNO_ISNAN -DNO_SERVICE -DNO_STD_FILE_SUPPORT -DLSB_FIRST -DVM_NAME=Pharo
 -DX86 -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0 -DENABLE_FAST_BLT
  -g0 -O2 -march=pentium4 -momit-leaf-frame-pointer
 -maccumulate-outgoing-args -funroll-loops -DNDEBUG -DDEBUGVM=0)

 There are -mwindows and -mwin32 which look like candidates for that
 switch.

 What do I need to use?


 -mconsole in place of -mwindows


and of course if you start a console .exe on the desktop Windows creates a
console window for it.  sad...
-- 
best,
Eliot


Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Clément Bera
Hello,

This is true but this is a work in progress. Right now this feature is not
stable. I will keep you in touch. I think in May I may have something
stable enough (I will work with Eliot on April) but it will not be on the
default VM. It will be available in the default pharo VM at some point but
not now (maybe in a year ?).

However, you may or may not be able to use it for your profiling tools. The
idea is that you can get branch and send information from the previous
executions of the method. However, the method needs to be cogged to have
information available and once the cogged method is discarded the
information is lost. It is really nice for hot spots but I don't know how
it could work for a profiling tool.





2014-03-01 17:06 GMT+01:00 Alexandre Bergel alexandre.ber...@me.com:

 Hi!

 Stef told me the coming VM will expose some data about the execution to
 the image. This will be great for our profiling tools.
 What is the status?

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






Re: [Pharo-dev] [squeak-dev] [ANN] Fuel 1.9.3

2014-03-01 Thread p...@highoctane.be
So Debugger - Smalltalk tools debugger needed...
 Le 1 mars 2014 14:19, Sebastian Sastre sebast...@flowingconcept.com a
écrit :

 great job you guys

 sebastian

 o/

 On 01/03/2014, at 02:23, Hernán Morales Durand hernan.mora...@gmail.com
 wrote:

 Thanks for the update.
 Cheers,

 Hernán


 2014-02-26 18:13 GMT-03:00 Max Leske maxle...@gmail.com:

 Dear fellow Smalltalkers

 Mariano, Martin and myself are happy to announce Fuel version 1.9.3 which
 includes the follwing changes to 1.9 (1.9.1 and 1.9.2 were never officially
 announced):

 - (feature) the #fuelReplacement selector offers the ability to
 statically replace an object (e.g. with nil) during analysis. This can lead
 to significantly smaller graphs and improved speed when serializing large
 graphs
 - (feature) serialize the same graph that was analyzed instead of
 retrazing the graph during serialization. This prevents changes in the
 graph from happening between analysis and serialization
 - (change) store source when serializing CompiledMethod objects. Needed
 because Opal does not allow decompilation
 - (fix) migrate variables across hierarchy
 - (feature) ObjectserializeToFileNamed: shortcut for serializing
 arbitrary objects
 - (fix) better compression for LargeNegativeIntegers (
 https://pharo.fogbugz.com/f/cases/12052/Fuel-could-store-LargeNegativeInteger-up-to-32bits-magnitude
 )

 Pharo30 already includes most of these changes (integration request:
 https://pharo.fogbugz.com/f/cases/13000/Integrate-Fuel-1-9-3).

 This release runs with:
 - Pharo: 1.1.1, 1.1.2, 1.2, 1.2.2, 1.3, 1.4, 2.0, 3.0
 - Squeak: 4.1, 4.2, 4.3, 4.4, 4.5

 The documentation is not up to date yet but we will remedy that situatoin
 within the next couple of days (
 http://rmod.lille.inria.fr/web/pier/software/Fuel).
 If you encounter any bugs or have suggestions, please contact us on the
 Fuel mailing list (
 http://lists.gforge.inria.fr/cgi-bin/mailman/roster/pharo-fuel) or
 create a new issue in our bug tracker (https://code.google.com/p/fuel/)

 We want to thank everyone who contributed to this release (by keyboard or
 opinion) and also all of those people who actively use Fuel.

 Cheers,
 Max





Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Alexandre Bergel
Ok, thanks for the update.

The VM is a formidable thing in which everything happen. Exposing to the image 
what’s going on in it is really pushing the innovation. 

Go go go!

Alexandre


On Mar 1, 2014, at 2:19 PM, Clément Bera bera.clem...@gmail.com wrote:

 Hello,
 
 This is true but this is a work in progress. Right now this feature is not 
 stable. I will keep you in touch. I think in May I may have something stable 
 enough (I will work with Eliot on April) but it will not be on the default 
 VM. It will be available in the default pharo VM at some point but not now 
 (maybe in a year ?).
 
 However, you may or may not be able to use it for your profiling tools. The 
 idea is that you can get branch and send information from the previous 
 executions of the method. However, the method needs to be cogged to have 
 information available and once the cogged method is discarded the information 
 is lost. It is really nice for hot spots but I don't know how it could work 
 for a profiling tool.
 
 
 
 
 
 2014-03-01 17:06 GMT+01:00 Alexandre Bergel alexandre.ber...@me.com:
 Hi!
 
 Stef told me the coming VM will expose some data about the execution to the 
 image. This will be great for our profiling tools.
 What is the status?
 
 Alexandre
 --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 

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






Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Eliot Miranda
On Sat, Mar 1, 2014 at 10:44 AM, Alexandre Bergel
alexandre.ber...@me.comwrote:

 Ok, thanks for the update.

 The VM is a formidable thing in which everything happen. Exposing to the
 image what's going on in it is really pushing the innovation.


The computer is a formidable thing in which everything happens ;-).  The VM
is just mechanism.  The real magic is up in the image ;-).

What's exciting about Clément's and my work is that it will allow adaptive
optimization, so a much faster system, but that optimization will be done
at the image level and will optimize from compiled methods to compiled
methods with inlining, on-the-fly.  So this optimization will /not/ be in
the VM.  No one's done this before so we really will be pushing innovation.


 Go go go!


On y va!



 Alexandre


 On Mar 1, 2014, at 2:19 PM, Clément Bera bera.clem...@gmail.com wrote:

  Hello,
 
  This is true but this is a work in progress. Right now this feature is
 not stable. I will keep you in touch. I think in May I may have something
 stable enough (I will work with Eliot on April) but it will not be on the
 default VM. It will be available in the default pharo VM at some point but
 not now (maybe in a year ?).
 
  However, you may or may not be able to use it for your profiling tools.
 The idea is that you can get branch and send information from the previous
 executions of the method. However, the method needs to be cogged to have
 information available and once the cogged method is discarded the
 information is lost. It is really nice for hot spots but I don't know how
 it could work for a profiling tool.
 
 
 
 
 
  2014-03-01 17:06 GMT+01:00 Alexandre Bergel alexandre.ber...@me.com:
  Hi!
 
  Stef told me the coming VM will expose some data about the execution to
 the image. This will be great for our profiling tools.
  What is the status?
 
  Alexandre
  --
  _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
  Alexandre Bergel  http://www.bergel.eu
  ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 

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







-- 
best,
Eliot


Re: [Pharo-dev] Help needed! ClassTest#testRenaming

2014-03-01 Thread btc




Nicolai Hess wrote:

  
  
  
  
  
  
  
  
  Hope we can sort this out, more and more fixes suffer from the
wrong testing
failures and nothing new gets integrated.
  
  
  12996
ClassTest#testRenaming leaves dirty package Dummy-Tests-Class
behind
  12995 CI
ClassTest#testRenaming is failing
  
  
available options:
  
1. skip test
  
2. test for nil in
RPackageOrganizer#systemClassRenamedActionFrom:
  
 before
 rPackage updateDefinedClassNamed: oldName withNewName: newName.
  
3. review changes for issue 12601 
 (fix RPackageOrganizer#systemCategoryRemovedActionFrom:
ann, to 
  
 unregister packages even if there are MCPackages (don't know about
the
  
 side effects)
  
  
  best solution would be number 3, but the recent submissions for
issue 12601 are quite complex, so I don't know.
  
  
Nicolai
  

Here is something I was developing last week for 
 Case 12935 ManifestTests-leaving-dirty-packages
but I got distracted so its working but incomplete. It requires a
higher level architectural review as to whether this is a worthwhile
approach.

I had trouble understanding how to undo the state of the the dirty
package being left after test resources in the package were modified,
so following the engineering principle "if you can't solve the problem,
change the problem," I thought creating and deleting a temporary
package to hold the test resources would be less impact than dirtying
the existing packages. I also knew I could dig into the logic behind
the Monticello button +Package and package context menu item
[Unload package] to copy a working system. So far I have the following
(also attached as ST files)


"---"
Object subclass: #TemporaryTestResourceBuilder
 instanceVariableNames: ''
 classVariableNames: ''
 category: 'Manifest-Tests'
"---"

TemporaryTestResourceBuilder class
 instanceVariableNames: 'workingCopy'
"---"

TemporaryTestResourceBuildertemporaryTestPackageName
 ^ '-Temporary-Test-Resources-Manifest-Tests'.
"---"

TemporaryTestResourceBuilderdefineTemporaryPackage
 RPackageOrganizer default registerPackageNamed: self packageName.
 workingCopy := MCWorkingCopy forPackage: (MCPackage new name: self
packageName).
"---"

TemporaryTestResourceBuilderunloadTemporaryPackage
 workingCopy unload.
"---"

TemporaryTestResourceBuilderdefineTemporaryMFClassA
 "Define the class"
 Object subclass: #MFClassA
 instanceVariableNames: ''
 classVariableNames: ''
 category: self temporaryTestPackageName.
 
 (Smalltalk at: #MFClassA) compileSilently: 'method
 |foo|
 self halt.
 '.
  
 ^Smalltalk at: #MFClassA.
"---"

defineTemporaryMFClassB
 "Define the class"
 Object subclass: #MFClassB
 instanceVariableNames: ''
 classVariableNames: ''
 category: self temporaryTestPackageName.
 
 (Smalltalk at: #MFClassB) compileSilently: 'method2
 |foo|
 '.
 
 (Smalltalk at: #MFClassB) compileSilently: 'method3
 |foo|
 self halt.
 '.
  
 ^Smalltalk at: #MFClassB.
"--"

TestCase subclass: #SmalllintManifestCheckerTest
 instanceVariableNames: 'checker mfClassA mfClassB'
 classVariableNames: ''
 category: 'Manifest-Tests'
"---"

SmalllintManifestCheckerTesttearDown
 TemporaryTestResourceBuilder unloadTemporaryPackage.
"---"

SmalllintManifestCheckerTestsetUp
 | bm |
 TemporaryTestResourceBuilder defineTemporaryPackage.
 mfClassA := TemporaryTestResourceBuilder defineTemporaryMFClassA.
 mfClassB := TemporaryTestResourceBuilder defineTemporaryMFClassB.

 "BTC: The following is unchanged except converting direct class
references to the instance variables"
 bm := TheManifestBuilder of: mfClassA.
 bm installFalsePositiveOf: RBCodeCruftLeftInMethodsRule
uniqueIdentifierName version: 1.
 bm addFalsePositive: mfClassB  #method3 of:
RBCodeCruftLeftInMethodsRule uniqueIdentifierName version: 1.
 bm installToDoOf: RBOnlyReadOrWrittenTemporaryRule
uniqueIdentifierName version: 1.
 bm
  addAllToDo:
   {(mfClassB  #method3).
   (mfClassA  #method)}
  of: RBOnlyReadOrWrittenTemporaryRule uniqueIdentifierName
  version: 1.
 checker := SmalllintManifestChecker new
"---"

SmalllintManifestCheckerTesttestIsFalsePositive 
 "BTC: No changes here except converting direct class references to
instance variables"
 | rule |
 rule := RBCompositeLintRule allGoodRules.
 checker
  rule: rule;
  environment: self package asEnvironment;
  run. 
 self assert: (checker isFalsePositive: (mfClassB#method3)
forRuleId: (RBCodeCruftLeftInMethodsRule uniqueIdentifierName)
versionId: 1).
 self deny: (checker isFalsePositive: (mfClassA#method)
forRuleId: (RBCodeCruftLeftInMethodsRule uniqueIdentifierName)
versionId: 1).
"--"

Now the following test executed from Workspace works fine...
 SmalllintManifestCheckerTest new setUp testIsFalsePositive tearDown.
"--"

Some reflection on this:
* TemporaryTestResourceBuilder class-side stuff 

Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Alexandre Bergel
Excellent! Eager to try it!!!

Alexandre 

 Le 01-03-2014 à 16:01, Eliot Miranda eliot.mira...@gmail.com a écrit :
 
 
 
 
 On Sat, Mar 1, 2014 at 10:44 AM, Alexandre Bergel alexandre.ber...@me.com 
 wrote:
 Ok, thanks for the update.
 
 The VM is a formidable thing in which everything happen. Exposing to the 
 image what’s going on in it is really pushing the innovation.
 
 The computer is a formidable thing in which everything happens ;-).  The VM 
 is just mechanism.  The real magic is up in the image ;-).
 
 What's exciting about Clément's and my work is that it will allow adaptive 
 optimization, so a much faster system, but that optimization will be done at 
 the image level and will optimize from compiled methods to compiled methods 
 with inlining, on-the-fly.  So this optimization will /not/ be in the VM.  No 
 one's done this before so we really will be pushing innovation.
 
 
 Go go go!
 
 On y va!
  
 
 Alexandre
 
 
 On Mar 1, 2014, at 2:19 PM, Clément Bera bera.clem...@gmail.com wrote:
 
  Hello,
 
  This is true but this is a work in progress. Right now this feature is not 
  stable. I will keep you in touch. I think in May I may have something 
  stable enough (I will work with Eliot on April) but it will not be on the 
  default VM. It will be available in the default pharo VM at some point but 
  not now (maybe in a year ?).
 
  However, you may or may not be able to use it for your profiling tools. 
  The idea is that you can get branch and send information from the previous 
  executions of the method. However, the method needs to be cogged to have 
  information available and once the cogged method is discarded the 
  information is lost. It is really nice for hot spots but I don't know how 
  it could work for a profiling tool.
 
 
 
 
 
  2014-03-01 17:06 GMT+01:00 Alexandre Bergel alexandre.ber...@me.com:
  Hi!
 
  Stef told me the coming VM will expose some data about the execution to 
  the image. This will be great for our profiling tools.
  What is the status?
 
  Alexandre
  --
  _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
  Alexandre Bergel  http://www.bergel.eu
  ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 -- 
 best,
 Eliot


Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Stefan Marr
Hi:

On 01 Mar 2014, at 19:44, Alexandre Bergel alexandre.ber...@me.com wrote:

 The VM is a formidable thing in which everything happen. Exposing to the 
 image what’s going on in it is really pushing the innovation. 

Perhaps something that could be relevant in case someone decides to implement 
such an interface in Cog:
Just one, pretty old example: 
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#EventIndex

You can get access to many different information in terms of ‘events’ on the 
JVM.
For building a profiler, more than sufficient. And, at least in my personal 
opinion also something that would be desirable for Cog, perhaps in a slightly 
more modern design, but with a similar flavor.

Best regards
Stefan


-- 
Stefan Marr
INRIA Lille - Nord Europe
http://stefan-marr.de/research/






Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Eliot Miranda
Hi Stefan,


On Sat, Mar 1, 2014 at 12:55 PM, Stefan Marr smallt...@stefan-marr.dewrote:

 Hi:

 On 01 Mar 2014, at 19:44, Alexandre Bergel alexandre.ber...@me.com
 wrote:

  The VM is a formidable thing in which everything happen. Exposing to the
 image what's going on in it is really pushing the innovation.

 Perhaps something that could be relevant in case someone decides to
 implement such an interface in Cog:
 Just one, pretty old example:
 http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#EventIndex


Interesting list.  Assuming the list refers to events one can handle in
Smalltalk, then let me go through these and see which we need, don't need
or already have:

Event Index

   - 
Breakpointhttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#Breakpoint
   we already have this.  An illegal bytecode will send an error message to
   the current context.  See my MethodMassage package.  We use this at Cadence
   to implement coverage.
   - Class File Load
Hookhttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassFileLoadHook
   not needed.  classes are loaded by Smalltalk code, not the VM.
   - *Class Load
   http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassLoad*
   not needed. ditto
   - *Class Prepare
   
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassPrepare*
   not needed.  ditto
   - *Compiled Method Load
   
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#CompiledMethodLoad*
   not needed.  methods are loaded by Smalltalk code, not the VM.
   - *Compiled Method Unload
   
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#CompiledMethodUnload*
   not needed.  ditto
   - Data Dump 
Requesthttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#DataDumpRequest
   to what extent is snapshot adequate?
   Has been used for adequate image debugging (and of course we can
   serialize processes so people are using things like Fuel to save the stack
   traces of processes that encounter errors).
   Not adequate for VM debugging: the heap may be invalid and not saveable;
   shapshot load does more than merely fill memory; it swizzles etc, and these
   operations can and will fail on an invalid heap.  Personally I think things
   like -blockOnError which causes the VM to block rather than exit on error,
   allowing one to attach gdb to a crashed VM process is more useful.
   - *Dynamic Code Generated
   
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#DynamicCodeGenerated*
   not needed.  methods are loaded by Smalltalk code, not the VM.
   - *Exception
   http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#Exception*
   not needed.  Smalltalk's exception system has resume semantics, not
   retry, so there's no need to ask to see an exception at source; the source
   of the exception can be examined after the fact (unlike Java, which has
   restart semantics).  In fact folks like Avi Bryant (and I believe him)
   think that the business opportunity with hadoop/map-reduce is indeed
   Smalltalk's exception semantics which allow live debugging of errors.
   - *Exception Catch
   
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ExceptionCatch*
   not needed.  ditto
   - Field 
Accesshttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#FieldAccess
   Quite possibly.  If one is using classical Smalltalk there is no
   linguistic hook for field access.  With Pharo's slots then presumably
   transforming methods to insert traps on field access is trivial (and
   databases like GemStone have done similar things with brute bytecode
   manipulation).  With Newspeak, which has no direct inst var access, this
   can be subsumed by MethodEntry (see below).  So whether this is needed or
   not depends on either language evolution or good bytecode manipulation
   tools; if these are available this is not needed.
   - Field 
Modificationhttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#FieldModification
   Quite possibly.  Again the approaches outlined above can be done (as
   gemStone has done in the past).  But we nearly have this.  I've implemented
   per-instance immutability for the old Newspeak VM (a variant of the Squeak
   interpreter) and this is easy to fold into Cog (and indeed the Interpreter
   VM).  GemStone engineers prefer per-instance immutability than their own
   bytecode modification.  I think I agree.  I'd rather depend on immutability
   (which has other uses such as immutable literals) than a special VM hook.
   - Frame 
Pophttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#FramePop
   Hmm.  Possibly.  IIRC, I think method wrappers provide a manageable way
   to do this.
   - Garbage Collection
Finishhttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#GarbageCollectionFinish
   Indeed.  There are hacks to get this.  Further there are many ways to
   implement this.  e.g. is it a callback on finishing a form 

Re: [Pharo-dev] [squeak-dev] [ANN] Fuel 1.9.3

2014-03-01 Thread Max Leske

On 01.03.2014, at 18:46, p...@highoctane.be wrote:

 So Debugger - Smalltalk tools debugger needed... 
 
Thanks Phil, I missed that somehow. Debugger is now SpecDebugger. I’ll fix it.

 Le 1 mars 2014 14:19, Sebastian Sastre sebast...@flowingconcept.com a 
 écrit :
 great job you guys
 
 sebastian
 
 o/
 
 On 01/03/2014, at 02:23, Hernán Morales Durand hernan.mora...@gmail.com 
 wrote:
 
 Thanks for the update.
 Cheers,
 
 Hernán
 
 
 2014-02-26 18:13 GMT-03:00 Max Leske maxle...@gmail.com:
 Dear fellow Smalltalkers
 
 Mariano, Martin and myself are happy to announce Fuel version 1.9.3 which 
 includes the follwing changes to 1.9 (1.9.1 and 1.9.2 were never officially 
 announced):
 
 - (feature) the #fuelReplacement selector offers the ability to statically 
 replace an object (e.g. with nil) during analysis. This can lead to 
 significantly smaller graphs and improved speed when serializing large graphs
 - (feature) serialize the same graph that was analyzed instead of retrazing 
 the graph during serialization. This prevents changes in the graph from 
 happening between analysis and serialization
 - (change) store source when serializing CompiledMethod objects. Needed 
 because Opal does not allow decompilation
 - (fix) migrate variables across hierarchy
 - (feature) ObjectserializeToFileNamed: shortcut for serializing arbitrary 
 objects
 - (fix) better compression for LargeNegativeIntegers 
 (https://pharo.fogbugz.com/f/cases/12052/Fuel-could-store-LargeNegativeInteger-up-to-32bits-magnitude)
 
 Pharo30 already includes most of these changes (integration request: 
 https://pharo.fogbugz.com/f/cases/13000/Integrate-Fuel-1-9-3).
 
 This release runs with:
 - Pharo: 1.1.1, 1.1.2, 1.2, 1.2.2, 1.3, 1.4, 2.0, 3.0
 - Squeak: 4.1, 4.2, 4.3, 4.4, 4.5
 
 The documentation is not up to date yet but we will remedy that situatoin 
 within the next couple of days 
 (http://rmod.lille.inria.fr/web/pier/software/Fuel).
 If you encounter any bugs or have suggestions, please contact us on the Fuel 
 mailing list 
 (http://lists.gforge.inria.fr/cgi-bin/mailman/roster/pharo-fuel) or create a 
 new issue in our bug tracker (https://code.google.com/p/fuel/)
 
 We want to thank everyone who contributed to this release (by keyboard or 
 opinion) and also all of those people who actively use Fuel.
 
 Cheers,
 Max
 



Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Clément Bera
Hey,

It's fun because I looked at the JVM list and most point looked irrelevant
as you described.

It seems that the only thing we miss is the GC hook: we could have a
selector in special object array to call at each GC on the 'Smalltalk'
object to trigger a method in the image that would be by default an empty
method.

Field access is a solved problem with slots, definitely.


2014-03-01 22:35 GMT+01:00 Eliot Miranda eliot.mira...@gmail.com:

 Hi Stefan,


 On Sat, Mar 1, 2014 at 12:55 PM, Stefan Marr smallt...@stefan-marr.dewrote:

 Hi:

 On 01 Mar 2014, at 19:44, Alexandre Bergel alexandre.ber...@me.com
 wrote:

  The VM is a formidable thing in which everything happen. Exposing to
 the image what's going on in it is really pushing the innovation.

 Perhaps something that could be relevant in case someone decides to
 implement such an interface in Cog:
 Just one, pretty old example:
 http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#EventIndex


 Interesting list.  Assuming the list refers to events one can handle in
 Smalltalk, then let me go through these and see which we need, don't need
 or already have:

 Event Index

- 
 Breakpointhttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#Breakpoint
we already have this.  An illegal bytecode will send an error message
to the current context.  See my MethodMassage package.  We use this at
Cadence to implement coverage.
- Class File Load 
 Hookhttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassFileLoadHook
not needed.  classes are loaded by Smalltalk code, not the VM.
- *Class Load
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassLoad*
not needed. ditto
- *Class Prepare

 http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassPrepare*
not needed.  ditto
- *Compiled Method Load

 http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#CompiledMethodLoad*
not needed.  methods are loaded by Smalltalk code, not the VM.
- *Compiled Method Unload

 http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#CompiledMethodUnload*
not needed.  ditto
- Data Dump 
 Requesthttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#DataDumpRequest
to what extent is snapshot adequate?
Has been used for adequate image debugging (and of course we can
serialize processes so people are using things like Fuel to save the stack
traces of processes that encounter errors).
Not adequate for VM debugging: the heap may be invalid and not
saveable; shapshot load does more than merely fill memory; it swizzles etc,
and these operations can and will fail on an invalid heap.  Personally I
think things like -blockOnError which causes the VM to block rather than
exit on error, allowing one to attach gdb to a crashed VM process is more
useful.
- *Dynamic Code Generated

 http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#DynamicCodeGenerated*
not needed.  methods are loaded by Smalltalk code, not the VM.
- *Exception
http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#Exception*
not needed.  Smalltalk's exception system has resume semantics, not
retry, so there's no need to ask to see an exception at source; the source
of the exception can be examined after the fact (unlike Java, which has
restart semantics).  In fact folks like Avi Bryant (and I believe him)
think that the business opportunity with hadoop/map-reduce is indeed
Smalltalk's exception semantics which allow live debugging of errors.
- *Exception Catch

 http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ExceptionCatch*
not needed.  ditto
- Field 
 Accesshttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#FieldAccess
Quite possibly.  If one is using classical Smalltalk there is no
linguistic hook for field access.  With Pharo's slots then presumably
transforming methods to insert traps on field access is trivial (and
databases like GemStone have done similar things with brute bytecode
manipulation).  With Newspeak, which has no direct inst var access, this
can be subsumed by MethodEntry (see below).  So whether this is needed or
not depends on either language evolution or good bytecode manipulation
tools; if these are available this is not needed.
- Field 
 Modificationhttp://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#FieldModification
Quite possibly.  Again the approaches outlined above can be done (as
gemStone has done in the past).  But we nearly have this.  I've implemented
per-instance immutability for the old Newspeak VM (a variant of the Squeak
interpreter) and this is easy to fold into Cog (and indeed the Interpreter
VM).  GemStone engineers prefer per-instance immutability than their own
bytecode modification.  I think I agree.  I'd rather 

Re: [Pharo-dev] Status of the VM?

2014-03-01 Thread Jan Vrany

Maybe I'm missing something obvious, but from my point of
view the fundamental difference here is that with JVM's JPDA
triggering of event actually **does not** affect the monitored
system.

If these events are handled by the image, it is quite tricky to
figure out which one is caused by application and which one
is caused by the event handling machinery. For instance,
if (non-empty) method is called after a GC, this handler
may trigger another GC, which may...

That brings me to another, if you do in-image profiling (event 
handling), data could be quite different than what would you get

using out-of-image profiler.


personal experience:
I've used (and implemented some :-) both - Smalltalk in-image tools
and out-of-image tools, namely JPDA and DTRACE/STAP. For serious
profiling and monitoring, I always use out-of-image approach if
possible.

Jan

On 01/03/14 23:34, Clément Bera wrote:

Hey,

It's fun because I looked at the JVM list and most point looked
irrelevant as you described.

It seems that the only thing we miss is the GC hook: we could have a
selector in special object array to call at each GC on the 'Smalltalk'
object to trigger a method in the image that would be by default an
empty method.

Field access is a solved problem with slots, definitely.


2014-03-01 22:35 GMT+01:00 Eliot Miranda eliot.mira...@gmail.com
mailto:eliot.mira...@gmail.com:

Hi Stefan,


On Sat, Mar 1, 2014 at 12:55 PM, Stefan Marr
smallt...@stefan-marr.de mailto:smallt...@stefan-marr.de wrote:

Hi:

On 01 Mar 2014, at 19:44, Alexandre Bergel
alexandre.ber...@me.com mailto:alexandre.ber...@me.com wrote:

  The VM is a formidable thing in which everything happen.
Exposing to the image what’s going on in it is really pushing
the innovation.

Perhaps something that could be relevant in case someone decides
to implement such an interface in Cog:
Just one, pretty old example:

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#EventIndex


Interesting list.  Assuming the list refers to events one can handle
in Smalltalk, then let me go through these and see which we need,
don't need or already have:


  Event Index

  * Breakpoint

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#Breakpoint
we already have this.  An illegal bytecode will send an error
message to the current context.  See my MethodMassage package.
  We use this at Cadence to implement coverage.
  * Class File Load Hook

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassFileLoadHook
not needed.  classes are loaded by Smalltalk code, not the VM.
  * *Class Load

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassLoad*
not needed. ditto
  * *Class Prepare

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#ClassPrepare*
not needed.  ditto
  * *Compiled Method Load

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#CompiledMethodLoad*
not needed.  methods are loaded by Smalltalk code, not the VM.
  * *Compiled Method Unload

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#CompiledMethodUnload*
not needed.  ditto
  * Data Dump Request

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#DataDumpRequest
to what extent is snapshot adequate?
Has been used for adequate image debugging (and of course we can
serialize processes so people are using things like Fuel to save
the stack traces of processes that encounter errors).
Not adequate for VM debugging: the heap may be invalid and not
saveable; shapshot load does more than merely fill memory; it
swizzles etc, and these operations can and will fail on an
invalid heap.  Personally I think things like -blockOnError
which causes the VM to block rather than exit on error, allowing
one to attach gdb to a crashed VM process is more useful.
  * *Dynamic Code Generated

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#DynamicCodeGenerated*
not needed.  methods are loaded by Smalltalk code, not the VM.
  * *Exception

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#Exception*
not needed.  Smalltalk's exception system has resume semantics,
not retry, so there's no need to ask to see an exception at
source; the source of the exception can be examined after the
fact (unlike Java, which has restart semantics).  In fact folks
like Avi Bryant (and I believe him) think that the business
opportunity with hadoop/map-reduce is indeed Smalltalk's
exception semantics which allow live debugging of errors.
  * *Exception Catch


[Pharo-dev] Zinc bug submitting form via GET?

2014-03-01 Thread Sean P. DeNigris
In porting the Mechanize web scraping library from Ruby, I started with the
following example:
  a.get('http://google.com/') do |page|
search_result = page.form_with(:name = 'f') do |search|
  search.q = 'Hello world'
end.submit

It GETs
http://www.google.com/search?ie=ISO-8859-1hl=ensource=hpq=Hello+worldgbv=1

I tried to do that with Zinc via formAt: name put:, but when I sent #get,
the query was empty and the response was another blank search form. It took
me some time to figure out what was going on and change to #queryPut:at: in
the GET case, but now I'm managing form logic from the outside. Since GET is
valid for forms (apparently it is the default per
http://www.w3schools.com/tags/att_form_method.asp), it seems Zinc should
handle this more gracefully. I would expect it to check for form fields and
add them to the query when doing a GET. What do you think?

n.b. Gofer it
smalltalkhubUser: 'SeanDeNigris' project: 'Mechanize';
package: 'Mechanize';
load.







-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Zinc-bug-submitting-form-via-GET-tp4747276.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Help needed! ClassTest#testRenaming

2014-03-01 Thread btc




Pharo4Stef wrote:

  
  
  
  








Hope we can sort this out, more and more fixes suffer from the
wrong testing
failures and nothing new gets integrated.









  
  
  
yes I’m sorry about that.
  Marcus is burnt out. Esteban is on vacation and I’m out of time
managing our team and other duties.
  For the issues related to rpackage I will let esteban looked at
them because he worked a lot on them.


I see there is progress on Case 12995 with a monkey validated solution
that modifies...
    RPackageOrganizersystemCategoryRemovedActionFrom:.

I have an alternate monkey validated solution on Case 13021 that
modifies...
    CompiledMethodTesttestIsInstalled
  
CompiledMethodTesttestMethodClass
  
CompiledMethodTesttestSearchForClass
  
CompiledMethodTesttestSearchForSelector
  
CompiledMethodTesttestSelector

Case 12995 is probably required anyway and may make 13021 unnecessary,
but 13021 seems lower risk and to clear the way for other pending
resolved cases maybe faster to integrate - depending on how much more
consideration 12995 needs.  Anyway, looks like there is soon a way
forward.
cheers -ben



  
  








12996
ClassTest#testRenaming leaves dirty package Dummy-Tests-Class
behind
12995 CI
ClassTest#testRenaming is failing


available options:

1. skip test

2. test for nil in
RPackageOrganizer#systemClassRenamedActionFrom:

   before
   rPackage updateDefinedClassNamed: oldName withNewName: newName.

3. review changes for issue 12601 
    (fix RPackageOrganizer#systemCategoryRemovedActionFrom:
ann, to 

    unregister packages even if there are MCPackages (don't know about
the

    side effects)


best solution would be number 3, but the recent submissions for
issue 12601 are quite complex, so I don't know.


Nicolai