[Pharo-project] Gettext package, who?

2012-03-15 Thread Hilaire Fernandes
Who is maintaining the Gettext package?
I remember someone volunteer to take over but I forgot who and where.
I have a few fixes to get the gettext package working with 1.4, at least
the exporter.

Hilaire


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




Re: [Pharo-project] [squeak-dev] Simulation discrepancy with #return:

2012-03-15 Thread Igor Stasenko
Just found this mail.. :)
Will take a look tomorrow.
And, if we're speaking about debugger, there are problems with simulating
primitive: module: error:
vs
primitive: module: 

i'm not sure, how good/bad things in squeak,
but in pharo, Mariano modified the code to get rid of many try:with:with..
but still it doesn't handling simulation of primitives with error codes right.

http://code.google.com/p/pharo/issues/detail?id=5459




-- 
Best regards,
Igor Stasenko.



[Pharo-project] Are you sending mails because it looks like the list is blocked.

2012-03-15 Thread Stéphane Ducasse




[Pharo-project] 1.3 image not available?

2012-03-15 Thread Max Leske
Hi guys.

Clicking on the 1.3 image link on pharo-project.org yields a 404. The image 
can't be found on the server…

Cheers,
Max


Re: [Pharo-project] Dedicated to days of wasted time in your life, formatting source code for replacing spaces with tabs

2012-03-15 Thread Sebastian Sastre
On Mar 11, 2012, at 5:25 PM, Igor Stasenko wrote:

 but it looks like this is not important to people, since nobody
 replied to this post except you.


not always Igor.

That would be true if people had paid attention and then decided to ignore it.

But the truth is that most of the time people don't care in the first place 
because they just don't get it (maybe that never happened to them).

So, they won't care until you help them to perceive (the size of the problem 
and the size of the solution). In other words it's a marketing problem.

What can you do about that?

Telling a story seems to work [1]

sebastian

o/

PS: I've didn't tried your code but it sounds like something that could be 
necessary for having a pretty print button (that I'd actually like to have 
somewhere hidden because I'm also fan of tabs instead of spaces)

[1] a story with a well structured hero's journey, where the hero or good 
people felt so much pain because of X and the gift from the gods (software 
is like magic) save them in the last minute. Ideas for a story like that for 
that code? having a guy in a team that codes with spaces makes the bests guys 
of that team to waste some of their precious time.




[Pharo-project] ExternalDropHandler depending on World

2012-03-15 Thread Guillermo Polito
Hi!

What is external drop handler?  ¿an object in charge of handling the drag n
drop in the paste up morph?

Should these two methods depending on Form and World be packaged with
Morphic?

Guille

ExternalDropHandler classdefaultImageHandler

^ExternalDropHandler
type: 'image/'
extension: nil
action: [:stream :pasteUp :event | | image sketch |
stream binary.
image := Form fromBinaryStream: ((RWBinaryOrTextStream with:
stream contents) reset).
sketch := World drawingClass withForm: image.
pasteUp addMorph: sketch centeredNear: event position.
image := sketch := nil]

ExternalDropHandler classregisterStandardExternalDropHandlers
ExternalDropHandler registerStandardExternalDropHandlers

self registeredHandlers add: (
ExternalDropHandler
type: 'image/'
extension: nil
action: [:stream :pasteUp :event |
pasteUp addMorph: (World drawingClass withForm: (Form
fromBinaryStream: stream binary)) centeredNear: event position])


[Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Guillermo Polito
*-
MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide:
*

depends on TextLine which is packaged as Morphic-Text Support

- *MultiCompositionScannersetFont*

depends on TextComposer which is packaged as Morphic-Text Support also

http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475

Guille


[Pharo-project] LanguageEnvironment depending on Network stuff

2012-03-15 Thread Guillermo Polito
Do we want this dependency?

LanguageEnvironmentfontDownload
(Locale isoLanguage: 'ja') languageEnvironment fontDownload

(FileDirectory default fileExists: self fontFullName)
ifTrue: [^ self].
Cursor read
showWhile: [self fontDownloadUrls
do: [:each | [ | contents f |contents := (each 
, '/' , self
fontFileName) asUrl retrieveContents contents.
(contents first: 2)
= 'PK'
ifTrue: [f := FileStream 
newFileNamed: self fontFullName.
f binary.
[f nextPutAll: contents]
ensure: [f 
close].
^ self]]
on: NameLookupFailure
do: [:e | e]]].
self error: 'Fonts does not found (' , self fontFullName , ')'



http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668


Re: [Pharo-project] LanguageEnvironment depending on Network stuff

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 2:34 PM, Guillermo Polito wrote:

 Do we want this dependency?
 

This has been removed some weeks ago.

 LanguageEnvironmentfontDownload
   (Locale isoLanguage: 'ja') languageEnvironment fontDownload
   
   (FileDirectory default fileExists: self fontFullName)
   ifTrue: [^ self].
   Cursor read
   showWhile: [self fontDownloadUrls
   do: [:each | [ | contents f |contents := (each 
 , '/' , self fontFileName) asUrl retrieveContents contents.
   (contents first: 2)
   = 'PK'
   ifTrue: [f := FileStream 
 newFileNamed: self fontFullName.
   f binary.
   [f nextPutAll: contents]
   ensure: [f 
 close].
   ^ self]]
   on: NameLookupFailure
   do: [:e | e]]].
   self error: 'Fonts does not found (' , self fontFullName , ')'
 
 
 
 http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668

--
Marcus Denker -- http://marcusdenker.de




[Pharo-project] Three presentations at Dyncon 2012 in Stockholm

2012-03-15 Thread Göran Krampe

Hey fellas!

Just wanted to mention that Smalltalk and Amber in particular has a 
fairly strong presence this year at Dyncon 2012 
(http://swdc.se/dyncon2012/):


- I am presenting Brave new world (the architecture of SmalltalkHub, 
which includes Amber, Phriak, Pharo, Seaside-REST etc) (see 
http://swdc.se/dyncon2012/sessions/)


- Nicolas is presenting Amber.

- Jason Ayers is probably presenting something Smalltalk related :)

regards, Göran



Re: [Pharo-project] 1.3 image not available?

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 2:32 PM, Max Leske wrote:

 Hi guys.
 
 Clicking on the 1.3 image link on pharo-project.org yields a 404. The image 
 can't be found on the server…
 
This was a temporal problem when the gforge.inria.fr was moved to a new server.



--
Marcus Denker -- http://marcusdenker.de




[Pharo-project] Bug in WAMemoryItemsizeOfObject

2012-03-15 Thread niko . schwarz
Hi guys,

I haven't checked if this bug exists already, so please ignore this if it's 
been reported before.

Bug in WAMemoryItem:

sizeOfObject: anObject
| headerSize instanceSize variableSize |
headerSize := anObject class indexIfCompact  0
ifTrue: [ 4 ]
ifFalse: [ 8 ].
instanceSize := anObject class instSize.
variableSize := anObject class isBytes
ifTrue: [ anObject basicSize ]
ifFalse: [
anObject class isWords
ifTrue: [ Smalltalk wordSize * anObject 
basicSize ]
ifFalse: [ Smalltalk wordSize * anObject 
basicSize // 2 ] ].
^ headerSize + instanceSize + variableSize


In this snippet, the units that are added together in the last line are of 
different units.

instanceSize is in unit number of machine words, whereas variableSize and 
headerSize are in unit bytes.


The method is fixed here:

sizeOfObject: anObject
| headerSize instanceSize variableSize |
headerSize := anObject class indexIfCompact  0
ifTrue: [ 4 ]
ifFalse: [ 8 ].
instanceSize := anObject class instSize * Smalltalk wordSize.
variableSize := anObject class isBytes
ifTrue: [ anObject basicSize ]
ifFalse: [
anObject class isWords
ifTrue: [ Smalltalk wordSize * anObject 
basicSize ]
ifFalse: [ Smalltalk wordSize * anObject 
basicSize // 2 ] ].
^ headerSize + instanceSize + variableSize



Example: 

 |m|
dict := Dictionary new.
m := WAMemory new. dict traverseWithMemory: m seen: IdentitySet new. 
m totalSize

This will incorrectly spit out 10, but should return 16, on a 32 bit VM.

Niko

-- 
http://scg.unibe.ch/staff/Schwarz
twitter.com/nes1983
Tel: +41786126354




Re: [Pharo-project] Can we change diff-generator to ignore white-space diffs?

2012-03-15 Thread Henrik Sperre Johansen

On 12.03.2012 15:33, Ben Coman wrote:

Igor Stasenko wrote:

Because it makes things unreadable.
Here, i replaced spaces with tabs.. and see what happens.

Similiarly... I am finding that as I am digging into it the system to 
learn it by scattering 'self halts' through the code and later 
deleting them,  often the whitespace it not identical to the original 
and when reviewing changes in the Monticello Browser these these are 
annoying to have listed as changes.  What do you think of the 
Monticello changes button ignoring whitespace?


cheers, -ben



Presumably, the method timestamp changed as well, and a new MC version 
would be saved with your credentials / current time...


For these cases, I find it best to use Show versions...  then revert 
to the old definition.


Cheers,
Henry



Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Tudor Girba
Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522)

Cheers,
Doru

On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote:
 Hi,

 I just tried it and it crashed :(.

 Here is what I did:
 - I took the Moose image
 - it started fine, and seem to be responsive
 - I then loaded code in it using a configuration
 - while loading, it crashed

 I attach here the crash.dmp file. I cannot provide the actual code
 because it is proprietary. I will try to reproduce the problem in more
 available settings.

 Cheers,
 Doru


 On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote:
Thanks Igor.
Guys can you try and report if you have problems?

 Yes, thanks Igor,

 How can I see if this release integrates Eliots latest
 fixes for Cog?

 Thx
 T.
 --
 Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
 belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de




 --
 www.tudorgirba.com

 Every thing has its own flow



-- 
www.tudorgirba.com

Every thing has its own flow



[Pharo-project] Methods depending on Ring

2012-03-15 Thread Guillermo Polito
Hi!

All these methods use RGMethodDefinition or RGCommentDefinition:

CompiledMethodmethodReference
ClassDescriptionmethodReferencesInCategory:
SystemNavigationallMethodsWithSourceString:matchCase:
SystemNavigationcreateMethodNamed:realParent:
SystemNavigationallCallsOn:localTo:
TTransformationCompatibilitycollectMethodsFor:into:
TraitDescriptioncollectMethodsFor:into:
TraitDescriptionmethodReferencesInCategory:
TClassAndTraitDescriptionmethodReferencesInCategory:
TraitExclusionmethodReferencesInCategory:

Is this ok?  Because of them Ring is not unloadable...

Are really CompiledMethod polymorphic with RGMethodDefinitions?

Because if true maybe we can have in kernel

CompiledMethodmethodReference
^self

And let Ring override it.  or not?

Guille


[Pharo-project] CodeLoaderstartUp: installing World?

2012-03-15 Thread Guillermo Polito
CodeLoader classstartUp: resuming
resuming ifTrue: [
World ifNotNil: [World install. ActiveHand position: 100@100].
self processUpdates.
].


Is this method ok in this class?  I'd expect for

World ifNotNil: [World install. ActiveHand position: 100@100].

to be on PasteUpMorph or so...

Guille


[Pharo-project] Pharo 1.4 Tests-Unix - Build # 285 - Still unstable!

2012-03-15 Thread jenkins-pharo . ci . inria . fr
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%201.4%20Tests-Unix/285/Project:Pharo 1.4 Tests-UnixDate of build:Thu, 15 Mar 2012 10:21:05 +0100Build duration:7 mn 42 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 0 test(s), Passed: 578 test(s), Skipped: 0 test(s), Total: 578 test(s)Name: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name: KernelTests.Objects Failed: 0 test(s), Passed: 86 test(s), 

Re: [Pharo-project] Preparing image for deployment [WAS: How to disable development tools on Pharo 1.3]

2012-03-15 Thread Esteban Lorenzano
Hi,

Sorry... I'm just catching up with this. 
I have to say that WorldSwitch package was not thought as a definitive package, 
but if  is useful, I have already some other updates :)
...I didn't test it on pharo 1.4 yet, so I don't know how it is working there. 

Now, your error looks more like a Nautilus error than one from WorldSwitch... 
could you be more specific? Also, buttons are disabled (yellow or red) in a 
really hacky way (overriding methods)... maybe your version still does not 
works, I will commit my latest tonight. 

I insist: this is just a collection of things I did for placing a program in 
production, for a customer. I'm not claiming it is right and finished... and a 
better design solution should be present on Pharo in the future, IMHO :)

best,
Esteban


El 07/03/2012, a las 2:37p.m., Usman Bhatti escribió:

 Hello all,
 
 Esteban, I took up the package for preparing a deployment image and I am 
 testing it..
 It works fine for blocking access to the development tools and debugger...
 I placed the package in the ss3 repo here:
 http://ss3.gemstone.com/ss/PrepareImageDeployment (you're one of the admins).
 
 Two things where I need help:
 
 1. How do we disable the right-click menu (yellow-button menu) in a text 
 editor?
 
 2. While running deployment preparation code, I have a problem with cleaning 
 monticello repositories... there is a KeyNotFound problem with TAddTest  
 the process stops at this error. I have tried debugging it but couldn't find 
 any clues; and the blockage of developers tools does not help much...
 I am attaching a screenshot of the problem, may be somebody has an idea...
 thanx in advance,
 usman
 Screen shot 2012-03-07 at 6.16.23 PM.png
 
 
 On Thu, Feb 2, 2012 at 2:32 PM, Esteban Lorenzano esteba...@gmail.com wrote:
 Hi Noury,
 
 I packaged what I have. And even create a settings configuration for it 
 (under Deployment category).
 Notice that is very hacky and ugly and needs a lot (and I mean A LOT) of 
 polish... but is a start :)
 
 see WSSettings class#setDeployment: for a start.
 
 
 
 
 best,
 Esteban
 
 El 02/02/2012, a las 6:40a.m., Noury Bouraqadi escribió:
 
  Hi Esteban,
 
  On 31 janv. 2012, at 14:23, Esteban Lorenzano wrote:
 
  Hi,
 
  in fact, what Mariano posted is just a part... disable everything is 
  complicated, because code is everywhere... I'm collection all of this 
  changes in a package, to see in advance if it is possible to abstract that.
 
  Thanks Esteban!
  Do you have a version of this package already?
  Otherwise, I'll start packaging what Mariano sent.
 
 
  Ideally, we should have a preference Disable Development Mode, or 
  something like that to allow desktop developers to easily switch...
 
  Yes. We should have a menu for this. It's part of dev tools.
  It's a shame that this critical feature isn't available yet.
 
  Noury
 
  best,
  Esteban
 
  El 31/01/2012, a las 10:16a.m., Ben Coman escribió:
 
  Noury Bouraqadi wrote:
  I remember having seen some time in the past a menu that allows to 
  shrink the image and disable the world menu.
  But, I can't retrieve any thing related. I don't care about the menu per 
  se. I'd be happy with a message to send to some object that does the job.
 
 
  Noury
  --
  http://twitter.com/#!/NouryBouraqadi
  http://www.kroobe.com/profile/noury
 
 
  Squeak 3.9 based, but perhaps something useful...
  Prepare For Application Deployment 
  http://squeak.preeminent.org/tut2007/html/205.html
 
 
 
 
 
  Noury
  --
  http://twitter.com/#!/NouryBouraqadi
  http://www.kroobe.com/profile/noury
 
 
  Afin de contribuer au respect de l'environnement,
  merci de n'imprimer ce courriel qu'en cas de necessite
 
  Please consider the environment before you print
 
 
 
 
 
 
 



[Pharo-project] [update 1.4] #14390

2012-03-15 Thread Marcus Denker
14390
-

I
Issue 5473: Auto accept and update lists in MCWorkingCopyBrowser and 
MCFileRepositoryVersionInspectorBrowser2
http://code.google.com/p/pharo/issues/detail?id=5473
--
Marcus Denker -- http://marcusdenker.de




[Pharo-project] quick methods and the method call stack

2012-03-15 Thread Alexandre Bergel
Hi!

Can someone confirm or infirm the following: A quick method (ie. the compiled 
methods answer true to the message isQuick) is executed without creating a 
stack frame. Is that true?

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








Re: [Pharo-project] Three presentations at Dyncon 2012 in Stockholm

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 2:39 PM, Göran Krampe wrote:

 Hey fellas!
 
 Just wanted to mention that Smalltalk and Amber in particular has a fairly 
 strong presence this year at Dyncon 2012 (http://swdc.se/dyncon2012/):
 
 - I am presenting Brave new world (the architecture of SmalltalkHub, which 
 includes Amber, Phriak, Pharo, Seaside-REST etc) (see 
 http://swdc.se/dyncon2012/sessions/)
 
 - Nicolas is presenting Amber.
 
 - Jason Ayers is probably presenting something Smalltalk related :)
 

I added this as news to the ESUG website:

http://esug.org/


--
Marcus Denker -- http://marcusdenker.de




[Pharo-project] Something is wrong with the CI server

2012-03-15 Thread Pavel Krivanek
Hi,

is CI server working well? Jobs seem to be at least two times slower
and some were running over whole night. I see no problem with the 1.4
image nor VM.

-- Pavel



[Pharo-project] [update 1.4] #14391

2012-03-15 Thread Marcus Denker
14391
-

Issue 5480: Remove a method in PluggableIconListMorph
http://code.google.com/p/pharo/issues/detail?id=5480
Issue 5471: extend time for shouldntTakeLong:
http://code.google.com/p/pharo/issues/detail?id=5471
Issue 5456: ClassBuilder depends on Text
http://code.google.com/p/pharo/issues/detail?id=5456

--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] Gettext package, who?

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 2:27 PM, Hilaire Fernandes wrote:

 Who is maintaining the Gettext package?
 I remember someone volunteer to take over but I forgot who and where.
 I have a few fixes to get the gettext package working with 1.4, at least
 the exporter.
 

Another question: There are the remnants of the system left (#translated)
that we used in Squeak 3.9...

it might make sense to think about making gettext the default
tranlation infrastructure?

Marcus


--
Marcus Denker -- http://marcusdenker.de




[Pharo-project] Pharo 1.4 Tests-Unix vs. Pharo Kernel Reload Tests-Unix

2012-03-15 Thread Pavel Krivanek
Hi,

good news. We have got the same amount of test failures in th job
Pharo Kernel Reload Tests-Unix as in the job Pharo 1.4 Tests-Unix

https://ci.lille.inria.fr/pharo/view/Pharo%201.4/job/Pharo%201.4%20Tests-Unix/285/testReport/
https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%20Reload%20Tests-Unix/9/testReport/

On the other had, they differ in one failing job. For the standard
Pharo the test named Tests.Monticello.MCFileInTest.testStWriter is
always failing but on reloaded Pharo this tests almost never fails
(sometimes yes).

For reloaded Pharo, the test named
Tests.Monticello.MCStWriterTest.testMethodDefinitionWithBangs is
failing. The reason is in empty string when you get some timeStamps:

(MCStWriterTest  #methodWithBangs) timeStamp.

When I load the Tests package again, it works well.

-- Pavel



Re: [Pharo-project] Something is wrong with the CI server

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 3:11 PM, Pavel Krivanek wrote:

 Hi,
 
 is CI server working well? Jobs seem to be at least two times slower
 and some were running over whole night. I see no problem with the 1.4
 image nor VM.


Yes, there is some problem and no, I have no idea yet what it is.

Marcus

--
Marcus Denker -- http://marcusdenker.de




[Pharo-project] Pharo Kernel Reload Tests-Unix - Build # 8 - Still unstable!

2012-03-15 Thread jenkins-pharo . ci . inria . fr
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%20Kernel%20Reload%20Tests-Unix/8/Project:Pharo Kernel Reload Tests-UnixDate of build:Thu, 15 Mar 2012 10:35:34 +0100Build duration:6 mn 26 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 0 test(s), Passed: 578 test(s), Skipped: 0 test(s), Total: 578 test(s)Name: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name: KernelTests.Objects Failed: 0 test(s), 

[Pharo-project] broken gettext package in 1.4

2012-03-15 Thread Hilaire Fernandes
I have this code below from Gettext package becoming broken with latest
Ring Pharo 1.4 package.

Can someone with the appropriate knowledge help me there?

Problem occurs at (Smalltalk at: methodReference classSymbol)

methodReference is a RGMethodDefinition


Enclosed PharoDebug.log

appendStringReceivers: aSymbol into: domains
| literals references domainName methodReference keywords found |

found := TranslatedReceiverFinder new stringReceiversWithContext: 
aSymbol.
found do: [ :assoc |
methodReference := assoc key.
keywords := assoc value.
domainName := self getTextDomainForClassCategory:
(Smalltalk at: methodReference classSymbol) category.
literals := domains at: domainName ifAbsentPut: [Dictionary 
new].
keywords do: [ :literal |
references := literals at: literal ifAbsentPut: 
[OrderedCollection new].
references add: methodReference.
].
].



-- 
Dr. Geo -- http://www.drgeo.eu
THERE_BE_DRAGONS_HERE
KeyNotFound: key #'AbstractFont class' not found in SystemDictionary
14 March 2012 9:41:29 pm

VM: unix - i686 - linux - nil, nil, nil
Image: Pharo1.4a [Latest update: #14367]

SystemDictionary(Dictionary)errorKeyNotFound:
	Receiver: a SystemDictionary(lots of globals)
	Arguments and temporary variables: 
		aKey: 	#'AbstractFont class'
	Receiver's instance variables: 
		tally: 	2526
		array: 	an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc...
		cachedClassNames: 	an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc...
		cachedNonClassNames: 	an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc...


[self errorKeyNotFound: key] in SystemDictionary(Dictionary)at:
	Receiver: a SystemDictionary(lots of globals)
	Arguments and temporary variables: 
		key: 	#'AbstractFont class'
	Receiver's instance variables: 
		tally: 	2526
		array: 	an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc...
		cachedClassNames: 	an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc...
		cachedNonClassNames: 	an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc...


SystemDictionary(Dictionary)at:ifAbsent:
	Receiver: a SystemDictionary(lots of globals)
	Arguments and temporary variables: 
		key: 	#'AbstractFont class'
		aBlock: 	[self errorKeyNotFound: key]
		assoc: 	nil
	Receiver's instance variables: 
		tally: 	2526
		array: 	an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc...
		cachedClassNames: 	an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc...
		cachedNonClassNames: 	an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc...


SystemDictionary(Dictionary)at:
	Receiver: a SystemDictionary(lots of globals)
	Arguments and temporary variables: 
		key: 	#'AbstractFont class'
	Receiver's instance variables: 
		tally: 	2526
		array: 	an Array(nil nil #KoreanEnvironment-KoreanEnvironment #MultiCharacterSc...etc...
		cachedClassNames: 	an OrderedCollection(#AColorSelectorMorph #Abort #AboutDialog...etc...
		cachedNonClassNames: 	an OrderedCollection(#ActiveEvent #ActiveHand #ActiveWorld...etc...


SmalltalkImageat:
	Receiver: Smalltalk
	Arguments and temporary variables: 
		aKey: 	#'AbstractFont class'
	Receiver's instance variables: 
		globals: 	a SystemDictionary(lots of globals)
		deferredStartupActions: 	nil


[:assoc | 
methodReference := assoc key.
	keywords := assoc value.
	domainName := self getTextDomainForClassCategory: (Smalltalk at: methodReference classSymbol) category.
	literals := domains
at: domainName
ifAbsentPut: [Dictionary new].
	keywords
		do: [:literal | 
			references := literals
		at: literal
		ifAbsentPut: [OrderedCollection new].
			references add: methodReference]] in GetTextExporterappendStringReceivers:into:
	Receiver: a GetTextExporter
	Arguments and temporary variables: 
error during printing
	Receiver's instance variables: 
		stream: 	nil


OrderedCollectiondo:
	Receiver: an OrderedCollection(AbstractFont classemphasisStringFor:-an OrderedCollection('Italic'...etc...
	Arguments and temporary variables: 
		aBlock: 	[:assoc | 
methodReference := assoc key.
	keywords := assoc value.
	dom...etc...
		index: 	1
	Receiver's instance variables: 
		array: 	an Array(AbstractFont classemphasisStringFor:-an OrderedCollection('I...etc...
		firstIndex: 	1
		lastIndex: 	659


GetTextExporterappendStringReceivers:into:
	Receiver: a GetTextExporter
	Arguments and temporary variables: 
error during printing
	Receiver's instance variables: 
		stream: 	nil


GetTextExporterappendTranslations:
	Receiver: a GetTextExporter
	Arguments and temporary variables: 
		domains: 	a Dictionary()
	Receiver's instance variables: 
		stream: 	nil


GetTextExporterexportTranslator:
	Receiver: a GetTextExporter
	Arguments and temporary variables: 
		

Re: [Pharo-project] Gettext package, who?

2012-03-15 Thread Esteban Lorenzano
+1 

El 15/03/2012, a las 11:12a.m., Marcus Denker escribió:

 
 On Mar 15, 2012, at 2:27 PM, Hilaire Fernandes wrote:
 
 Who is maintaining the Gettext package?
 I remember someone volunteer to take over but I forgot who and where.
 I have a few fixes to get the gettext package working with 1.4, at least
 the exporter.
 
 
 Another question: There are the remnants of the system left (#translated)
 that we used in Squeak 3.9...
 
 it might make sense to think about making gettext the default
 tranlation infrastructure?
 
   Marcus
 
 
 --
 Marcus Denker -- http://marcusdenker.de
 
 




Re: [Pharo-project] SystemTracer

2012-03-15 Thread Guillermo Polito
Hi Eliot,

do you have a pointer of where can I see the differences between the old
Squeak format and the cog image format, so I can make SystemTracer work on
Cog vms?

Thanks,
Guille

On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote:

 On Thu, 27 Jan 2011, Benjamin wrote:

  It works for  PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only
 version where it works :S

 Does someone know why ?


 It doesn't support Cog's image format. Try an image with the original
 Squeak format. You can convert your image with the latest SqueakVM. Only
 the unix VM was released with this feature yet, so you can use that
 http://squeakvm.org/unix/ or build a VM for your favorite platform.


 Levente




 Thanks,

 Ben

 On Jan 27, 2011, at 3:36 PM, Benjamin wrote:

  Hello guys,

 for one of my projects, I'm trying to use SystemTracer to create  anew
 image, but it appears that it doesn't work on Pharo ...
 I can create a new image, but I can't open it. I've tried with an older
 VM (Squeak 3.8.18beta1U), but it's the same ...


 Did someone already have this problem ? Does someone have a solution ?



 Thanks in advance,

 Ben







Re: [Pharo-project] Pharo 1.4 Tests-Unix vs. Pharo Kernel Reload Tests-Unix

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 3:13 PM, Pavel Krivanek wrote:

 Hi,
 
 good news. We have got the same amount of test failures in th job
 Pharo Kernel Reload Tests-Unix as in the job Pharo 1.4 Tests-Unix
 
 https://ci.lille.inria.fr/pharo/view/Pharo%201.4/job/Pharo%201.4%20Tests-Unix/285/testReport/
 https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%20Reload%20Tests-Unix/9/testReport/
 
 On the other had, they differ in one failing job. For the standard
 Pharo the test named Tests.Monticello.MCFileInTest.testStWriter is
 always failing but on reloaded Pharo this tests almost never fails
 (sometimes yes).
 
 For reloaded Pharo, the test named
 Tests.Monticello.MCStWriterTest.testMethodDefinitionWithBangs is
 failing. The reason is in empty string when you get some timeStamps:
 
 (MCStWriterTest  #methodWithBangs) timeStamp.
 
 When I load the Tests package again, it works well.
 
We need to get the tests green...



--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] Gettext package, who?

2012-03-15 Thread Hilaire Fernandes
Le 15/03/2012 15:12, Marcus Denker a écrit :
 Another question: There are the remnants of the system left (#translated)
 that we used in Squeak 3.9...
 
 it might make sense to think about making gettext the default
 tranlation infrastructure?
 


It is by the fact the case, no. So I guess this remnants can be removed.

In parallel, the gettext lookup at runtime of the message catalog could
be optimized. It was done for Etoys. May be not top priority has the
impact is light anyway.

As for now, I publish my changes to the gettext package in
PharoNonCorePackages

Hilaire


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




Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Igor Stasenko
On 13 March 2012 08:54, Torsten Bergmann asta...@gmx.de wrote:
Thanks Igor.
Guys can you try and report if you have problems?

 Yes, thanks Igor,

 How can I see if this release integrates Eliots latest
 fixes for Cog?

use  Smalltalk vm version.

then you can check the version history.

 Thx
 T.
 --
 Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
 belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de




-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Stéphane Ducasse
Good catch
We should move them close to MultiCompositionScanner

Stef

On Mar 14, 2012, at 3:14 PM, Guillermo Polito wrote:

 - 
 MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide:
 
 depends on TextLine which is packaged as Morphic-Text Support
 
 - MultiCompositionScannersetFont
 
 depends on TextComposer which is packaged as Morphic-Text Support also
 
 http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475
 
 Guille




Re: [Pharo-project] LanguageEnvironment depending on Network stuff

2012-03-15 Thread Stéphane Ducasse
I would also removed the thibetan environment.

Stef


 Do we want this dependency?
 
 LanguageEnvironmentfontDownload
   (Locale isoLanguage: 'ja') languageEnvironment fontDownload
   
   (FileDirectory default fileExists: self fontFullName)
   ifTrue: [^ self].
   Cursor read
   showWhile: [self fontDownloadUrls
   do: [:each | [ | contents f |contents := (each 
 , '/' , self fontFileName) asUrl retrieveContents contents.
   (contents first: 2)
   = 'PK'
   ifTrue: [f := FileStream 
 newFileNamed: self fontFullName.
   f binary.
   [f nextPutAll: contents]
   ensure: [f 
 close].
   ^ self]]
   on: NameLookupFailure
   do: [:e | e]]].
   self error: 'Fonts does not found (' , self fontFullName , ')'
 
 
 
 http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668




[Pharo-project] Grouping of Tools?

2012-03-15 Thread Friedrich Dominicus
I wonder if one can get Pharo to group the tools e.g the Workspace on
one tab, Browsers on another etc.

Any suggestions?

Regards
Friedrich


-- 
Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim 
Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus



Re: [Pharo-project] CodeLoaderstartUp: installing World?

2012-03-15 Thread Stéphane Ducasse

On Mar 14, 2012, at 3:08 PM, Guillermo Polito wrote:

 CodeLoader classstartUp: resuming
 resuming ifTrue: [
 World ifNotNil: [World install. ActiveHand position: 100@100].
 self processUpdates.
 ].
 
 
 Is this method ok in this class?  I'd expect for
 
 World ifNotNil: [World install. ActiveHand position: 100@100].
 
 to be on PasteUpMorph or so…

Yes me too.
To be fixed.

 
 Guille




Re: [Pharo-project] Unicode depending on Zinc

2012-03-15 Thread Guillermo Polito
What about changing the initialize via a request to a method with the
data?  I don't think Unicode case mappings will change too much in time
:P...

Something like the attach

Guille

On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito 
guillermopol...@gmail.com wrote:

 Hi,

 Does this method make sense? (Do we want Unicode to update itself?)

 Unicode classinitializeCaseMappings
 Unicode initializeCaseMappings
 ToCasefold := IdentityDictionary new.
 ToUpper := IdentityDictionary new.
 ToLower := IdentityDictionary new.
 UIManager default informUserDuring: [ :bar| | result |
 bar value: 'Downloading Unicode data'.
 (result := ZnClient get: '
 http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess
 ifFalse: [ ^ self error: 'Download failed' ].
 bar value: 'Updating Case Mappings'.
 self parseCaseMappingFrom: result contents readStream ].

 Guille



Unicode class-initializeCaseMapping.st
Description: Binary data


Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 4:18 PM, Stéphane Ducasse wrote:

 Good catch
 We should move them close to MultiCompositionScanner
 

Yes, in general the structure of the system is ad-hoc. e.g. the whole Multi-* 
changes should be folded into
the classes that they extend (or at least be moved close).

Other: Canvas is in Morphic, it's not clear where text support should be.. and 
lots more.

 Stef
 
 On Mar 14, 2012, at 3:14 PM, Guillermo Polito wrote:
 
 - 
 MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide:
 
 depends on TextLine which is packaged as Morphic-Text Support
 
 - MultiCompositionScannersetFont
 
 depends on TextComposer which is packaged as Morphic-Text Support also
 
 http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475
 
 Guille
 
 

--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] Methods depending on Ring

2012-03-15 Thread Stéphane Ducasse

On Mar 14, 2012, at 3:59 PM, Guillermo Polito wrote:

 Hi!
 
 All these methods use RGMethodDefinition or RGCommentDefinition:
 
 CompiledMethodmethodReference 
 ClassDescriptionmethodReferencesInCategory: 
 SystemNavigationallMethodsWithSourceString:matchCase: 
 SystemNavigationcreateMethodNamed:realParent: 
 SystemNavigationallCallsOn:localTo: 
 TTransformationCompatibilitycollectMethodsFor:into: 
 TraitDescriptioncollectMethodsFor:into: 
 TraitDescriptionmethodReferencesInCategory: 
 TClassAndTraitDescriptionmethodReferencesInCategory: 
 TraitExclusionmethodReferencesInCategory:
 
 Is this ok?  Because of them Ring is not unloadable...
 
 Are really CompiledMethod polymorphic with RGMethodDefinitions?
 
 Because if true maybe we can have in kernel
 
 CompiledMethodmethodReference
 ^self
 
 And let Ring override it.  or not?

I would call it methodDefinition and yes it would be good to be able to unload 
Ring.
Thanks for trying. 

The problem is that before a lot of these references were referencing 
MethodReference.

Stef





Re: [Pharo-project] Unicode depending on Zinc

2012-03-15 Thread Guillermo Polito
Of course with a nice comment saying something like:

Initialize the mappings from unicode lower to upper case and vice versa.
sourceCodes and destinyCodes contains the unicode values for the mappings,
and they match one by one.
The source of this mapping can be found at:
http://www.unicode.org/Public/UNIDATA/CaseFolding.txt' 

On Thu, Mar 15, 2012 at 12:22 PM, Guillermo Polito 
guillermopol...@gmail.com wrote:

 What about changing the initialize via a request to a method with the
 data?  I don't think Unicode case mappings will change too much in time
 :P...

 Something like the attach

 Guille


 On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:

 Hi,

 Does this method make sense? (Do we want Unicode to update itself?)

 Unicode classinitializeCaseMappings
 Unicode initializeCaseMappings
 ToCasefold := IdentityDictionary new.
 ToUpper := IdentityDictionary new.
 ToLower := IdentityDictionary new.
 UIManager default informUserDuring: [ :bar| | result |
 bar value: 'Downloading Unicode data'.
 (result := ZnClient get: '
 http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess
 ifFalse: [ ^ self error: 'Download failed' ].
 bar value: 'Updating Case Mappings'.
 self parseCaseMappingFrom: result contents readStream ].

 Guille





Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Stéphane Ducasse
 
 
 Good catch
 We should move them close to MultiCompositionScanner
 
 
 Yes, in general the structure of the system is ad-hoc. e.g. the whole Multi-* 
 changes should be folded into
 the classes that they extend (or at least be moved close).
 
 Other: Canvas is in Morphic,

it should not :)

 it's not clear where text support should be.. and lots more.

yes but no stress one by one and we will get better.




Re: [Pharo-project] Unicode depending on Zinc

2012-03-15 Thread Stéphane Ducasse
Add a bug entry :)

Stef

On Mar 15, 2012, at 4:22 PM, Guillermo Polito wrote:

 What about changing the initialize via a request to a method with the data?  
 I don't think Unicode case mappings will change too much in time :P...
 
 Something like the attach
 
 Guille
 
 On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:
 Hi,
 
 Does this method make sense? (Do we want Unicode to update itself?)
 
 Unicode classinitializeCaseMappings
 Unicode initializeCaseMappings
 ToCasefold := IdentityDictionary new.
 ToUpper := IdentityDictionary new.
 ToLower := IdentityDictionary new.
 UIManager default informUserDuring: [ :bar| | result |
 bar value: 'Downloading Unicode data'.
 (result := ZnClient get: 
 'http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess
 ifFalse: [ ^ self error: 'Download failed' ].
 bar value: 'Updating Case Mappings'.
 self parseCaseMappingFrom: result contents readStream ].
 
 Guille
 
 Unicode class-initializeCaseMapping.st




Re: [Pharo-project] LanguageEnvironment depending on Network stuff

2012-03-15 Thread Guillermo Polito
In kernel we have

-Greek
-Japanese
-Korean
-Latin1
-Latin2
-Latin9
-Nepalese
-Russian
-SimplifiedChinese

Dunno if all are needed in the kernel, or if they should be added as extra
packages for those who wants them...

On Thu, Mar 15, 2012 at 12:18 PM, Stéphane Ducasse 
stephane.duca...@inria.fr wrote:

 I would also removed the thibetan environment.

 Stef


  Do we want this dependency?
 
  LanguageEnvironmentfontDownload
(Locale isoLanguage: 'ja') languageEnvironment fontDownload
 
(FileDirectory default fileExists: self fontFullName)
ifTrue: [^ self].
Cursor read
showWhile: [self fontDownloadUrls
do: [:each | [ | contents f |contents :=
 (each , '/' , self fontFileName) asUrl retrieveContents contents.
(contents first: 2)
= 'PK'
ifTrue: [f := FileStream
 newFileNamed: self fontFullName.
f binary.
[f nextPutAll:
 contents]
ensure: [f
 close].
^ self]]
on: NameLookupFailure
do: [:e | e]]].
self error: 'Fonts does not found (' , self fontFullName , ')'
 
 
 
 
 http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668





Re: [Pharo-project] Unicode depending on Zinc

2012-03-15 Thread Guillermo Polito
goes! :)
http://code.google.com/p/pharo/issues/detail?id=5484thanks=5484ts=1331825769

On Thu, Mar 15, 2012 at 12:29 PM, Stéphane Ducasse 
stephane.duca...@inria.fr wrote:

 Add a bug entry :)

 Stef

 On Mar 15, 2012, at 4:22 PM, Guillermo Polito wrote:

  What about changing the initialize via a request to a method with the
 data?  I don't think Unicode case mappings will change too much in time
 :P...
 
  Something like the attach
 
  Guille
 
  On Wed, Mar 14, 2012 at 12:06 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:
  Hi,
 
  Does this method make sense? (Do we want Unicode to update itself?)
 
  Unicode classinitializeCaseMappings
  Unicode initializeCaseMappings
  ToCasefold := IdentityDictionary new.
  ToUpper := IdentityDictionary new.
  ToLower := IdentityDictionary new.
  UIManager default informUserDuring: [ :bar| | result |
  bar value: 'Downloading Unicode data'.
  (result := ZnClient get: '
 http://www.unicode.org/Public/UNIDATA/CaseFolding.txt') isSuccess
  ifFalse: [ ^ self error: 'Download failed' ].
  bar value: 'Updating Case Mappings'.
  self parseCaseMappingFrom: result contents readStream ].
 
  Guille
 
  Unicode class-initializeCaseMapping.st





Re: [Pharo-project] Unicode depending on Zinc

2012-03-15 Thread Sven Van Caekenberghe
Hi Guillermo,

On 15 Mar 2012, at 16:25, Guillermo Polito wrote:

 Of course with a nice comment saying something like:
 
 Initialize the mappings from unicode lower to upper case and vice versa.  
 sourceCodes and destinyCodes contains the unicode values for the mappings, 
 and they match one by one.  
 The source of this mapping can be found at: 
 http://www.unicode.org/Public/UNIDATA/CaseFolding.txt' 

Have a look at what I did with 
http://code.google.com/p/pharo/issues/detail?id=4187

The spec tables are constants, like in your latest example, but I added a 
method that can generate these from an internet accessible resource (using Zn 
as HTTP client). That way, there is some kind of dependency, but not really at 
run time. I think it is cool to literally use these public spec documents.

Sven



smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-project] Socket listenOn: 0 accept

2012-03-15 Thread Sven Van Caekenberghe
Can anyone please help me and show me where I should look if I wanted to see 
the exact C code implementing the socket primitives (for the Pharo built Cog 
VMs) ?

On 09 Mar 2012, at 16:44, Sven Van Caekenberghe wrote:

 Most socket API's allow for the creation of a server socket on the next 
 available port, often by specifying 0 instead of a port. When the socket is 
 bound, one can retrieve the local port and let the client(s) know. I tried to 
 do that in Pharo today, and these steps seem to work, by accepting an 
 incoming connection gives a primitive failed.
 
 Anyone tried this ?
 
 | socket |
 socket := Socket newTCP.
 socket listenOn: 0.
 [ [
   Transcript crShow: 'Port is ', socket localPort printString.
   (socket waitForAcceptFor: 60)
   ifNotNil: [ :client | | data |
   data := client receiveDataTimeout: 30.
   Transcript crShow: 'Received ', data asString.
   data ifNotNil: [ client sendData: data reverse; close ]
   ].
   ] ensure: [ socket close ] ] fork.
 
 I am running the Pharo Cog VM on Mac OS X using Pharo 1.4.
 
 Thx,
 
 Sven
 



smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Guillermo Polito
On Wed, Mar 14, 2012 at 11:14 AM, Guillermo Polito 
guillermopol...@gmail.com wrote:

 *-
 MultiCompositionScannercomposeFrom:inRectangle:firstLine:leftSide:rightSide:
 *

 depends on TextLine which is packaged as Morphic-Text Support


TextLine seems that can be safely moved along with MultiCompositionScanner.



 - *MultiCompositionScannersetFont*

 depends on TextComposer which is packaged as Morphic-Text Support also


This dependency is only for this method:

TextComposer classcharacterForColumnBreak

^Character value: 12

But if this method is so used by the scanner, then we can move it to the
scanner and revert the dependency :)




 http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475

 Guille



Re: [Pharo-project] LanguageEnvironment depending on Network stuff

2012-03-15 Thread Stéphane Ducasse

On Mar 15, 2012, at 4:32 PM, Guillermo Polito wrote:

 In kernel we have
 
 -Greek
 -Japanese
 -Korean
 -Latin1
 -Latin2
 -Latin9
 -Nepalese
 -Russian
 -SimplifiedChinese
 
 Dunno if all are needed in the kernel, or if they should be added as extra 
 packages for those who wants them…

probably nepalese can be out :)
Since I guess that it also have links to other 


 
 On Thu, Mar 15, 2012 at 12:18 PM, Stéphane Ducasse 
 stephane.duca...@inria.fr wrote:
 I would also removed the thibetan environment.
 
 Stef
 
 
  Do we want this dependency?
 
  LanguageEnvironmentfontDownload
(Locale isoLanguage: 'ja') languageEnvironment fontDownload
 
(FileDirectory default fileExists: self fontFullName)
ifTrue: [^ self].
Cursor read
showWhile: [self fontDownloadUrls
do: [:each | [ | contents f |contents := 
  (each , '/' , self fontFileName) asUrl retrieveContents contents.
(contents first: 2)
= 'PK'
ifTrue: [f := FileStream 
  newFileNamed: self fontFullName.
f binary.
[f nextPutAll: 
  contents]
ensure: [f 
  close].
^ self]]
on: NameLookupFailure
do: [:e | e]]].
self error: 'Fonts does not found (' , self fontFullName , ')'
 
 
 
  http://code.google.com/p/pharo/issues/detail?id=5479thanks=5479ts=1331734668
 
 
 




Re: [Pharo-project] broken gettext package in 1.4

2012-03-15 Thread Stéphane Ducasse

On Mar 14, 2012, at 9:43 PM, Hilaire Fernandes wrote:

 I have this code below from Gettext package becoming broken with latest
 Ring Pharo 1.4 package.
 
 Can someone with the appropriate knowledge help me there?
 
 Problem occurs at (Smalltalk at: methodReference classSymbol)
 
 methodReference is a RGMethodDefinition
 
 
 Enclosed PharoDebug.log
 
 appendStringReceivers: aSymbol into: domains
   | literals references domainName methodReference keywords found |
   
   found := TranslatedReceiverFinder new stringReceiversWithContext: 
 aSymbol.
   found do: [ :assoc |
   methodReference := assoc key.
   keywords := assoc value.
   domainName := self getTextDomainForClassCategory:
   (Smalltalk at: methodReference classSymbol) category.

methodReference realClass category?


   literals := domains at: domainName ifAbsentPut: [Dictionary 
 new].
   keywords do: [ :literal |
   references := literals at: literal ifAbsentPut: 
 [OrderedCollection new].
   references add: methodReference.
   ].
   ].
 
 
 
 -- 
 Dr. Geo -- http://www.drgeo.eu
 PharoDebug.log




Re: [Pharo-project] Pharo 1.4 Tests-Unix vs. Pharo Kernel Reload Tests-Unix

2012-03-15 Thread Stéphane Ducasse
I will have a look.


 (MCStWriterTest  #methodWithBangs) timeStamp.




Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Stéphane Ducasse
 
 TextLine seems that can be safely moved along with MultiCompositionScanner.

good!

  
 
 - MultiCompositionScannersetFont
 
 depends on TextComposer which is packaged as Morphic-Text Support also
 
 This dependency is only for this method:
 
 TextComposer classcharacterForColumnBreak
 
 ^Character value: 12

I do not get it. because Character is not in Morphic 


 But if this method is so used by the scanner, then we can move it to the 
 scanner and revert the dependency :)
  
 
 http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475
 
 Guille
 




[Pharo-project] Download links for 1.3 stable are down

2012-03-15 Thread Alex Schenkman
Just to let you know that the download links for Pharo-1.3 stable are down.
Both the image and the one-click.

Thanks!


Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Igor Stasenko
we should fix that.
Please give me details
 - url to image
 - code to execute.

so i can try.

On 13 March 2012 15:18, Tudor Girba tu...@tudorgirba.com wrote:
 Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522)

 Cheers,
 Doru

 On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote:
 Hi,

 I just tried it and it crashed :(.

 Here is what I did:
 - I took the Moose image
 - it started fine, and seem to be responsive
 - I then loaded code in it using a configuration
 - while loading, it crashed

 I attach here the crash.dmp file. I cannot provide the actual code
 because it is proprietary. I will try to reproduce the problem in more
 available settings.

 Cheers,
 Doru


 On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote:
Thanks Igor.
Guys can you try and report if you have problems?

 Yes, thanks Igor,

 How can I see if this release integrates Eliots latest
 fixes for Cog?

 Thx
 T.
 --
 Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
 belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de




 --
 www.tudorgirba.com

 Every thing has its own flow



 --
 www.tudorgirba.com

 Every thing has its own flow




-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] Download links for 1.3 stable are down

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 5:19 PM, Alex Schenkman wrote:

 Just to let you know that the download links for Pharo-1.3 stable are down.
 Both the image and the one-click.
 

I checked and it works for me...

--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Guillermo Polito
MultiCompositionScannersetFont uses
TextComposercharacterForColumnBreak...

What I do suggest is to move #characterForColumnBreak to the scanner (or
make the scanner know its composer instead of hardcoding the reference).

But since I don't really know these classes I'm totally blind :/


On Thu, Mar 15, 2012 at 1:04 PM, Stéphane Ducasse stephane.duca...@inria.fr
 wrote:

 
  TextLine seems that can be safely moved along with
 MultiCompositionScanner.

 good!

 
 
  - MultiCompositionScannersetFont
 
  depends on TextComposer which is packaged as Morphic-Text Support also
 
  This dependency is only for this method:
 
  TextComposer classcharacterForColumnBreak
 
  ^Character value: 12

 I do not get it. because Character is not in Morphic


  But if this method is so used by the scanner, then we can move it to the
 scanner and revert the dependency :)
 
 
 
 http://code.google.com/p/pharo/issues/detail?id=5478thanks=5478ts=1331734475
 
  Guille
 





Re: [Pharo-project] broken gettext package in 1.4

2012-03-15 Thread Hilaire Fernandes
Le 15/03/2012 16:58, Stéphane Ducasse a écrit :
  keywords := assoc value.
 domainName := self getTextDomainForClassCategory:
 (Smalltalk at: methodReference classSymbol) category.
   methodReference realClass category?
 
 


Yes something like that plus some other changes. I already forgot what I
did change.

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




Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Igor Stasenko
Hey, composition scanners and display scanners should not belong to Kernel.
they should be either in graphics package or in morphic itself.

Why we moved this stuff to kernel?

-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote:

 Hey, composition scanners and display scanners should not belong to Kernel.
 they should be either in graphics package or in morphic itself.
 
 Why we moved this stuff to kernel?


Nobody moved... they where always there. It's a mess of epic proportion, our 
whole code base.

Marcus


--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Guillermo Polito
On Thu, Mar 15, 2012 at 1:34 PM, Marcus Denker marcus.den...@inria.frwrote:


 On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote:

  Hey, composition scanners and display scanners should not belong to
 Kernel.
  they should be either in graphics package or in morphic itself.
 
  Why we moved this stuff to kernel?


:3

Actually CompositionScanner belong to Graphics, I was puzzled about that
too.

I'll post a slice in the inbox :)




 Nobody moved... they where always there. It's a mess of epic proportion,
 our whole code base.

Marcus


 --
 Marcus Denker -- http://marcusdenker.de





[Pharo-project] Pharo Conf has now a web site :)

2012-03-15 Thread Stéphane Ducasse
Please distribute the call
http://rmod.lille.inria.fr/web/pier/Events

We will have fun.

Stef



Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Stéphane Ducasse
Thanks igor.
This is important.



 we should fix that.
 Please give me details
 - url to image
 - code to execute.
 
 so i can try.




Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Stéphane Ducasse
Igor 

I would not put it in Morphic.
Now it depends which kernel we are talking about. Because may be text should be 
a large kernel.

Stef


On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote:

 Hey, composition scanners and display scanners should not belong to Kernel.
 they should be either in graphics package or in morphic itself.
 
 Why we moved this stuff to kernel?
 
 -- 
 Best regards,
 Igor Stasenko.
 




Re: [Pharo-project] Gettext package, who?

2012-03-15 Thread Stéphane Ducasse
 
 
 It is by the fact the case, no. So I guess this remnants can be removed.
 
 In parallel, the gettext lookup at runtime of the message catalog could
 be optimized. It was done for Etoys. May be not top priority has the
 impact is light anyway.
 
 As for now, I publish my changes to the gettext package in
 PharoNonCorePackages

What is the size of this package?


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




Re: [Pharo-project] Grouping of Tools?

2012-03-15 Thread Stéphane Ducasse

On Mar 13, 2012, at 11:25 AM, Friedrich Dominicus wrote:

 I wonder if one can get Pharo to group the tools e.g the Workspace on
 one tab, Browsers on another etc.
 
 Any suggestions?

did you check the TWM project?
then you have tabPanelMorph.

 
 Regards
 Friedrich
 
 
 -- 
 Q-Software Solutions GmbH; Sitz: Bruchsal; Registergericht: Mannheim 
 Registriernummer: HRB232138; Geschaeftsfuehrer: Friedrich Dominicus
 




Re: [Pharo-project] SystemTracer

2012-03-15 Thread Eliot Miranda
Hi Guillermo,

On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito 
guillermopol...@gmail.com wrote:

 Hi Eliot,

 do you have a pointer of where can I see the differences between the old
 Squeak format and the cog image format, so I can make SystemTracer work on
 Cog vms?


So the image format differences are
- floats are in platform order, not necessarily in big-endian order
- the layout of the specialObjectsArray is slightly different (documented
in recreateSpecialObjectsArray)
- there are more words in the header, see
StackInterpreterwriteImageFileIO:, i.e.

in Cog:
self putLong: self imageFormatVersion toFile: f.
self putLong: headerSize toFile: f.
self putLong: imageBytes toFile: f.
self putLong: objectMemory startOfMemory toFile: f.
self putLong: objectMemory specialObjectsOop toFile: f.
self putLong: objectMemory newObjectHash toFile: f.
self putLong: self ioScreenSize toFile: f.
self putLong: self getImageHeaderFlags toFile: f.
self putLong: extraVMMemory toFile: f.
self putShort: desiredNumStackPages toFile: f.
self putShort: self unknownShortOrCodeSizeInKs toFile: f.
self putLong: desiredEdenBytes toFile: f.
self putShort: (maxExtSemTabSizeSet ifTrue: [self ioGetMaxExtSemTableSize]
ifFalse: [0]) toFile: f.
self putShort: 0 toFile: f.
1 to: 4 do: [:i | self putLong: 0 toFile: f].  fill remaining header words
with zeros

in Interpreter:
self putLong: (self imageFormatVersion) toFile: f.
self putLong: headerSize toFile: f.
self putLong: imageBytes toFile: f.
self putLong: (self startOfMemory) toFile: f.
self putLong: specialObjectsOop toFile: f.
self putLong: lastHash toFile: f.
self putLong: (self ioScreenSize) toFile: f.
self putLong: fullScreenFlag toFile: f.
self putLong: extraVMMemory toFile: f.
1 to: 7 do: [:i | self putLong: 0 toFile: f].  fill remaining header words
with zeros

Then

getImageHeaderFlags
Answer the flags that are contained in the 7th long of the image header.
^fullScreenFlag 0 or 1
+ (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the
imageFloatsLittleEndian flag
+ (processHasThreadId ifTrue: [4] ifFalse: [0])
+ (flagInterpretedMethods ifTrue: [8] ifFalse: [0])
+ (preemptionYields ifTrue: [0] ifFalse: [16])
+ (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0])
+ (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do not
recognize

Now most of the information in the flags is accessible from vmParameterAt:
(or some convenience methods).  e.g. vm parameter 49 is the max external
semaphore table size, and vm parameter 48 is the following flags:

getCogVMFlags
Answer an array of flags indicating various properties of the Cog VM.
 Bit 0: implies the image's Process class has threadId as its 3rd inst var
(zero relative)
 Bit 1: if set, methods that are interpreted will have the flag bit set in
their header
 Bit 2: if set, implies preempting a process does not put it to the back of
its run queue
^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse: [0])
+ (flagInterpretedMethods ifTrue: [2] ifFalse: [0])
+ (preemptionYields ifTrue: [0] ifFalse: [4])
+ (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0])

Read the comment for vmParameterAt: to get things like num stack pages and
cog code size.

Is this OK?  I know it's a bit of a mess. If you or I (we?) write it up
where should we put the info?


 Thanks,
 Guille

 On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote:

 On Thu, 27 Jan 2011, Benjamin wrote:

  It works for  PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only
 version where it works :S

 Does someone know why ?


 It doesn't support Cog's image format. Try an image with the original
 Squeak format. You can convert your image with the latest SqueakVM. Only
 the unix VM was released with this feature yet, so you can use that
 http://squeakvm.org/unix/ or build a VM for your favorite platform.


 Levente




 Thanks,

 Ben

 On Jan 27, 2011, at 3:36 PM, Benjamin wrote:

  Hello guys,

 for one of my projects, I'm trying to use SystemTracer to create  anew
 image, but it appears that it doesn't work on Pharo ...
 I can create a new image, but I can't open it. I've tried with an older
 VM (Squeak 3.8.18beta1U), but it's the same ...


 Did someone already have this problem ? Does someone have a solution ?



 Thanks in advance,

 Ben








-- 
best,
Eliot


[Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Torsten Bergmann
Again the question:

How can I see if this release on Jenkins integrates Eliots 
latest fixes for Cog?

Currently Eliot is at No. 2538 
http://www.mirandabanda.org/files/Cog/VM/?C=M;O=D

Thx
T. 
-- 
NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone!  

Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a



Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Igor Stasenko
On 15 March 2012 18:24, Torsten Bergmann asta...@gmx.de wrote:
 Again the question:

 How can I see if this release on Jenkins integrates Eliots
 latest fixes for Cog?

Use
Smalltalk vm version

Eliot's vm (http://www.mirandabanda.org/files/Cog/VM/VM.r2538/Cog.app.tgz):

Smalltalk vm version

'CoInterpreter VMMaker.oscog-eem.152 uuid:
d39d62b0-45ca-4621-8f67-e3981bbe1875 Mar  3 2012,
StackToRegisterMappingCogit VMMaker.oscog-eem.148 uuid:
bb53aa60-4173-48ed-874b-dc0ff5a48992 Mar  3 2012, r2538
http://www.squeakvm.org/svn/squeak/branches/Cog'


VMs built on Jenkins
(https://ci.lille.inria.fr/pharo/view/Cog/job/Cog-Mac-Cocoa/lastSuccessfulBuild/artifact/CogVM.zip):

 'CoInterpreter VMMaker-oscog-EstebanLorenzano.139 uuid:
5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Mar 12 2012,
StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.139 uuid:
5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Mar 12 2012,
https://git.gitorious.org/cogvm/blessed.git Commit:
ca2091e70cfef485fa511935f51d8c91b1c3f185 Date: Mon Mar 12 19:07:33
2012 +0100 By: Igor Stasenko siguc...@gmail.com'

So, you have two package versions:
VMMaker.oscog-eem.152
VMMaker-oscog-EstebanLorenzano.139

and you can check a common ancestor by looking at package history in MC.
For platform sources it is merely the same: you clone sources from git
and then do
git log, look for eliot's commits.


-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] Bug in WAMemoryItemsizeOfObject

2012-03-15 Thread Eliot Miranda
Hi Niko,

the header size calculation is also wrong.  If the byte size if the
object body is  255 bytes there needs to be an additional header size
word.  So something like

   byteSizeOfBody := anObject class isBytes
   ifTrue: []
   ifFalse: [.].
   headerSize := byteSizeOfBody  255
   ifTrue: [12]
   ifFalse:
 [anObject class indexIfCompact  0
  ifTrue: [4]
  ifFalse: [8]].

On Wed, Mar 14, 2012 at 1:05 PM, niko.schw...@googlemail.com wrote:

 Hi guys,

 I haven't checked if this bug exists already, so please ignore this if
 it's been reported before.

 Bug in WAMemoryItem:

 sizeOfObject: anObject
| headerSize instanceSize variableSize |
headerSize := anObject class indexIfCompact  0
ifTrue: [ 4 ]
ifFalse: [ 8 ].
instanceSize := anObject class instSize.
variableSize := anObject class isBytes
ifTrue: [ anObject basicSize ]
ifFalse: [
anObject class isWords
ifTrue: [ Smalltalk wordSize * anObject
 basicSize ]
ifFalse: [ Smalltalk wordSize * anObject
 basicSize // 2 ] ].
^ headerSize + instanceSize + variableSize


 In this snippet, the units that are added together in the last line are of
 different units.

 instanceSize is in unit number of machine words, whereas variableSize
 and headerSize are in unit bytes.


 The method is fixed here:

 sizeOfObject: anObject
| headerSize instanceSize variableSize |
headerSize := anObject class indexIfCompact  0
ifTrue: [ 4 ]
ifFalse: [ 8 ].
instanceSize := anObject class instSize * Smalltalk wordSize.
variableSize := anObject class isBytes
ifTrue: [ anObject basicSize ]
ifFalse: [
anObject class isWords
ifTrue: [ Smalltalk wordSize * anObject
 basicSize ]
ifFalse: [ Smalltalk wordSize * anObject
 basicSize // 2 ] ].
^ headerSize + instanceSize + variableSize



 Example:

  |m|
 dict := Dictionary new.
 m := WAMemory new. dict traverseWithMemory: m seen: IdentitySet new.
 m totalSize

 This will incorrectly spit out 10, but should return 16, on a 32 bit VM.

 Niko

 --
 http://scg.unibe.ch/staff/Schwarz
 twitter.com/nes1983
 Tel: +41786126354





-- 
best,
Eliot


Re: [Pharo-project] Socket listenOn: 0 accept

2012-03-15 Thread Eliot Miranda
On Tue, Mar 13, 2012 at 4:43 AM, Sven Van Caekenberghe s...@beta9.bewrote:

 Can anyone please help me and show me where I should look if I wanted to
 see the exact C code implementing the socket primitives (for the Pharo
 built Cog VMs) ?


In trunk (and in my Cog vm source) they are in the directories

http://squeakvm.org/svn/squeak/trunk/platforms/{Cross,MacOS,unix,win32}/plugins/SocketPlugin

i.e. in all VMs locate the relevant platforms hierarchy and look
in platforms/{Cross,Mac OS,unix,win32}/plugins/SocketPlugin.


 On 09 Mar 2012, at 16:44, Sven Van Caekenberghe wrote:

  Most socket API's allow for the creation of a server socket on the next
 available port, often by specifying 0 instead of a port. When the socket is
 bound, one can retrieve the local port and let the client(s) know. I tried
 to do that in Pharo today, and these steps seem to work, by accepting an
 incoming connection gives a primitive failed.
 
  Anyone tried this ?
 
  | socket |
  socket := Socket newTCP.
  socket listenOn: 0.
  [ [
Transcript crShow: 'Port is ', socket localPort printString.
(socket waitForAcceptFor: 60)
ifNotNil: [ :client | | data |
data := client receiveDataTimeout: 30.
Transcript crShow: 'Received ', data asString.
data ifNotNil: [ client sendData: data reverse;
 close ]
].
] ensure: [ socket close ] ] fork.
 
  I am running the Pharo Cog VM on Mac OS X using Pharo 1.4.
 
  Thx,
 
  Sven
 




-- 
best,
Eliot


Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Pavel Krivanek
Hi Guillermo,

great to see someone to improve modularity of the system. Look at
results of latest Pharo-Kernel:

https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%201.4/lastSuccessfulBuild/artifact/PharoKernel-1.4/info.txt

This Undeclared clearly show unwelcome kernel dependencies and must be removed.

Cheers,
-- Pavel



On Thu, Mar 15, 2012 at 5:37 PM, Guillermo Polito
guillermopol...@gmail.com wrote:


 On Thu, Mar 15, 2012 at 1:34 PM, Marcus Denker marcus.den...@inria.fr
 wrote:


 On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote:

  Hey, composition scanners and display scanners should not belong to
  Kernel.
  they should be either in graphics package or in morphic itself.
 
  Why we moved this stuff to kernel?


 :3

 Actually CompositionScanner belong to Graphics, I was puzzled about that
 too.

 I'll post a slice in the inbox :)




 Nobody moved... they where always there. It's a mess of epic proportion,
 our whole code base.

        Marcus


 --
 Marcus Denker -- http://marcusdenker.de






Re: [Pharo-project] Socket listenOn: 0 accept

2012-03-15 Thread Sven Van Caekenberghe

On 15 Mar 2012, at 18:58, Eliot Miranda wrote:

 In trunk (and in my Cog vm source) they are in the directories
 
 http://squeakvm.org/svn/squeak/trunk/platforms/{Cross,Mac 
 OS,unix,win32}/plugins/SocketPlugin
 
 i.e. in all VMs locate the relevant platforms hierarchy and look in 
 platforms/{Cross,Mac OS,unix,win32}/plugins/SocketPlugin.

Thank you, Eliot. 

Sven

 On 09 Mar 2012, at 16:44, Sven Van Caekenberghe wrote:
 
  Most socket API's allow for the creation of a server socket on the next 
  available port, often by specifying 0 instead of a port. When the socket is 
  bound, one can retrieve the local port and let the client(s) know. I tried 
  to do that in Pharo today, and these steps seem to work, by accepting an 
  incoming connection gives a primitive failed.
 
  Anyone tried this ?
 
  | socket |
  socket := Socket newTCP.
  socket listenOn: 0.
  [ [
Transcript crShow: 'Port is ', socket localPort printString.
(socket waitForAcceptFor: 60)
ifNotNil: [ :client | | data |
data := client receiveDataTimeout: 30.
Transcript crShow: 'Received ', data asString.
data ifNotNil: [ client sendData: data reverse; close 
  ]
].
] ensure: [ socket close ] ] fork.
 
  I am running the Pharo Cog VM on Mac OS X using Pharo 1.4.
 
  Thx,
 
  Sven
 
 
 
 
 
 



smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-project] quick methods and the method call stack

2012-03-15 Thread Eliot Miranda
On Wed, Mar 14, 2012 at 11:19 AM, Alexandre Bergel
alexandre.ber...@me.comwrote:

 Hi!

 Can someone confirm or infirm the following: A quick method (ie. the
 compiled methods answer true to the message isQuick) is executed without
 creating a stack frame. Is that true?


Yes, at least in the interpreter.  In Cog, if jitted, such methods run in a
leaf frame (only the return address is pushed), and additional tests in the
JIT allow many other methods to run with only a leaf frame.  See
needsFrameNever: and needsFrameIfInBlock: and senders in the Cog VM source.
 If all the bytecodes in a method are marked with needsFrameNever: or
needsFrameIfInBlock: then the method can be (and is) compiled frameless.
 if all the bytecodes in a block are marked with needsFrameNever: then the
block can be (and is) compiled frameless.



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









-- 
best,
Eliot


Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Tudor Girba
Strange. I tried to reproduce the problem, but following the same path
worked fine the second time.

Doru


On Tue, Mar 13, 2012 at 3:18 PM, Tudor Girba tu...@tudorgirba.com wrote:
 Ah, I forgot to mention: the same scenario works with the VM from Eliot (2522)

 Cheers,
 Doru

 On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote:
 Hi,

 I just tried it and it crashed :(.

 Here is what I did:
 - I took the Moose image
 - it started fine, and seem to be responsive
 - I then loaded code in it using a configuration
 - while loading, it crashed

 I attach here the crash.dmp file. I cannot provide the actual code
 because it is proprietary. I will try to reproduce the problem in more
 available settings.

 Cheers,
 Doru


 On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote:
Thanks Igor.
Guys can you try and report if you have problems?

 Yes, thanks Igor,

 How can I see if this release integrates Eliots latest
 fixes for Cog?

 Thx
 T.
 --
 Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
 belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de




 --
 www.tudorgirba.com

 Every thing has its own flow



 --
 www.tudorgirba.com

 Every thing has its own flow



-- 
www.tudorgirba.com

Every thing has its own flow



Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Eliot Miranda
On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com wrote:

 Strange. I tried to reproduce the problem, but following the same path
 worked fine the second time.


Such GC bugs are extremely sensitive to exactly the sequence of mutations
in the heap. So the time in between mouse clicks or keyboard presses, or
even the length of delays or the date and time can change the form of the
heap.   The only way I know to reproduce this kind of bug reliably is to
write a doit that causes the system to crash without user intervention.
 You can either supply the doit in a file to the VM at startup or (more
convenient for those debugging it) write a doit that starts with a
snapshot, e.g.

Smalltalk saveAs.
Crasher new crash


 Doru


 On Tue, Mar 13, 2012 at 3:18 PM, Tudor Girba tu...@tudorgirba.com wrote:
  Ah, I forgot to mention: the same scenario works with the VM from Eliot
 (2522)
 
  Cheers,
  Doru
 
  On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com
 wrote:
  Hi,
 
  I just tried it and it crashed :(.
 
  Here is what I did:
  - I took the Moose image
  - it started fine, and seem to be responsive
  - I then loaded code in it using a configuration
  - while loading, it crashed
 
  I attach here the crash.dmp file. I cannot provide the actual code
  because it is proprietary. I will try to reproduce the problem in more
  available settings.
 
  Cheers,
  Doru
 
 
  On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de
 wrote:
 Thanks Igor.
 Guys can you try and report if you have problems?
 
  Yes, thanks Igor,
 
  How can I see if this release integrates Eliots latest
  fixes for Cog?
 
  Thx
  T.
  --
  Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
  belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
 
 
 
 
  --
  www.tudorgirba.com
 
  Every thing has its own flow
 
 
 
  --
  www.tudorgirba.com
 
  Every thing has its own flow



 --
 www.tudorgirba.com

 Every thing has its own flow


-- 
HTH,
Eliot


[Pharo-project] Latest image from jenkins does not open with interpreter vm

2012-03-15 Thread Guillermo Polito
I'm having the following

This interpreter (vers. 6502) cannot read image file (vers. 6505).

This didn't happen with images from some weeks ago :(


Re: [Pharo-project] Latest image from jenkins does not open with interpreter vm

2012-03-15 Thread Marcus Denker

On Mar 15, 2012, at 7:59 PM, Guillermo Polito wrote:

 I'm having the following
 
 This interpreter (vers. 6502) cannot read image file (vers. 6505).
 
 This didn't happen with images from some weeks ago :(


The reason is that we now run the build with the VM compiled
on the build server... which is a Cog vm.

Marcus


--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] [Vm-dev] Re: Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Igor Stasenko
On 15 March 2012 19:28, Eliot Miranda eliot.mira...@gmail.com wrote:



 On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com wrote:

 Strange. I tried to reproduce the problem, but following the same path
 worked fine the second time.


 Such GC bugs are extremely sensitive to exactly the sequence of mutations in 
 the heap. So the time in between mouse clicks or keyboard presses, or even 
 the length of delays or the date and time can change the form of the heap.   
 The only way I know to reproduce this kind of bug reliably is to write a doit 
 that causes the system to crash without user intervention.  You can either 
 supply the doit in a file to the VM at startup or (more convenient for those 
 debugging it) write a doit that starts with a snapshot, e.g.

     Smalltalk saveAs.
     Crasher new crash


Not again this flaky GC/become stuff. I was hoping that last one we
busted in summer..


-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] Latest image from jenkins does not open with interpreter vm

2012-03-15 Thread Guillermo Polito
Ok, so I have no chose.  I have to move SystemTracer to cog, or do it :D

On Thu, Mar 15, 2012 at 4:02 PM, Marcus Denker marcus.den...@inria.frwrote:


 On Mar 15, 2012, at 7:59 PM, Guillermo Polito wrote:

  I'm having the following
 
  This interpreter (vers. 6502) cannot read image file (vers. 6505).
 
  This didn't happen with images from some weeks ago :(


 The reason is that we now run the build with the VM compiled
 on the build server... which is a Cog vm.

Marcus


 --
 Marcus Denker -- http://marcusdenker.de





Re: [Pharo-project] Latest image from jenkins does not open with interpreter vm

2012-03-15 Thread Igor Stasenko
On 15 March 2012 20:05, Guillermo Polito guillermopol...@gmail.com wrote:
 Ok, so I have no chose.  I have to move SystemTracer to cog, or do it :D


Yes. We need to make it working with Cog.
Hope, Eliot remembers what is essential changes between 6502 and 6505
formats, which needs to be fixed in system tracer.


-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] [Vm-dev] Re: Latest image from jenkins does not open with interpreter vm

2012-03-15 Thread Guillermo Polito
HEhe, he already sent in a different thread the differences ;).

On Thu, Mar 15, 2012 at 4:11 PM, Igor Stasenko siguc...@gmail.com wrote:


 On 15 March 2012 20:05, Guillermo Polito guillermopol...@gmail.com
 wrote:
  Ok, so I have no chose.  I have to move SystemTracer to cog, or do it :D
 

 Yes. We need to make it working with Cog.
 Hope, Eliot remembers what is essential changes between 6502 and 6505
 formats, which needs to be fixed in system tracer.


 --
 Best regards,
 Igor Stasenko.



Re: [Pharo-project] [Vm-dev] Re: SystemTracer

2012-03-15 Thread Igor Stasenko
Just want to add, that in Pharo we refactored things a bit,
so if you want to look for vm parameters, they are accessed via:

Smalltalk vm parameterAt: xyz

not
Smalltalk vmParameterAt:

look in VirtualMachine class for implementation.

On 15 March 2012 17:58, Eliot Miranda eliot.mira...@gmail.com wrote:

 Hi Guillermo,

 On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:

 Hi Eliot,

 do you have a pointer of where can I see the differences between the old 
 Squeak format and the cog image format, so I can make SystemTracer work on 
 Cog vms?


 So the image format differences are
 - floats are in platform order, not necessarily in big-endian order
 - the layout of the specialObjectsArray is slightly different (documented in 
 recreateSpecialObjectsArray)
 - there are more words in the header, see StackInterpreterwriteImageFileIO:, 
 i.e.

 in Cog:
 self putLong: self imageFormatVersion toFile: f.
 self putLong: headerSize toFile: f.
 self putLong: imageBytes toFile: f.
 self putLong: objectMemory startOfMemory toFile: f.
 self putLong: objectMemory specialObjectsOop toFile: f.
 self putLong: objectMemory newObjectHash toFile: f.
 self putLong: self ioScreenSize toFile: f.
 self putLong: self getImageHeaderFlags toFile: f.
 self putLong: extraVMMemory toFile: f.
 self putShort: desiredNumStackPages toFile: f.
 self putShort: self unknownShortOrCodeSizeInKs toFile: f.
 self putLong: desiredEdenBytes toFile: f.
 self putShort: (maxExtSemTabSizeSet ifTrue: [self ioGetMaxExtSemTableSize] 
 ifFalse: [0]) toFile: f.
 self putShort: 0 toFile: f.
 1 to: 4 do: [:i | self putLong: 0 toFile: f].  fill remaining header words 
 with zeros

 in Interpreter:
 self putLong: (self imageFormatVersion) toFile: f.
 self putLong: headerSize toFile: f.
 self putLong: imageBytes toFile: f.
 self putLong: (self startOfMemory) toFile: f.
 self putLong: specialObjectsOop toFile: f.
 self putLong: lastHash toFile: f.
 self putLong: (self ioScreenSize) toFile: f.
 self putLong: fullScreenFlag toFile: f.
 self putLong: extraVMMemory toFile: f.
 1 to: 7 do: [:i | self putLong: 0 toFile: f].  fill remaining header words 
 with zeros

 Then

 getImageHeaderFlags
 Answer the flags that are contained in the 7th long of the image header.
 ^fullScreenFlag 0 or 1
 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the imageFloatsLittleEndian 
 flag
 + (processHasThreadId ifTrue: [4] ifFalse: [0])
 + (flagInterpretedMethods ifTrue: [8] ifFalse: [0])
 + (preemptionYields ifTrue: [0] ifFalse: [16])
 + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0])
 + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do not 
 recognize

 Now most of the information in the flags is accessible from vmParameterAt: 
 (or some convenience methods).  e.g. vm parameter 49 is the max external 
 semaphore table size, and vm parameter 48 is the following flags:

 getCogVMFlags
 Answer an array of flags indicating various properties of the Cog VM.
 Bit 0: implies the image's Process class has threadId as its 3rd inst var 
 (zero relative)
 Bit 1: if set, methods that are interpreted will have the flag bit set in 
 their header
 Bit 2: if set, implies preempting a process does not put it to the back of 
 its run queue
 ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse: [0])
 + (flagInterpretedMethods ifTrue: [2] ifFalse: [0])
 + (preemptionYields ifTrue: [0] ifFalse: [4])
 + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0])

 Read the comment for vmParameterAt: to get things like num stack pages and 
 cog code size.

 Is this OK?  I know it's a bit of a mess. If you or I (we?) write it up where 
 should we put the info?


 Thanks,
 Guille

 On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote:

 On Thu, 27 Jan 2011, Benjamin wrote:

 It works for  PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the only 
 version where it works :S

 Does someone know why ?


 It doesn't support Cog's image format. Try an image with the original 
 Squeak format. You can convert your image with the latest SqueakVM. Only 
 the unix VM was released with this feature yet, so you can use that
 http://squeakvm.org/unix/ or build a VM for your favorite platform.


 Levente




 Thanks,

 Ben

 On Jan 27, 2011, at 3:36 PM, Benjamin wrote:

 Hello guys,

 for one of my projects, I'm trying to use SystemTracer to create  anew 
 image, but it appears that it doesn't work on Pharo ...
 I can create a new image, but I can't open it. I've tried with an older 
 VM (Squeak 3.8.18beta1U), but it's the same ...


 Did someone already have this problem ? Does someone have a solution ?



 Thanks in advance,

 Ben








 --
 best,
 Eliot





-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] [Vm-dev] Re: SystemTracer

2012-03-15 Thread Guillermo Polito
On Thu, Mar 15, 2012 at 1:58 PM, Eliot Miranda eliot.mira...@gmail.comwrote:


 Hi Guillermo,

 On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:

 Hi Eliot,

 do you have a pointer of where can I see the differences between the old
 Squeak format and the cog image format, so I can make SystemTracer work on
 Cog vms?


 So the image format differences are
 - floats are in platform order, not necessarily in big-endian order
 - the layout of the specialObjectsArray is slightly different (documented
 in recreateSpecialObjectsArray)
 - there are more words in the header, see
 StackInterpreterwriteImageFileIO:, i.e.

 in Cog:
 self putLong: self imageFormatVersion toFile: f.
 self putLong: headerSize toFile: f.
  self putLong: imageBytes toFile: f.
 self putLong: objectMemory startOfMemory toFile: f.
  self putLong: objectMemory specialObjectsOop toFile: f.
 self putLong: objectMemory newObjectHash toFile: f.
  self putLong: self ioScreenSize toFile: f.
 self putLong: self getImageHeaderFlags toFile: f.
  self putLong: extraVMMemory toFile: f.
 self putShort: desiredNumStackPages toFile: f.
  self putShort: self unknownShortOrCodeSizeInKs toFile: f.
 self putLong: desiredEdenBytes toFile: f.
  self putShort: (maxExtSemTabSizeSet ifTrue: [self
 ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f.
 self putShort: 0 toFile: f.
  1 to: 4 do: [:i | self putLong: 0 toFile: f].  fill remaining header
 words with zeros

 in Interpreter:
  self putLong: (self imageFormatVersion) toFile: f.
 self putLong: headerSize toFile: f.
  self putLong: imageBytes toFile: f.
 self putLong: (self startOfMemory) toFile: f.
  self putLong: specialObjectsOop toFile: f.
 self putLong: lastHash toFile: f.
  self putLong: (self ioScreenSize) toFile: f.
 self putLong: fullScreenFlag toFile: f.
  self putLong: extraVMMemory toFile: f.
 1 to: 7 do: [:i | self putLong: 0 toFile: f].  fill remaining header
 words with zeros

 Then

 getImageHeaderFlags
 Answer the flags that are contained in the 7th long of the image header.
  ^fullScreenFlag 0 or 1
 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the
 imageFloatsLittleEndian flag
  + (processHasThreadId ifTrue: [4] ifFalse: [0])
 + (flagInterpretedMethods ifTrue: [8] ifFalse: [0])
  + (preemptionYields ifTrue: [0] ifFalse: [16])
 + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0])
  + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do
 not recognize

 Now most of the information in the flags is accessible from vmParameterAt:
 (or some convenience methods).  e.g. vm parameter 49 is the max external
 semaphore table size, and vm parameter 48 is the following flags:

 getCogVMFlags
 Answer an array of flags indicating various properties of the Cog VM.
  Bit 0: implies the image's Process class has threadId as its 3rd inst var
 (zero relative)
  Bit 1: if set, methods that are interpreted will have the flag bit set
 in their header
  Bit 2: if set, implies preempting a process does not put it to the back
 of its run queue
  ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse:
 [0])
 + (flagInterpretedMethods ifTrue: [2] ifFalse: [0])
  + (preemptionYields ifTrue: [0] ifFalse: [4])
 + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0])


Hehe, in pharo the comment reaches up to 41 :).  I'll look at squeak to
update it.



 Read the comment for vmParameterAt: to get things like num stack pages and
 cog code size.

 Is this OK?  I know it's a bit of a mess. If you or I (we?) write it up
 where should we put the info?


 Thanks,
 Guille

 On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote:

 On Thu, 27 Jan 2011, Benjamin wrote:

  It works for  PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the
 only version where it works :S

 Does someone know why ?


 It doesn't support Cog's image format. Try an image with the original
 Squeak format. You can convert your image with the latest SqueakVM. Only
 the unix VM was released with this feature yet, so you can use that
 http://squeakvm.org/unix/ or build a VM for your favorite platform.


 Levente




 Thanks,

 Ben

 On Jan 27, 2011, at 3:36 PM, Benjamin wrote:

  Hello guys,

 for one of my projects, I'm trying to use SystemTracer to create  anew
 image, but it appears that it doesn't work on Pharo ...
 I can create a new image, but I can't open it. I've tried with an
 older VM (Squeak 3.8.18beta1U), but it's the same ...


 Did someone already have this problem ? Does someone have a solution ?



 Thanks in advance,

 Ben








 --
 best,
 Eliot





[Pharo-project] [update 1.4] #14393

2012-03-15 Thread Marcus Denker
14393
-

Issue 5476: File Browser Invalid utf8 input detected when clicking on a 
binary file 
http://code.google.com/p/pharo/issues/detail?id=5476
Issue 5469: Refactoring in DropList + Fix wrap
http://code.google.com/p/pharo/issues/detail?id=5469
--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] [Vm-dev] Re: SystemTracer

2012-03-15 Thread Guillermo Polito
On Thu, Mar 15, 2012 at 4:26 PM, Guillermo Polito guillermopol...@gmail.com
 wrote:



 On Thu, Mar 15, 2012 at 1:58 PM, Eliot Miranda eliot.mira...@gmail.comwrote:


 Hi Guillermo,

 On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:

 Hi Eliot,

 do you have a pointer of where can I see the differences between the old
 Squeak format and the cog image format, so I can make SystemTracer work on
 Cog vms?


 So the image format differences are
 - floats are in platform order, not necessarily in big-endian order
 - the layout of the specialObjectsArray is slightly different (documented
 in recreateSpecialObjectsArray)
 - there are more words in the header, see
 StackInterpreterwriteImageFileIO:, i.e.

 in Cog:
 self putLong: self imageFormatVersion toFile: f.
 self putLong: headerSize toFile: f.
  self putLong: imageBytes toFile: f.
 self putLong: objectMemory startOfMemory toFile: f.
  self putLong: objectMemory specialObjectsOop toFile: f.
 self putLong: objectMemory newObjectHash toFile: f.
  self putLong: self ioScreenSize toFile: f.
 self putLong: self getImageHeaderFlags toFile: f.
  self putLong: extraVMMemory toFile: f.
 self putShort: desiredNumStackPages toFile: f.
  self putShort: self unknownShortOrCodeSizeInKs toFile: f.
 self putLong: desiredEdenBytes toFile: f.
  self putShort: (maxExtSemTabSizeSet ifTrue: [self
 ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f.
 self putShort: 0 toFile: f.
  1 to: 4 do: [:i | self putLong: 0 toFile: f].  fill remaining header
 words with zeros

 in Interpreter:
  self putLong: (self imageFormatVersion) toFile: f.
 self putLong: headerSize toFile: f.
  self putLong: imageBytes toFile: f.
 self putLong: (self startOfMemory) toFile: f.
  self putLong: specialObjectsOop toFile: f.
 self putLong: lastHash toFile: f.
  self putLong: (self ioScreenSize) toFile: f.
 self putLong: fullScreenFlag toFile: f.
  self putLong: extraVMMemory toFile: f.
 1 to: 7 do: [:i | self putLong: 0 toFile: f].  fill remaining header
 words with zeros

 Then

 getImageHeaderFlags
 Answer the flags that are contained in the 7th long of the image header.
  ^fullScreenFlag 0 or 1
 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the
 imageFloatsLittleEndian flag
  + (processHasThreadId ifTrue: [4] ifFalse: [0])
 + (flagInterpretedMethods ifTrue: [8] ifFalse: [0])
  + (preemptionYields ifTrue: [0] ifFalse: [16])
 + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0])
  + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do
 not recognize

 Now most of the information in the flags is accessible from
 vmParameterAt: (or some convenience methods).  e.g. vm parameter 49 is the
 max external semaphore table size, and vm parameter 48 is the following
 flags:

 getCogVMFlags
 Answer an array of flags indicating various properties of the Cog VM.
  Bit 0: implies the image's Process class has threadId as its 3rd inst
 var (zero relative)
  Bit 1: if set, methods that are interpreted will have the flag bit set
 in their header
  Bit 2: if set, implies preempting a process does not put it to the back
 of its run queue
  ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1] ifFalse:
 [0])
 + (flagInterpretedMethods ifTrue: [2] ifFalse: [0])
  + (preemptionYields ifTrue: [0] ifFalse: [4])
 + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0])


 Hehe, in pharo the comment reaches up to 41 :).  I'll look at squeak to
 update it.


And squeak's reach up to 40 :/ in
http://ftp.squeak.org/4.1/SqueakV41.sources.gz





 Read the comment for vmParameterAt: to get things like num stack pages
 and cog code size.

 Is this OK?  I know it's a bit of a mess. If you or I (we?) write it up
 where should we put the info?


 Thanks,
 Guille

 On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote:

 On Thu, 27 Jan 2011, Benjamin wrote:

  It works for  PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the
 only version where it works :S

 Does someone know why ?


 It doesn't support Cog's image format. Try an image with the original
 Squeak format. You can convert your image with the latest SqueakVM. Only
 the unix VM was released with this feature yet, so you can use that
 http://squeakvm.org/unix/ or build a VM for your favorite platform.


 Levente




 Thanks,

 Ben

 On Jan 27, 2011, at 3:36 PM, Benjamin wrote:

  Hello guys,

 for one of my projects, I'm trying to use SystemTracer to create
  anew image, but it appears that it doesn't work on Pharo ...
 I can create a new image, but I can't open it. I've tried with an
 older VM (Squeak 3.8.18beta1U), but it's the same ...


 Did someone already have this problem ? Does someone have a solution ?



 Thanks in advance,

 Ben








 --
 best,
 Eliot






[Pharo-project] TestCase#assert:equals: optimization

2012-03-15 Thread Stefan Marr
Hi:

While stepping through bytecodes, I noticed a slightly annoying inefficiency in 
the SUnit implementation.
The description string in #assert:equals: is always computed, even if it is not 
necessary.

While that might not be a performance problem, I find it rather distracting 
when I have to debug on the bytecode/VM level.

Since there seem to be only 127 senders or so in the image, you will probably 
not notice a big performance gain.
The change to compute the string only when necessary is below.

Best regards
Stefan

PS: This is a resend, because the original mail seemed to have been lost, while 
the mailing list was down.


!TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:41'!
assert: aBooleanOrBlock description: aStringOrBlock
aBooleanOrBlock value ifFalse: [
| aString |
aString := aStringOrBlock value.
self logFailure: aString.
TestResult failure signal: aString]
! !

!TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'!
assert: aBooleanOrBlock description: aStringOrBlock resumable: resumableBoolean 
| exception |
aBooleanOrBlock value
ifFalse: 
[|aString|
aString := aStringOrBlock value.
self logFailure: aString.
exception := resumableBoolean
ifTrue: [TestResult 
resumableFailure]
ifFalse: [TestResult failure].
exception signal: aString]
! !

!TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'!
assert: expected equals: actual
^ self
assert: (expected = actual)
description: [self comparingStringBetween: actual and: expected]
! !


-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525




[Pharo-project] Pharo 1.4 Tests-Unix - Build # 286 - Still Unstable!

2012-03-15 Thread jenkins-pharo . ci . inria . fr
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%201.4%20Tests-Unix/286/Project:Pharo 1.4 Tests-UnixDate of build:Thu, 15 Mar 2012 20:57:25 +0100Build duration:3 mn 48 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 1 test(s), Passed: 577 test(s), Skipped: 0 test(s), Total: 578 test(s)Failed: KernelTests.Chronology.StopwatchTest.testActiveName: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name: 

Re: [Pharo-project] [Vm-dev] Re: SystemTracer

2012-03-15 Thread Eliot Miranda
I've attached my most up-to-date version.  I'll add this to Squeak trunk
pronto.

On Thu, Mar 15, 2012 at 12:49 PM, Guillermo Polito 
guillermopol...@gmail.com wrote:




 On Thu, Mar 15, 2012 at 4:26 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:



 On Thu, Mar 15, 2012 at 1:58 PM, Eliot Miranda 
 eliot.mira...@gmail.comwrote:


 Hi Guillermo,

 On Wed, Mar 14, 2012 at 12:48 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:

 Hi Eliot,

 do you have a pointer of where can I see the differences between the
 old Squeak format and the cog image format, so I can make SystemTracer work
 on Cog vms?


 So the image format differences are
 - floats are in platform order, not necessarily in big-endian order
 - the layout of the specialObjectsArray is slightly different
 (documented in recreateSpecialObjectsArray)
 - there are more words in the header, see
 StackInterpreterwriteImageFileIO:, i.e.

 in Cog:
 self putLong: self imageFormatVersion toFile: f.
 self putLong: headerSize toFile: f.
  self putLong: imageBytes toFile: f.
 self putLong: objectMemory startOfMemory toFile: f.
  self putLong: objectMemory specialObjectsOop toFile: f.
 self putLong: objectMemory newObjectHash toFile: f.
  self putLong: self ioScreenSize toFile: f.
 self putLong: self getImageHeaderFlags toFile: f.
  self putLong: extraVMMemory toFile: f.
 self putShort: desiredNumStackPages toFile: f.
  self putShort: self unknownShortOrCodeSizeInKs toFile: f.
 self putLong: desiredEdenBytes toFile: f.
  self putShort: (maxExtSemTabSizeSet ifTrue: [self
 ioGetMaxExtSemTableSize] ifFalse: [0]) toFile: f.
 self putShort: 0 toFile: f.
  1 to: 4 do: [:i | self putLong: 0 toFile: f].  fill remaining header
 words with zeros

 in Interpreter:
  self putLong: (self imageFormatVersion) toFile: f.
 self putLong: headerSize toFile: f.
  self putLong: imageBytes toFile: f.
 self putLong: (self startOfMemory) toFile: f.
  self putLong: specialObjectsOop toFile: f.
 self putLong: lastHash toFile: f.
  self putLong: (self ioScreenSize) toFile: f.
 self putLong: fullScreenFlag toFile: f.
  self putLong: extraVMMemory toFile: f.
 1 to: 7 do: [:i | self putLong: 0 toFile: f].  fill remaining header
 words with zeros

 Then

 getImageHeaderFlags
 Answer the flags that are contained in the 7th long of the image
 header.
  ^fullScreenFlag 0 or 1
 + (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) this is the
 imageFloatsLittleEndian flag
  + (processHasThreadId ifTrue: [4] ifFalse: [0])
 + (flagInterpretedMethods ifTrue: [8] ifFalse: [0])
  + (preemptionYields ifTrue: [0] ifFalse: [16])
 + (noThreadingOfGUIThread ifTrue: [32] ifFalse: [0])
  + (imageHeaderFlags bitAnd: 63 bitInvert32) these are any flags we do
 not recognize

 Now most of the information in the flags is accessible from
 vmParameterAt: (or some convenience methods).  e.g. vm parameter 49 is the
 max external semaphore table size, and vm parameter 48 is the following
 flags:

 getCogVMFlags
 Answer an array of flags indicating various properties of the Cog VM.
  Bit 0: implies the image's Process class has threadId as its 3rd inst
 var (zero relative)
  Bit 1: if set, methods that are interpreted will have the flag bit set
 in their header
  Bit 2: if set, implies preempting a process does not put it to the back
 of its run queue
  ^objectMemory integerObjectOf: (processHasThreadId ifTrue: [1]
 ifFalse: [0])
 + (flagInterpretedMethods ifTrue: [2] ifFalse: [0])
  + (preemptionYields ifTrue: [0] ifFalse: [4])
 + (noThreadingOfGUIThread ifTrue: [8] ifFalse: [0])


 Hehe, in pharo the comment reaches up to 41 :).  I'll look at squeak to
 update it.


 And squeak's reach up to 40 :/ in
 http://ftp.squeak.org/4.1/SqueakV41.sources.gz





 Read the comment for vmParameterAt: to get things like num stack pages
 and cog code size.

 Is this OK?  I know it's a bit of a mess. If you or I (we?) write it up
 where should we put the info?


 Thanks,
 Guille

 On Thu, Jan 27, 2011 at 6:36 PM, Levente Uzonyi le...@elte.hu wrote:

 On Thu, 27 Jan 2011, Benjamin wrote:

  It works for  PharoCore-1.1-11196-UNSTABLE.1 but it seems to be the
 only version where it works :S

 Does someone know why ?


 It doesn't support Cog's image format. Try an image with the original
 Squeak format. You can convert your image with the latest SqueakVM. Only
 the unix VM was released with this feature yet, so you can use that
 http://squeakvm.org/unix/ or build a VM for your favorite platform.


 Levente




 Thanks,

 Ben

 On Jan 27, 2011, at 3:36 PM, Benjamin wrote:

  Hello guys,

 for one of my projects, I'm trying to use SystemTracer to create
  anew image, but it appears that it doesn't work on Pharo ...
 I can create a new image, but I can't open it. I've tried with an
 older VM (Squeak 3.8.18beta1U), but it's the same ...


 Did someone already have this problem ? Does someone have a solution
 ?



 Thanks in advance,

 Ben








 --
 best,
 Eliot








-- 
best,
Eliot


SmalltalkImage-vmParameterAt.st
Description: 

[Pharo-project] Extending SystemBrowser

2012-03-15 Thread Ezequiel Lamonica
Hi everybody,

I have some problems to extend the SystemBrowser.
I want to add a panel at the left of package panel to list products.
Product is a new concept that I created to manage a group of packages.

For example, Pharo is a product and Seaside is another  that depends on
Pharo.

This is the path that I want to follow:
Products - Packages - Classes - Protocols - Methods

I know in Pharo 1.4 the systemBrowser will be changed but I have a proof of
concept early and I have to show something working integrated in Pharo 1.3
image.


What could I do to start?
Any advice?


[Pharo-project] TestCase#assert:equals: optimization

2012-03-15 Thread Stefan Marr
Hi:

While stepping through bytecodes, I noticed a bit annoying inefficiency in the 
SUnit implementation.
The description string in #assert:equals: is always computed, even if it is not 
necessary.

While that might not be a performance problem, I find it rather distracting 
when I have to debug on the bytecode/VM level.

Since there seem to be only 127 senders or so in the image, you will probably 
not notice a big performance gain.
But in case you care, the change to compute the string only when necessary is 
below.

Best regards
Stefan

!TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:41'!
assert: aBooleanOrBlock description: aStringOrBlock
aBooleanOrBlock value ifFalse: [
| aString |
aString := aStringOrBlock value.
self logFailure: aString.
TestResult failure signal: aString]
! !

!TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'!
assert: aBooleanOrBlock description: aStringOrBlock resumable: resumableBoolean 
| exception |
aBooleanOrBlock value
ifFalse: 
[|aString|
aString := aStringOrBlock value.
self logFailure: aString.
exception := resumableBoolean
ifTrue: [TestResult 
resumableFailure]
ifFalse: [TestResult failure].
exception signal: aString]
! !

!TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'!
assert: expected equals: actual
^ self
assert: (expected = actual)
description: [self comparingStringBetween: actual and: expected]
! !


-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525




Re: [Pharo-project] Gettext package, who?

2012-03-15 Thread Hilaire Fernandes
Le 15/03/2012 17:45, Stéphane Ducasse a écrit :
 What is the size of this package?

The .mcz file is 26.7 kB


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




Re: [Pharo-project] MultiCompositionScanner depending on Morphic stuff

2012-03-15 Thread Stéphane Ducasse
 Hi Guillermo,
 
 great to see someone to improve modularity of the system.

:)
We are always thinking. Now Guille will start a PhD with us :)

 Look at
 results of latest Pharo-Kernel:
 
 https://ci.lille.inria.fr/pharo/view/Pharo-Kernel/job/Pharo%20Kernel%201.4/lastSuccessfulBuild/artifact/PharoKernel-1.4/info.txt
 
 This Undeclared clearly show unwelcome kernel dependencies and must be 
 removed.
 
 Cheers,
 -- Pavel
 
 
 
 On Thu, Mar 15, 2012 at 5:37 PM, Guillermo Polito
 guillermopol...@gmail.com wrote:
 
 
 On Thu, Mar 15, 2012 at 1:34 PM, Marcus Denker marcus.den...@inria.fr
 wrote:
 
 
 On Mar 15, 2012, at 5:32 PM, Igor Stasenko wrote:
 
 Hey, composition scanners and display scanners should not belong to
 Kernel.
 they should be either in graphics package or in morphic itself.
 
 Why we moved this stuff to kernel?
 
 
 :3
 
 Actually CompositionScanner belong to Graphics, I was puzzled about that
 too.
 
 I'll post a slice in the inbox :)
 
 
 
 
 Nobody moved... they where always there. It's a mess of epic proportion,
 our whole code base.
 
Marcus
 
 
 --
 Marcus Denker -- http://marcusdenker.de
 
 
 
 




Re: [Pharo-project] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Stéphane Ducasse
not good :(
because I'm sure it crashed on you the first time.

Stef

On Mar 13, 2012, at 3:44 PM, Tudor Girba wrote:

 Strange. I tried to reproduce the problem, but following the same path
 worked fine the second time.
 
 Doru
 
 
 On Tue, Mar 13, 2012 at 3:18 PM, Tudor Girba tu...@tudorgirba.com wrote:
 Ah, I forgot to mention: the same scenario works with the VM from Eliot 
 (2522)
 
 Cheers,
 Doru
 
 On Tue, Mar 13, 2012 at 3:16 PM, Tudor Girba tu...@tudorgirba.com wrote:
 Hi,
 
 I just tried it and it crashed :(.
 
 Here is what I did:
 - I took the Moose image
 - it started fine, and seem to be responsive
 - I then loaded code in it using a configuration
 - while loading, it crashed
 
 I attach here the crash.dmp file. I cannot provide the actual code
 because it is proprietary. I will try to reproduce the problem in more
 available settings.
 
 Cheers,
 Doru
 
 
 On Tue, Mar 13, 2012 at 8:54 AM, Torsten Bergmann asta...@gmx.de wrote:
 Thanks Igor.
 Guys can you try and report if you have problems?
 
 Yes, thanks Igor,
 
 How can I see if this release integrates Eliots latest
 fixes for Cog?
 
 Thx
 T.
 --
 Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
 belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
 
 
 
 
 --
 www.tudorgirba.com
 
 Every thing has its own flow
 
 
 
 --
 www.tudorgirba.com
 
 Every thing has its own flow
 
 
 
 -- 
 www.tudorgirba.com
 
 Every thing has its own flow
 




Re: [Pharo-project] Extending SystemBrowser

2012-03-15 Thread Stéphane Ducasse

On Mar 13, 2012, at 9:21 PM, Ezequiel Lamonica wrote:

 Hi everybody, 
 
 I have some problems to extend the SystemBrowser. 
 I want to add a panel at the left of package panel to list products.  
 Product is a new concept that I created to manage a group of packages. 
 
 For example, Pharo is a product and Seaside is another  that depends on 
 Pharo. 
 
 This is the path that I want to follow: 
 Products - Packages - Classes - Protocols - Methods
 
 I know in Pharo 1.4 the systemBrowser will be changed but I have a proof of 
 concept early and I have to show something working integrated in Pharo 1.3 
 image. 

Use Glamour or Spec or OB but not systemBrowser.
Run away from SystemBrowser


 What could I do to start? 
 Any advice?
 
 
 




Re: [Pharo-project] TestCase#assert:equals: optimization

2012-03-15 Thread Stéphane Ducasse
thanks stefan 
Can you open a bug tracker and publish your code with a slice or a cs so that 
our crawler can handle it automatically?
Yes we are getting professional thanks for camillo and ben :)

Stef

On Mar 15, 2012, at 8:58 PM, Stefan Marr wrote:

 Hi:
 
 While stepping through bytecodes, I noticed a slightly annoying inefficiency 
 in the SUnit implementation.
 The description string in #assert:equals: is always computed, even if it is 
 not necessary.
 
 While that might not be a performance problem, I find it rather distracting 
 when I have to debug on the bytecode/VM level.
 
 Since there seem to be only 127 senders or so in the image, you will probably 
 not notice a big performance gain.
 The change to compute the string only when necessary is below.
 
 Best regards
 Stefan
 
 PS: This is a resend, because the original mail seemed to have been lost, 
 while the mailing list was down.
 
 
 !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:41'!
 assert: aBooleanOrBlock description: aStringOrBlock
   aBooleanOrBlock value ifFalse: [
   | aString |
   aString := aStringOrBlock value.
   self logFailure: aString.
   TestResult failure signal: aString]
   ! !
 
 !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'!
 assert: aBooleanOrBlock description: aStringOrBlock resumable: 
 resumableBoolean 
   | exception |
   aBooleanOrBlock value
   ifFalse: 
   [|aString|
   aString := aStringOrBlock value.
   self logFailure: aString.
   exception := resumableBoolean
   ifTrue: [TestResult 
 resumableFailure]
   ifFalse: [TestResult failure].
   exception signal: aString]
   ! !
 
 !TestCase methodsFor: 'asserting' stamp: 'StefanMarr 3/13/2012 23:40'!
 assert: expected equals: actual
   ^ self
   assert: (expected = actual)
   description: [self comparingStringBetween: actual and: expected]
 ! !
 
 
 -- 
 Stefan Marr
 Software Languages Lab
 Vrije Universiteit Brussel
 Pleinlaan 2 / B-1050 Brussels / Belgium
 http://soft.vub.ac.be/~smarr
 Phone: +32 2 629 2974
 Fax:   +32 2 629 3525
 
 




[Pharo-project] we should make some noise around the pharo conf :)

2012-03-15 Thread stephane ducasse
http://pharoconference.eventbrite.com/

Stef



[Pharo-project] Fwd: [Moose-dev] Moose Windows VM problem

2012-03-15 Thread Stéphane Ducasse
Hi guys

can we fix the one click on windows especially?

Stef

Begin forwarded message:

 From: Usman Bhatti usman.bha...@gmail.com
 Subject: [Moose-dev] Moose Windows VM problem
 Date: March 13, 2012 6:23:44 PM GMT+01:00
 To: Moose-related development moose-...@iam.unibe.ch
 Reply-To: Moose-related development moose-...@iam.unibe.ch
 
 Hello,
 
 I have a one-click moose image downloaded around first week of Feb 2012. The 
 problem with the image is that it's windows vm that does not launch the image 
 file. In fact, when I execute the vm, it creates a process (visible in 
 windows task manager) but nothing happens. We tried to debug it with Igor but 
 we couldn't (as there is no entry point). The image in the bundle can be 
 launched with latest windows vm (from pharo server) [meaning that the problem 
 comes from the vm which we cannot debug].
 
 I downloaded another moose image today and executed its windows vm, and its 
 working fine.
 
 It would be good to have a jenkins process to run moose on windows vm. Do we 
 have such a setup? If not, I can create one in the coming weeks.
 
 thanx,
 usman
 ___
 Moose-dev mailing list
 moose-...@iam.unibe.ch
 https://www.iam.unibe.ch/mailman/listinfo/moose-dev



[Pharo-project] Pharo Kernel Reload Tests-Unix - Build # 5 - Still unstable!

2012-03-15 Thread jenkins-pharo . ci . inria . fr
BUILD UNSTABLEBuild URLhttps://ci.lille.inria.fr/pharo/job/Pharo%20Kernel%20Reload%20Tests-Unix/5/Project:Pharo Kernel Reload Tests-UnixDate of build:Wed, 14 Mar 2012 09:21:09 +0100Build duration:3 mn 18 sCHANGESNo ChangesJUnit TestsName: Announcements.Tests.Core Failed: 0 test(s), Passed: 29 test(s), Skipped: 0 test(s), Total: 29 test(s)Name: BalloonTests.Collections Failed: 0 test(s), Passed: 34 test(s), Skipped: 0 test(s), Total: 34 test(s)Name: CollectionsTests.Arrayed Failed: 0 test(s), Passed: 562 test(s), Skipped: 0 test(s), Total: 562 test(s)Name: CollectionsTests.Atomic Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Sequenceable Failed: 0 test(s), Passed: 907 test(s), Skipped: 0 test(s), Total: 907 test(s)Name: CollectionsTests.SplitJoin Failed: 0 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 27 test(s)Name: CollectionsTests.Stack Failed: 0 test(s), Passed: 16 test(s), Skipped: 0 test(s), Total: 16 test(s)Name: CollectionsTests.Streams Failed: 0 test(s), Passed: 37 test(s), Skipped: 0 test(s), Total: 37 test(s)Name: CollectionsTests.Strings Failed: 0 test(s), Passed: 591 test(s), Skipped: 0 test(s), Total: 591 test(s)Name: CollectionsTests.Support Failed: 0 test(s), Passed: 12 test(s), Skipped: 0 test(s), Total: 12 test(s)Name: CollectionsTests.Text Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: CollectionsTests.Unordered Failed: 0 test(s), Passed: 1951 test(s), Skipped: 0 test(s), Total: 1951 test(s)Name: CollectionsTests.Weak Failed: 0 test(s), Passed: 739 test(s), Skipped: 0 test(s), Total: 739 test(s)Name: CompilerTests Failed: 0 test(s), Passed: 178 test(s), Skipped: 0 test(s), Total: 178 test(s)Name: CompressionTests.Archive Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: FS.Tests.AnsiStreams Failed: 0 test(s), Passed: 40 test(s), Skipped: 0 test(s), Total: 40 test(s)Name: FS.Tests.Core Failed: 0 test(s), Passed: 169 test(s), Skipped: 0 test(s), Total: 169 test(s)Name: FS.Tests.Disk Failed: 24 test(s), Passed: 27 test(s), Skipped: 0 test(s), Total: 51 test(s)Failed: FS.Tests.Disk.FSDiskFilesystemTest.testFileNamesFailed: FS.Tests.Disk.FSDiskFilesystemTest.testFileStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamDoIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testReadStreamIfAbsentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamDoIfPresentFailed: FS.Tests.Disk.FSDiskFilesystemTest.testWriteStreamIfPresentFailed: FS.Tests.Disk.FSFileHandleTest.testAtFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutFailed: FS.Tests.Disk.FSFileHandleTest.testAtPutBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testAtWriteBinaryAsciiFailed: FS.Tests.Disk.FSFileHandleTest.testCloseFailed: FS.Tests.Disk.FSFileHandleTest.testCreatedOpenFailed: FS.Tests.Disk.FSFileHandleTest.testIOFailed: FS.Tests.Disk.FSFileHandleTest.testReadBufferTooLargeFailed: FS.Tests.Disk.FSFileHandleTest.testReadOnlyFailed: FS.Tests.Disk.FSFileHandleTest.testReferenceFailed: FS.Tests.Disk.FSFileHandleTest.testSizeAfterGrowFailed: FS.Tests.Disk.FSFileHandleTest.testSizeNoGrowFailed: FS.Tests.Disk.FSFileHandleTest.testTruncateFailed: FS.Tests.Disk.FSFileHandleTest.testWriteStreamName: FS.Tests.Memory Failed: 0 test(s), Passed: 50 test(s), Skipped: 0 test(s), Total: 50 test(s)Name: FreeTypeTests.cache Failed: 0 test(s), Passed: 23 test(s), Skipped: 0 test(s), Total: 23 test(s)Name: Gofer.Tests Failed: 0 test(s), Passed: 45 test(s), Skipped: 0 test(s), Total: 45 test(s)Name: Graphics.Tests.Files Failed: 0 test(s), Passed: 47 test(s), Skipped: 0 test(s), Total: 47 test(s)Name: Graphics.Tests.Primitives Failed: 0 test(s), Passed: 57 test(s), Skipped: 0 test(s), Total: 57 test(s)Name: HelpSystem.Tests.Builders Failed: 0 test(s), Passed: 5 test(s), Skipped: 0 test(s), Total: 5 test(s)Name: HelpSystem.Tests.Core.Model Failed: 0 test(s), Passed: 4 test(s), Skipped: 0 test(s), Total: 4 test(s)Name: HelpSystem.Tests.Core.UI Failed: 0 test(s), Passed: 6 test(s), Skipped: 0 test(s), Total: 6 test(s)Name: HelpSystem.Tests.Core.Utilities Failed: 0 test(s), Passed: 2 test(s), Skipped: 0 test(s), Total: 2 test(s)Name: KernelTests.Chronology Failed: 0 test(s), Passed: 578 test(s), Skipped: 0 test(s), Total: 578 test(s)Name: KernelTests.Classes Failed: 0 test(s), Passed: 68 test(s), Skipped: 0 test(s), Total: 68 test(s)Name: KernelTests.Exception Failed: 0 test(s), Passed: 3 test(s), Skipped: 0 test(s), Total: 3 test(s)Name: KernelTests.Methods Failed: 0 test(s), Passed: 177 test(s), Skipped: 0 test(s), Total: 177 test(s)Name: KernelTests.Numbers Failed: 0 test(s), Passed: 265 test(s), Skipped: 0 test(s), Total: 265 test(s)Name: KernelTests.Objects Failed: 0 test(s), 

Re: [Pharo-project] [Vm-dev] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Tudor Girba
Hi,

The problem is that I cannot get it for you because it's proprietary code, and 
the issue raised when loading the code from a Monticello repository.

I got some strange crashes in other contexts but without having time to dig 
into these :(. I will try to keep my eyes opened and find some reproducible 
case.

Cheers,
Doru


On 15 Mar 2012, at 20:03, Igor Stasenko wrote:

 
 On 15 March 2012 19:28, Eliot Miranda eliot.mira...@gmail.com wrote:
 
 
 
 On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com wrote:
 
 Strange. I tried to reproduce the problem, but following the same path
 worked fine the second time.
 
 
 Such GC bugs are extremely sensitive to exactly the sequence of mutations in 
 the heap. So the time in between mouse clicks or keyboard presses, or even 
 the length of delays or the date and time can change the form of the heap.   
 The only way I know to reproduce this kind of bug reliably is to write a 
 doit that causes the system to crash without user intervention.  You can 
 either supply the doit in a file to the VM at startup or (more convenient 
 for those debugging it) write a doit that starts with a snapshot, e.g.
 
 Smalltalk saveAs.
 Crasher new crash
 
 
 Not again this flaky GC/become stuff. I was hoping that last one we
 busted in summer..
 
 
 -- 
 Best regards,
 Igor Stasenko.

--
www.tudorgirba.com

No matter how many recipes we know, we still value a chef.









Re: [Pharo-project] [Vm-dev] Finally, jenkins were able to build win32 VM.

2012-03-15 Thread Eliot Miranda
Hi Tudor,

On Thu, Mar 15, 2012 at 2:55 PM, Tudor Girba tu...@tudorgirba.com wrote:


 Hi,

 The problem is that I cannot get it for you because it's proprietary code,
 and the issue raised when loading the code from a Monticello repository.


I sign non-disclosure agreements and destroy files once I'm done :)  So if
you can get it to crash loading from a package-cache and you're happy for
me to sign an NDA I can still look at it.  But only if you;re comfortable
and only if you have a reproducible case.


 I got some strange crashes in other contexts but without having time to
 dig into these :(. I will try to keep my eyes opened and find some
 reproducible case.

 Cheers,
 Doru


cool.

cheers!




 On 15 Mar 2012, at 20:03, Igor Stasenko wrote:

 
  On 15 March 2012 19:28, Eliot Miranda eliot.mira...@gmail.com wrote:
 
 
 
  On Tue, Mar 13, 2012 at 7:44 AM, Tudor Girba tu...@tudorgirba.com
 wrote:
 
  Strange. I tried to reproduce the problem, but following the same path
  worked fine the second time.
 
 
  Such GC bugs are extremely sensitive to exactly the sequence of
 mutations in the heap. So the time in between mouse clicks or keyboard
 presses, or even the length of delays or the date and time can change the
 form of the heap.   The only way I know to reproduce this kind of bug
 reliably is to write a doit that causes the system to crash without user
 intervention.  You can either supply the doit in a file to the VM at
 startup or (more convenient for those debugging it) write a doit that
 starts with a snapshot, e.g.
 
  Smalltalk saveAs.
  Crasher new crash
 
 
  Not again this flaky GC/become stuff. I was hoping that last one we
  busted in summer..
 
 
  --
  Best regards,
  Igor Stasenko.

 --
 www.tudorgirba.com

 No matter how many recipes we know, we still value a chef.









-- 
best,
Eliot


  1   2   >