Re: [Pharo-dev] latex exporter in Pillar

2014-09-04 Thread Damien Cassou
On Wed, Sep 3, 2014 at 9:24 PM, Alexandre Bergel
alexandre.ber...@me.com wrote:
 -=-=-=-=
 \newcommand{\ct}[1]}
 -=-=-=-=


I know the problem. I think this is a bad interaction between the
mustache template and LaTeX use of '}}'.

The workaround for you would be to specify your own LaTeX template
where all macros are in a dedicated external file (copy/paste what we
do for the book from
https://github.com/SquareBracketAssociates/PharoForTheEnterprise-english/tree/master/_support).

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

Success is the ability to go from one failure to another without
losing enthusiasm.
Winston Churchill



Re: [Pharo-dev] latex exporter in Pillar

2014-09-04 Thread stepharo

Alex

did you follow the description?

Stef

On 3/9/14 21:24, Alexandre Bergel wrote:

Hi!

I am currently investigating whether Pillar may be used for the 
AgileVisualization book.
I am interested in exporting to PDF and Latex. I have tried the command:

./pillar export —to=latex first.pier  first.tex

But the generated .tex file is not valid since it contains a line:
-=-=-=-=
\newcommand{\ct}[1]}
-=-=-=-=

Will this be fixed ?

Cheers,
Alexandre





Re: [Pharo-dev] speed up with:do: by not checking size

2014-09-04 Thread Marcus Denker
On Wed, Sep 3, 2014 at 8:19 PM, stepharo steph...@free.fr wrote:


 Like Thierry I'm not sure that omitting the check brings a
 significant speedup.
 However, not doing this check follows the robustness principle: Be
 conservative in what you do, be liberal in what you accept from others.


  But it violates the if it ain't broke don't fix it, it means what it
 means, and Smalltalk is a safe language principles.  That safety check
 finds bugs.  If one wants a more relaxed contract, implement a new
 contract, don't break an existing contract that has stood for years.


  I would even be more liberal with a:
 1 to: (self size min: otherCollection size) do: 
 :)


  But you can write that if that's what you mean.  But arbitrarily
 changing existing protocol for weak reasons when _it ain't broke_ is a
 recipe for chaos.


Ok, then I will not do it...

   Marcus


Re: [Pharo-dev] Special case of pool access lookup crash

2014-09-04 Thread Yuriy Tymchuk
Sure https://pharo.fogbugz.com/f/cases/13952/Pool-access-lookup-crash

On 04 Sep 2014, at 09:44, Marcus Denker marcus.den...@inria.fr wrote:

 Hi,
 
 No, not yet reported. Can you open an issue?
 
 
 On Wed, Sep 3, 2014 at 8:43 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 Hi everyone,
 
 when you go to AJx86Registers class, press “Show class variables” and select 
 ‘IP’, then it crashes with: 'RIP register IP cannot be used only for relative 
 addressing’. I couldn’t find related bug report, should I open one?
 
 Screen Shot 2014-09-03 at 20.40.17.png
 
 Uko
 
 
 
 -- 
 --
 Marcus Denker  --  den...@acm.org
 http://www.marcusdenker.de



Re: [Pharo-dev] speed up with:do: by not checking size

2014-09-04 Thread Stephan Eggermont
4) It doesn't work if I modify the collections during the iteration :)

The constant time cost in looking up size doesn't look like much
of a problem to me. 

Stephan



Re: [Pharo-dev] Special case of pool access lookup crash

2014-09-04 Thread Yuriy Tymchuk
I’ve investigated an error.

It occurs as follows:
1. Two class variables (assoc subclass) are checked for equality. This also 
checks the equality of assoc. values.
2. When two registers are checked for equality their code is checked. #code 
method in AJx64RipRegister throws an error.

one thing that bothers me is that global variables comparison relies on their 
content’s functionality.

On the other hand there is no way to compare AJx64RipRegister registers, as #= 
inherited from AJBaseReg will %100 crash.

Uko

On 04 Sep 2014, at 09:55, Yuriy Tymchuk yuriy.tymc...@me.com wrote:

 Sure https://pharo.fogbugz.com/f/cases/13952/Pool-access-lookup-crash
 
 On 04 Sep 2014, at 09:44, Marcus Denker marcus.den...@inria.fr wrote:
 
 Hi,
 
 No, not yet reported. Can you open an issue?
 
 
 On Wed, Sep 3, 2014 at 8:43 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 Hi everyone,
 
 when you go to AJx86Registers class, press “Show class variables” and select 
 ‘IP’, then it crashes with: 'RIP register IP cannot be used only for 
 relative addressing’. I couldn’t find related bug report, should I open one?
 
 Screen Shot 2014-09-03 at 20.40.17.png
 
 Uko
 
 
 
 -- 
 --
 Marcus Denker  --  den...@acm.org
 http://www.marcusdenker.de
 



Re: [Pharo-dev] Special case of pool access lookup crash

2014-09-04 Thread Marcus Denker

On 04 Sep 2014, at 10:12, Yuriy Tymchuk yuriy.tymc...@me.com wrote:

 I’ve investigated an error.
 
 It occurs as follows:
 1. Two class variables (assoc subclass) are checked for equality. This also 
 checks the equality of assoc. values.
 2. When two registers are checked for equality their code is checked. #code 
 method in AJx64RipRegister throws an error.
 
 one thing that bothers me is that global variables comparison relies on their 
 content’s functionality.
 
 On the other hand there is no way to compare AJx64RipRegister registers, as 
 #= inherited from AJBaseReg will %100 crash.
 
I think the solution is to use #identityIncludes: in 

whichSelectorsReferTo: literal special: specialFlag byte: specialByte
Answer a set of selectors whose methods access the argument as a literal.

| who |
who := IdentitySet new.
self selectorsAndMethodsDo: 
[:sel :method |
((method hasLiteral: literal) or: [specialFlag and: [method scanFor: 
specialByte]])
ifTrue:
[((literal isVariableBinding) not
or: [method literals allButLast identityIncludes: literal])
ifTrue: [who add: sel]]].
^ who




 Uko
 
 On 04 Sep 2014, at 09:55, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 Sure https://pharo.fogbugz.com/f/cases/13952/Pool-access-lookup-crash
 
 On 04 Sep 2014, at 09:44, Marcus Denker marcus.den...@inria.fr wrote:
 
 Hi,
 
 No, not yet reported. Can you open an issue?
 
 
 On Wed, Sep 3, 2014 at 8:43 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 Hi everyone,
 
 when you go to AJx86Registers class, press “Show class variables” and 
 select ‘IP’, then it crashes with: 'RIP register IP cannot be used only for 
 relative addressing’. I couldn’t find related bug report, should I open one?
 
 Screen Shot 2014-09-03 at 20.40.17.png
 
 Uko
 
 
 
 -- 
 --
 Marcus Denker  --  den...@acm.org
 http://www.marcusdenker.de
 
 



Re: [Pharo-dev] Special case of pool access lookup crash

2014-09-04 Thread Yuriy Tymchuk
Makes sense for me.

Uko

On 04 Sep 2014, at 10:26, Marcus Denker marcus.den...@inria.fr wrote:

 
 On 04 Sep 2014, at 10:12, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 I’ve investigated an error.
 
 It occurs as follows:
 1. Two class variables (assoc subclass) are checked for equality. This also 
 checks the equality of assoc. values.
 2. When two registers are checked for equality their code is checked. #code 
 method in AJx64RipRegister throws an error.
 
 one thing that bothers me is that global variables comparison relies on 
 their content’s functionality.
 
 On the other hand there is no way to compare AJx64RipRegister registers, as 
 #= inherited from AJBaseReg will %100 crash.
 
 I think the solution is to use #identityIncludes: in 
 
 whichSelectorsReferTo: literal special: specialFlag byte: specialByte
 Answer a set of selectors whose methods access the argument as a 
 literal.
 
 | who |
 who := IdentitySet new.
 self selectorsAndMethodsDo: 
 [:sel :method |
 ((method hasLiteral: literal) or: [specialFlag and: [method scanFor: 
 specialByte]])
 ifTrue:
 [((literal isVariableBinding) not
 or: [method literals allButLast identityIncludes: 
 literal])
 ifTrue: [who add: sel]]].
 ^ who
 
 
 
 
 Uko
 
 On 04 Sep 2014, at 09:55, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 
 Sure https://pharo.fogbugz.com/f/cases/13952/Pool-access-lookup-crash
 
 On 04 Sep 2014, at 09:44, Marcus Denker marcus.den...@inria.fr wrote:
 
 Hi,
 
 No, not yet reported. Can you open an issue?
 
 
 On Wed, Sep 3, 2014 at 8:43 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote:
 Hi everyone,
 
 when you go to AJx86Registers class, press “Show class variables” and 
 select ‘IP’, then it crashes with: 'RIP register IP cannot be used only 
 for relative addressing’. I couldn’t find related bug report, should I 
 open one?
 
 Screen Shot 2014-09-03 at 20.40.17.png
 
 Uko
 
 
 
 -- 
 --
 Marcus Denker  --  den...@acm.org
 http://www.marcusdenker.de
 
 
 



Re: [Pharo-dev] How to see a Pharo job configuration - getting null pointer error?

2014-09-04 Thread Christophe Demarey

Le 3 sept. 2014 à 17:59, Tim Mackinnon a écrit :

 Believe me, I understand the PIA part of CI ;)
 
 You are right about the account though. I do have an account - so I tried 
 logging in to ci.inria.fr - and I get a dashboard to navigate down to 
 Pharo-contributions, but clicking the jenkins button for that project gives 
 me the https://ci.inria.fr/pharo-contribution/? link I’ve been used to.
 

Pay attention that ci.inria.fr and ci.inria.fr/aproject don't point to the 
same web site / host.
It means that even if you are logged in ci.inria.fr, you need to log in on 
ci.inria.fr/xxx to be able to manage jobs, see configurations, etc.
It is a bit boring, but at least, it is the same user name / password.



smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-dev] Spec license

2014-09-04 Thread Christophe Demarey

Le 3 sept. 2014 à 10:24, Torsten Bergmann a écrit :

 It is interesting that there is also a new Spec release [2] announced this 
 week 

I can see in the announce:
Adds SpecTableLayout, thanks @webwarrior-ws
Removes hardcoded colors, thanks @Uko

Do the authors of contribution (or their company if the contribution is done at 
work) agree on the new spec license?
If not, it cannot be part of the new spec and could be integrated in Pharo spec.
If so, we won't be able to integrate these fixes in Pharo.

It woud be good that spec contributors clarify their position.

Regards,
Christophe.



smime.p7s
Description: S/MIME cryptographic signature


[Pharo-dev] [pharo-project/pharo-core] fe318c: 40200

2014-09-04 Thread GitHub
  Branch: refs/heads/4.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: fe318cf51a19a10a3bf7de79432aa670d02b78c0
  
https://github.com/pharo-project/pharo-core/commit/fe318cf51a19a10a3bf7de79432aa670d02b78c0
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
M 
FuelCommandLineHandler.package/FLFuelCommandLineHandler.class/instance/activation/activate.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
scripts/script200.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
updates/update40200.st
M 
ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
R 
Settings-System.package/SystemSystemSettings.class/class/settings/authorSettingOn_.st
R Settings-Tools.package/CodeHolderSystemSettings.class/README.md
R 
Settings-Tools.package/CodeHolderSystemSettings.class/class/settings/codeEditingSettingsOn_.st
R Settings-Tools.package/CodeHolderSystemSettings.class/definition.st
A System-Support.package/Author.class/class/settings/authorSettingOn_.st
A Text-Edition.package/Editor.class/class/settings/editingSettingsOn_.st

  Log Message:
  ---
  40200
13915 Remove apparently unneeded reference to ThreadSafeTranscript
https://pharo.fogbugz.com/f/cases/13915

13951 Small Settings Cleanup
https://pharo.fogbugz.com/f/cases/13951

http://files.pharo.org/image/40/40200.zip




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

2014-09-04 Thread GitHub
  Branch: refs/tags/40200
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] Spec license

2014-09-04 Thread Christophe Demarey
Yes, you should add a slice in the Pharo inbox with your contribution but ... 
it depends under which license you first published your contribution. If it was 
MIT, it is fine (and spec is out of law). If it was the double licensing, we 
will not be able to integrate it into Pharo. We should re-implement this 
functionality.
I know these things are boring but we should take care to avoid potential 
problems in the future.

Le 4 sept. 2014 à 11:13, Yuriy Tymchuk a écrit :

 Oh wow, it’s amazing how complicated things can get… What you I have to do to 
 have fixes available in Pharo? Send a slice to Pharo inbox? I just want to 
 use dark theme in pharo and don’t have ugly UI parts
 
 Uko
 
 On 04 Sep 2014, at 10:52, Christophe Demarey christophe.dema...@inria.fr 
 wrote:
 
 
 Le 3 sept. 2014 à 10:24, Torsten Bergmann a écrit :
 
 It is interesting that there is also a new Spec release [2] announced this 
 week 
 
 I can see in the announce:
 Adds SpecTableLayout, thanks @webwarrior-ws
 Removes hardcoded colors, thanks @Uko
 
 Do the authors of contribution (or their company if the contribution is done 
 at work) agree on the new spec license?
 If not, it cannot be part of the new spec and could be integrated in Pharo 
 spec.
 If so, we won't be able to integrate these fixes in Pharo.
 
 It woud be good that spec contributors clarify their position.
 
 Regards,
 Christophe.
 
 



smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-dev] PharoLauncher on Windows not the latest version

2014-09-04 Thread kilon alios
So I manage to get Launcher running with downloading pharolauncher zip and
then downloading pharo 3 and joining the two folders. Launcher now runs but
 I dont want it to store images in my c drive so I go to preferences and
tell it where in my D drive to save images (D:\software\PharoImages) I
press enter and I am getting this error

WindowsStore(Object)primitiveFailed:
WindowsStore(Object)primitiveFailed
WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
FileSystemrename:ifAbsent:to:ifPresent:
FileSystemrename:to:
FileReferencemoveTo:
PhLRelocateImageDirectoryCommandexecute in Block: [ :child | child
moveTo: (self target resolvePath:...etc...
Array(SequenceableCollection)collect:
PhLRelocateImageDirectoryCommandexecute
PhLRelocateImageDirectoryCommandexecuteOrInform
PhLDirectoryBasedImageRepository classmigrateFrom:to:
PhLDirectoryBasedImageRepository classlocation:
PhLDirectoryBasedImageRepository classlocationString:
SettingDeclarationrealValue:
SettingDeclarationindex:
EditableDropListMorph(DropListMorph)listSelectionIndex:
EditableDropListMorphcontent:
PluggableTextFieldMorphacceptTextInModel
PluggableTextFieldMorph(PluggableTextMorph)acceptBasic
PluggableTextFieldMorphaccept
TextMorphForFieldView(TextMorphForEditView)acceptContents
TextEditoraccept
TextMorphForFieldView(TextMorphForEditView)keyStroke:
TextMorphForFieldViewkeyStroke:
TextMorphForFieldView(TextMorph)handleKeystroke:
KeyboardEventsentTo:
TextMorphForFieldView(Morph)handleEvent:
TextMorphForFieldView(Morph)handleFocusEvent:
HandMorphsendFocusEvent:to:clear: in Block: [ ...
BlockClosureon:do:



On Mon, Sep 1, 2014 at 12:06 PM, kilon alios kilon.al...@gmail.com wrote:

 I am not back to my work pc, so if you have any ideas how to proceed I am
 open to suggestions.


 On Thu, Aug 28, 2014 at 5:17 PM, Tim Mackinnon tim@testit.works wrote:

 Kilon - it would be good if we could percevear to try and get a fix and
 detailed instructions for other less confident users… At least test Ben’s
 updated installer so we can clear this.

 I appreciate the aggravation you are putting up with.

 Tim

 On 28 Aug 2014, at 10:35, kilon alios kilon.al...@gmail.com wrote:

 My work pc is dual boot to ubuntu and win 7 . I am not a fan of linux
 either, loads of problems there but nowhere near as bad as windoom.

 I need windoom because of a Greek OCR I use at work to scan legal
 documents. I have no choice other than to continue using it.

 I dont care what the corporate world does or the fact that almost 100% of
 my fellow lawyers use windoom and some still DOS. Thats their problem :D

 It would be nice to support what 95% of people use out there, but alas I
 cant take it anymore. Coding should be fun, Windoom kills my inner child.
 Sorry for those that have to tolerate this crap, but I am lucky enough not
 to .

 /ranting off


 On Thu, Aug 28, 2014 at 11:50 AM, Ben Coman b...@openinworld.com wrote:

 kilon alios wrote:

 ok thing get worse and worse

 I try to run pharo as administrator and pharo opens and exits
 immediately , it creates a stderr which contains the following

 http://pastebin.com/v9Hpx9pK

 I found the folder you mentioned and I deleted it , now pharo does not
 open at all even when run without run as administrator
 Boy I hate Windoom. I also tried Tim link , nothing, pharo opens but
 does nothing, no gui, nothing. I know it opens because i can see its
 process in the task manager which i have to terminate manually.
 I do all my coding and art on macos, I only have windows at work so i
 can test my code on windoom too, but this was the last straw, I had enough
 with this uber crappy OS for 17 years now. I am dropping support for it and
 sticking to MacOS only.
 Thanks guys for your help but it does not worth it. I hope no other
 windows user experience my problem.


 I empathize.  I've been a Linux advocate for years, but never made the
 full desktop switch since I needed a Windows system for corporate
 compatibility. Then I got a mac-mini to experiment with iPad Mobile Device
 Management, and found it easier to get Latex working on it than on Windows
 (for processing Pillar output), and now I find myself using it for Pharo
 more every day, and my Windows box is starting to be neglected (except I
 still need to migrate my old Thunderbird email archive).

 However success in the corporate world still hinges a lot on Windows
 compatibility. I will still have a go at updating PharoLauncher Installer
 to avoid this problem.
 cheers, Ben

 P.S. @Tim, Your alternate-VM feature sound interesting.  I'll check it
 out.







[Pharo-dev] Gitfiletree on Windows does not work

2014-09-04 Thread kilon alios
I get a script out of bounds error, if I try to import my git folder. Is
this a known problem ?


Re: [Pharo-dev] Gitfiletree on Windows does not work

2014-09-04 Thread Thierry Goubier
Yes,

no support for OSProcess in Pharo for Windows :(

Eliot Miranda has released some code that has to be integrated to get
OSProcess to work, and it would be also possible to use WindowOS for
gitfiletree, or wait until libcgit is integrated. Window OS integration/use
would be the fastest[*] way to get it, but I don't have Windows to do it :(

[*] A productive day pair programming in Windows would be enough.

Thierry


2014-09-04 13:17 GMT+02:00 kilon alios kilon.al...@gmail.com:

 I get a script out of bounds error, if I try to import my git folder. Is
 this a known problem ?



Re: [Pharo-dev] PharoLauncher on Windows not the latest version

2014-09-04 Thread Tim Mackinnon
Just to check - did you confirm that it worked on your C: drive (I’m assuming 
yes - but given you’ve had to cobble together a running version, its worth 
making sure to you have a good baseline). I’m on OSX but don’t have a separate 
drive - so I haven’t notice that (I guess if I plugged in a portable drive, I 
could try that).

Tim

On 4 Sep 2014, at 11:15, kilon alios kilon.al...@gmail.com wrote:

 So I manage to get Launcher running with downloading pharolauncher zip and 
 then downloading pharo 3 and joining the two folders. Launcher now runs but  
 I dont want it to store images in my c drive so I go to preferences and tell 
 it where in my D drive to save images (D:\software\PharoImages) I press enter 
 and I am getting this error
 
 WindowsStore(Object)primitiveFailed:
 WindowsStore(Object)primitiveFailed
 WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
 FileSystemrename:ifAbsent:to:ifPresent:
 FileSystemrename:to:
 FileReferencemoveTo:
 PhLRelocateImageDirectoryCommandexecute in Block: [ :child | child moveTo: 
 (self target resolvePath:...etc...
 Array(SequenceableCollection)collect:
 PhLRelocateImageDirectoryCommandexecute
 PhLRelocateImageDirectoryCommandexecuteOrInform
 PhLDirectoryBasedImageRepository classmigrateFrom:to:
 PhLDirectoryBasedImageRepository classlocation:
 PhLDirectoryBasedImageRepository classlocationString:
 SettingDeclarationrealValue:
 SettingDeclarationindex:
 EditableDropListMorph(DropListMorph)listSelectionIndex:
 EditableDropListMorphcontent:
 PluggableTextFieldMorphacceptTextInModel
 PluggableTextFieldMorph(PluggableTextMorph)acceptBasic
 PluggableTextFieldMorphaccept
 TextMorphForFieldView(TextMorphForEditView)acceptContents
 TextEditoraccept
 TextMorphForFieldView(TextMorphForEditView)keyStroke:
 TextMorphForFieldViewkeyStroke:
 TextMorphForFieldView(TextMorph)handleKeystroke:
 KeyboardEventsentTo:
 TextMorphForFieldView(Morph)handleEvent:
 TextMorphForFieldView(Morph)handleFocusEvent:
 HandMorphsendFocusEvent:to:clear: in Block: [ ...
 BlockClosureon:do:
 
 
 
 On Mon, Sep 1, 2014 at 12:06 PM, kilon alios kilon.al...@gmail.com wrote:
 I am not back to my work pc, so if you have any ideas how to proceed I am 
 open to suggestions. 
 
 
 On Thu, Aug 28, 2014 at 5:17 PM, Tim Mackinnon tim@testit.works wrote:
 Kilon - it would be good if we could percevear to try and get a fix and 
 detailed instructions for other less confident users… At least test Ben’s 
 updated installer so we can clear this.
 
 I appreciate the aggravation you are putting up with.
 
 Tim
  
 On 28 Aug 2014, at 10:35, kilon alios kilon.al...@gmail.com wrote:
 
 My work pc is dual boot to ubuntu and win 7 . I am not a fan of linux 
 either, loads of problems there but nowhere near as bad as windoom. 
 
 I need windoom because of a Greek OCR I use at work to scan legal documents. 
 I have no choice other than to continue using it. 
 
 I dont care what the corporate world does or the fact that almost 100% of my 
 fellow lawyers use windoom and some still DOS. Thats their problem :D
 
 It would be nice to support what 95% of people use out there, but alas I 
 cant take it anymore. Coding should be fun, Windoom kills my inner child. 
 Sorry for those that have to tolerate this crap, but I am lucky enough not 
 to . 
 
 /ranting off 
 
 
 On Thu, Aug 28, 2014 at 11:50 AM, Ben Coman b...@openinworld.com wrote:
 kilon alios wrote:
 ok thing get worse and worse
 
 I try to run pharo as administrator and pharo opens and exits immediately , 
 it creates a stderr which contains the following
 
 http://pastebin.com/v9Hpx9pK
 
 I found the folder you mentioned and I deleted it , now pharo does not open 
 at all even when run without run as administrator 
 Boy I hate Windoom. I also tried Tim link , nothing, pharo opens but does 
 nothing, no gui, nothing. I know it opens because i can see its process in 
 the task manager which i have to terminate manually. 
 I do all my coding and art on macos, I only have windows at work so i can 
 test my code on windoom too, but this was the last straw, I had enough with 
 this uber crappy OS for 17 years now. I am dropping support for it and 
 sticking to MacOS only. 
 Thanks guys for your help but it does not worth it. I hope no other windows 
 user experience my problem. 
 
 
 I empathize.  I've been a Linux advocate for years, but never made the full 
 desktop switch since I needed a Windows system for corporate compatibility. 
 Then I got a mac-mini to experiment with iPad Mobile Device Management, and 
 found it easier to get Latex working on it than on Windows (for processing 
 Pillar output), and now I find myself using it for Pharo more every day, and 
 my Windows box is starting to be neglected (except I still need to migrate 
 my old Thunderbird email archive).
 
 However success in the corporate world still hinges a lot on Windows 
 compatibility. I will still have a go at updating PharoLauncher Installer to 
 avoid this problem. 
 cheers, 

Re: [Pharo-dev] Gitfiletree on Windows does not work

2014-09-04 Thread kilon alios
ah ok i see, so i will do it manually then using filetree thank you :)


On Thu, Sep 4, 2014 at 2:34 PM, Thierry Goubier thierry.goub...@gmail.com
wrote:

 Yes,

 no support for OSProcess in Pharo for Windows :(

 Eliot Miranda has released some code that has to be integrated to get
 OSProcess to work, and it would be also possible to use WindowOS for
 gitfiletree, or wait until libcgit is integrated. Window OS integration/use
 would be the fastest[*] way to get it, but I don't have Windows to do it :(

 [*] A productive day pair programming in Windows would be enough.

 Thierry


 2014-09-04 13:17 GMT+02:00 kilon alios kilon.al...@gmail.com:

 I get a script out of bounds error, if I try to import my git folder. Is
 this a known problem ?





Re: [Pharo-dev] PharoLauncher on Windows not the latest version

2014-09-04 Thread kilon alios
yes launcher works fine with C , i am actually using a pharo 3 image with
it that I downloaded with pharolauncher.I had so far one  windows problem
after another, for example I tried to get gitfiletree and for some reason
shortcuts dont work so I tried alt+d and ctrl+d to do it , nothing. The
Gofer complained that it has no loadStable message while it has so I had to
do the cascade one line at a time instead. Etc Etc. Pharo needs definetly
more developers on windows side. Its clear that development is unix
centered but then the story is the same for most open source projects out
there. Looks like windows is extremely popular with users and extremely
unpopular with at least open source developers .

Do I blame them ? hell no :D


On Thu, Sep 4, 2014 at 2:40 PM, Tim Mackinnon tim@testit.works wrote:

 Just to check - did you confirm that it worked on your C: drive (I’m
 assuming yes - but given you’ve had to cobble together a running version,
 its worth making sure to you have a good baseline). I’m on OSX but don’t
 have a separate drive - so I haven’t notice that (I guess if I plugged in a
 portable drive, I could try that).

 Tim

 On 4 Sep 2014, at 11:15, kilon alios kilon.al...@gmail.com wrote:

 So I manage to get Launcher running with downloading pharolauncher zip and
 then downloading pharo 3 and joining the two folders. Launcher now runs but
  I dont want it to store images in my c drive so I go to preferences and
 tell it where in my D drive to save images (D:\software\PharoImages) I
 press enter and I am getting this error

 WindowsStore(Object)primitiveFailed:
 WindowsStore(Object)primitiveFailed
 WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
 FileSystemrename:ifAbsent:to:ifPresent:
 FileSystemrename:to:
 FileReferencemoveTo:
 PhLRelocateImageDirectoryCommandexecute in Block: [ :child | child
 moveTo: (self target resolvePath:...etc...
 Array(SequenceableCollection)collect:
 PhLRelocateImageDirectoryCommandexecute
 PhLRelocateImageDirectoryCommandexecuteOrInform
 PhLDirectoryBasedImageRepository classmigrateFrom:to:
 PhLDirectoryBasedImageRepository classlocation:
 PhLDirectoryBasedImageRepository classlocationString:
 SettingDeclarationrealValue:
 SettingDeclarationindex:
 EditableDropListMorph(DropListMorph)listSelectionIndex:
 EditableDropListMorphcontent:
 PluggableTextFieldMorphacceptTextInModel
 PluggableTextFieldMorph(PluggableTextMorph)acceptBasic
 PluggableTextFieldMorphaccept
 TextMorphForFieldView(TextMorphForEditView)acceptContents
 TextEditoraccept
 TextMorphForFieldView(TextMorphForEditView)keyStroke:
 TextMorphForFieldViewkeyStroke:
 TextMorphForFieldView(TextMorph)handleKeystroke:
 KeyboardEventsentTo:
 TextMorphForFieldView(Morph)handleEvent:
 TextMorphForFieldView(Morph)handleFocusEvent:
 HandMorphsendFocusEvent:to:clear: in Block: [ ...
 BlockClosureon:do:



 On Mon, Sep 1, 2014 at 12:06 PM, kilon alios kilon.al...@gmail.com
 wrote:

 I am not back to my work pc, so if you have any ideas how to proceed I am
 open to suggestions.


 On Thu, Aug 28, 2014 at 5:17 PM, Tim Mackinnon tim@testit.works wrote:

 Kilon - it would be good if we could percevear to try and get a fix and
 detailed instructions for other less confident users… At least test Ben’s
 updated installer so we can clear this.

 I appreciate the aggravation you are putting up with.

 Tim

 On 28 Aug 2014, at 10:35, kilon alios kilon.al...@gmail.com wrote:

 My work pc is dual boot to ubuntu and win 7 . I am not a fan of linux
 either, loads of problems there but nowhere near as bad as windoom.

 I need windoom because of a Greek OCR I use at work to scan legal
 documents. I have no choice other than to continue using it.

 I dont care what the corporate world does or the fact that almost 100%
 of my fellow lawyers use windoom and some still DOS. Thats their problem :D

 It would be nice to support what 95% of people use out there, but alas I
 cant take it anymore. Coding should be fun, Windoom kills my inner child.
 Sorry for those that have to tolerate this crap, but I am lucky enough not
 to .

 /ranting off


 On Thu, Aug 28, 2014 at 11:50 AM, Ben Coman b...@openinworld.com wrote:

 kilon alios wrote:

 ok thing get worse and worse

 I try to run pharo as administrator and pharo opens and exits
 immediately , it creates a stderr which contains the following

 http://pastebin.com/v9Hpx9pK

 I found the folder you mentioned and I deleted it , now pharo does not
 open at all even when run without run as administrator
 Boy I hate Windoom. I also tried Tim link , nothing, pharo opens but
 does nothing, no gui, nothing. I know it opens because i can see its
 process in the task manager which i have to terminate manually.
 I do all my coding and art on macos, I only have windows at work so i
 can test my code on windoom too, but this was the last straw, I had enough
 with this uber crappy OS for 17 years now. I am dropping support for it 
 and
 sticking to MacOS only.
 Thanks guys for your help 

[Pharo-dev] AppeX

2014-09-04 Thread Torsten Bergmann
Hi Phil,

if there is something I would like to see our Pharo ecosystem and ST in general 
moving 
towards is to such a multilanguage/multisourcecode/flexible ressources 
kind of
thing. Even when this could not be a short term goal I would like to see this
in the long term. 

Regarding integration of different resources

 1. we need a better text editor and not only doing Smalltalk completion/styling
but have this pluggable as well 
 = if I'm not mistaken this is what TxText project partly is caring 
about

If I remember correctly in VW there were browser plugins to the browsers 
code
pane allowing you for instance to directly edit XML as a tree and styling
while the XML text it is stored in a method, etc.

Similar to Eclipse where depending on the content type one or more different
pluggable editors could be used.
 
 2. it should be possible to store and save different code/text formats as 
source for methods
 = you can already do it similar to Seaside by just returning Strings
 = maybe a pragma could be used  
foo
  language: #JavaScript
  ^'alert(hi);'
 = the selector could/should be decoupled from the method body to be 
more flexible,
not only in editing 
(interesting idea and already in Moose, see Tudors talk from ESUG 
2014
 
https://www.youtube.com/watch?v=LKVPJU3W5Yslist=PLJ5nSnWzQXi_6yyRLsMMBqG8YlwfhvB0Xindex=94)
 especially at the beginning of video 3/3.

 3. we should think about where the source code (Smalltalk or not) is stored, 
it should be
more flexible as well

 = there already was a discussion of integrating the source file into 
the image
Pharo4.0 but I would additionally also like to integrate the other 
way around (why not
edit an external file (CSS, JavaScript, XML, ...) linked as a 
method in the system 
with the internal Smalltalk tools)
So one could imagine a method like this where the string is stored 
in an external file.

  zincMustacheTemplate
 language: 'HTML' external: 'index.html'
 
^'htmlbodyheadtitle{{AppTitle}}/title/head/body'
 
Many other ideas come to mind.

Regarding the integration of multiple languages:

As we all know we have our image and VM provides a dynamic object system and 
Smalltalk is only a language that is built into it. So can be others and we 
would
open up more.

There are many examples of this already in the Smalltalk world:
 - VisualAge for Java was implemented and running inside of VisualAge for 
Smalltalk
   using all the tools
 - running Java inside of Smalltalk/X 
 - C Source code of the VM can edited and changed in Smalltalk/X tools 
 - JavaScript on top of VW as seen on ESUG 2014, 
https://www.youtube.com/watch?v=ZGAMCz62OM0 
 - Helvetia (http://scg.unibe.ch/research/helvetia)

Helvetia could be a starting point for Pharo here, also parser frameworks like 
PetitParser, ...
Many things are already possible from the meta side.

Maybe one could port the MIT licensed JavaScript implementation from VW to Pharo
and try out if our infrastructure (Compiler, Parser, source code editing) could
really be made pluggable. Would open up Pharo also to JavaScript developers and
maybe realign better with Amber. 

So many things we could do to reduce the friction between Smalltalk and the 
outside world
... but lots of work if done right.

Bye
T. 










Re: [Pharo-dev] AppeX

2014-09-04 Thread Thierry Goubier
1. We have some of the pieces for that coming together. We have a large
array of programming language parsers with PetitParser and SmaCC (Java, C#,
Python, JavaScript?, R?) (some of them proprietary, however: C, ADA) and
they can be used for styling (thanks Usman for showing me how) and probably
completion.

This could probably fit in the current text editor just about fine, but a
better one wouldn't hurt.

That the current text morphs sees everything as smalltalk source code isn't
hard to correct :)

2. and 3. Same. Once you abstract a bit some of the IDE building blocks,
you can store code anywhere you want: even at the Pharo IDE level, a code
pane is just a text editor with a specific way of saving code, which could
be changed in a snap.

However, I wouldn't be too much into emulating a language: it may be a very
heavy and complex endeavour. Running behind a Pharo based IDE the
interpreter or the compiler of a language X (R, Python) looks to me a more
reasonable proposition.

I'm currently looking at leveraging some of the IDE stuff I have and the
SmaCC infrastructure to be able to build experimental IDEs for
non-Smalltalk languages and external DSLs. Write or get a SmaCC parser for
a language and you would have an IDE core building blocks ready for reuse
and customization.

Thierry


2014-09-04 14:18 GMT+02:00 Torsten Bergmann asta...@gmx.de:

 Hi Phil,

 if there is something I would like to see our Pharo ecosystem and ST in
 general moving
 towards is to such a multilanguage/multisourcecode/flexible
 ressources kind of
 thing. Even when this could not be a short term goal I would like to see
 this
 in the long term.

 Regarding integration of different resources
 
  1. we need a better text editor and not only doing Smalltalk
 completion/styling
 but have this pluggable as well
  = if I'm not mistaken this is what TxText project partly is
 caring about

 If I remember correctly in VW there were browser plugins to the
 browsers code
 pane allowing you for instance to directly edit XML as a tree and
 styling
 while the XML text it is stored in a method, etc.

 Similar to Eclipse where depending on the content type one or more
 different
 pluggable editors could be used.

  2. it should be possible to store and save different code/text formats as
 source for methods
  = you can already do it similar to Seaside by just returning
 Strings
  = maybe a pragma could be used
 foo
   language: #JavaScript
   ^'alert(hi);'
  = the selector could/should be decoupled from the method body to
 be more flexible,
 not only in editing
 (interesting idea and already in Moose, see Tudors talk from
 ESUG 2014

 https://www.youtube.com/watch?v=LKVPJU3W5Yslist=PLJ5nSnWzQXi_6yyRLsMMBqG8YlwfhvB0Xindex=94
 )
  especially at the beginning of video 3/3.

  3. we should think about where the source code (Smalltalk or not) is
 stored, it should be
 more flexible as well

  = there already was a discussion of integrating the source file
 into the image
 Pharo4.0 but I would additionally also like to integrate the
 other way around (why not
 edit an external file (CSS, JavaScript, XML, ...) linked as a
 method in the system
 with the internal Smalltalk tools)
 So one could imagine a method like this where the string is
 stored in an external file.

   zincMustacheTemplate
  language: 'HTML' external: 'index.html'

  ^'htmlbodyheadtitle{{AppTitle}}/title/head/body'

 Many other ideas come to mind.

 Regarding the integration of multiple languages:
 
 As we all know we have our image and VM provides a dynamic object system
 and
 Smalltalk is only a language that is built into it. So can be others and
 we would
 open up more.

 There are many examples of this already in the Smalltalk world:
  - VisualAge for Java was implemented and running inside of VisualAge for
 Smalltalk
using all the tools
  - running Java inside of Smalltalk/X
  - C Source code of the VM can edited and changed in Smalltalk/X tools
  - JavaScript on top of VW as seen on ESUG 2014,
 https://www.youtube.com/watch?v=ZGAMCz62OM0
  - Helvetia (http://scg.unibe.ch/research/helvetia)

 Helvetia could be a starting point for Pharo here, also parser frameworks
 like PetitParser, ...
 Many things are already possible from the meta side.

 Maybe one could port the MIT licensed JavaScript implementation from VW to
 Pharo
 and try out if our infrastructure (Compiler, Parser, source code editing)
 could
 really be made pluggable. Would open up Pharo also to JavaScript
 developers and
 maybe realign better with Amber.

 So many things we could do to reduce the friction between Smalltalk and
 the outside world
 ... but lots of work if done right.

 Bye

[Pharo-dev] [pharo-project/pharo-core] 8a6fb9: 40201

2014-09-04 Thread GitHub
  Branch: refs/heads/4.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 8a6fb927e005f201b0a70521d5ecd5df333aec1c
  
https://github.com/pharo-project/pharo-core/commit/8a6fb927e005f201b0a70521d5ecd5df333aec1c
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2014-09-04 (Thu, 04 Sep 2014)

  Changed paths:
M Pharo-Help.package/PharoEnvironmentHelp.class/README.md
M 
Pharo-Help.package/PharoEnvironmentHelp.class/class/help-text/wikiStyleHelp.st
R 
Refactoring-Tests-Core.package/RBBasicLintRuleTest.class/class/accessing/protocols.st
A 
Refactoring-Tests-Core.package/RBBasicLintRuleTest.class/class/accessing/protocolsToCheck.st
M Refactoring-Tests-Core.package/RBCompositeLintRuleTest.class/class/all 
checks/lintChecks.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
scripts/script201.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
updates/update40201.st
M 
ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M Traits.package/TBehavior.class/instance/testing method 
dictionary/whichSelectorsReferTo_special_byte_.st

  Log Message:
  ---
  40201
13952 Pool access lookup crash
https://pharo.fogbugz.com/f/cases/13952

13811 Improve Pharo Environment Help Text
https://pharo.fogbugz.com/f/cases/13811

13929 RBBasicLintRuleTest class implements protocols
https://pharo.fogbugz.com/f/cases/13929

13930 remove empty packages NOCompiletion and NECompletion-Tests
https://pharo.fogbugz.com/f/cases/13930

http://files.pharo.org/image/40/40201.zip




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

2014-09-04 Thread GitHub
  Branch: refs/tags/40201
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] Why doesn't the OSX vm show the name of the running image?

2014-09-04 Thread Tim Mackinnon
Yes - I guess you are right… I suppose the actual difference is that you get 1 
icon for something like Finder - and then you can do that wizzy thing where you 
press a key to show an overview of the different instances and they do show the 
name of the document.

so maybe (and I doubt it would ever happen, but with infinite resource we 
would) - we could get it to show 1 icon, and let you CMD-` between them.

Tim

On 3 Sep 2014, at 17:46, Ben Coman b...@openinworld.com wrote:

 Tim Mackinnon wrote:
 I’m wondering if there is a particular reason why the VM on OSX, just shows 
 the name of the .app file and not the running image?
 
 I’ve downloaded the recent 3.0 vm, and used it to launch two images (I set 
 it as the default app and double clicked on 2 different images) - and when 
 you do a CMD-Tab, its a bit confusing because all you see are two apps that 
 say “Pharo 3.0” - so its hard to distinguish between them. It may be an OSX 
 limitation - but I thought it was worth asking.
 
 I can create a fogbugz if anyone thinks its worthy.
 
 Tim
 
  
 
 It would be nice for those icons to show the image name, but all the other 
 applications I have open also don't show the names of their open 
 documents/content.  ???
 
 




Re: [Pharo-dev] Why doesn't the OSX vm show the name of the running image?

2014-09-04 Thread Ben Coman




Tim Mackinnon wrote:

  Yes - I guess you are right… I suppose the actual difference is that you get 1 icon for something like Finder - and then you can do that wizzy thing where you press a key to show an overview of the different instances and they do show the name of the document.

so maybe (and I doubt it would ever happen, but with infinite resource we would) - we could get it to show 1 icon, and let you CMD-` between them.

Tim
  


btw, What is that whizzy thing key?  I tried CMD-` and it moved the
selection left on item, like a back-tab.
cheers -ben



  
On 3 Sep 2014, at 17:46, Ben Coman b...@openinworld.com wrote:

  
  
Tim Mackinnon wrote:


  I’m wondering if there is a particular reason why the VM on OSX, just shows the name of the .app file and not the running image?

I’ve downloaded the recent 3.0 vm, and used it to launch two images (I set it as the default app and double clicked on 2 different images) - and when you do a CMD-Tab, its a bit confusing because all you see are two apps that say “Pharo 3.0” - so its hard to distinguish between them. It may be an OSX limitation - but I thought it was worth asking.

I can create a fogbugz if anyone thinks its worthy.

Tim

 
  

It would be nice for those icons to show the image name, but all the other applications I have open also don't show the names of their open documents/content.  ???



  
  


  








Re: [Pharo-dev] PharoLauncher on Windows not the latest version

2014-09-04 Thread kilon alios
Ben you amaze me once more, thank you for the deep insight and I am very
glad is not just me. I completely agree with you (b) is the best option, I
prefer having things outside VM unless of course is true VM functionality.
I may look at VM code in the future too, I think I have done it for squeak.
The problem with touching VM code is that may be difficult to know how you
will effect the system even if the debugger does not complain. But none the
less the knowledge can become handy.


On Thu, Sep 4, 2014 at 7:53 PM, Ben Coman b...@openinworld.com wrote:

  I can confirm this behaviour.  It looks like FilePlugin cannot 'rename'
 a folder across drives, although it can rename a file across drives. A hack
 to demonstrate from Workspace...

 filePlugin := FilePluginPrims allInstances first.
 filePlugin  rename: 'C:\Temp\Test\file1.txt' to:
 'C:\Temp\Test\file2.txt'.  --sucess
 filePlugin rename: 'E:\Temp\Test\file1.txt' to: 'E:\Temp\Test\file2.txt'.
 --sucess
 filePlugin rename: 'C:\Temp\Test\file2.txt' to: 'E:\Temp\Test\file3.txt'.
 --sucess

 filePlugin rename: 'C:\Temp\Test\folder1' to: 'C:\Temp\Test\folder2'.
 --sucess
 filePlugin rename: 'E:\Temp\Test\folder1' to: 'E:\Temp\Test\folder2'.
 --sucess
 filePlugin rename: 'C:\Temp\Test\folder2' to: 'E:\Temp\Test\folder3'.
 --fail

 I think that is more of a design constraint that a bug.  VBscript has a
 similar problem [1]. I cloned Pharo-vm off github and in
 .../platforms/wind32/plugins/FilePlugin/sqWin32FilePrims.c found function
 sqFileRenameOldSizeNewSize uses win32api function MoveFileW which is
 documented [2] as The MoveFile function will move (rename) either a file
 or a directory (including its children) either in the same directory or
 across directories. The one caveat is that the MoveFile function will fail
 on directory moves when the destination is on a different volume.

 Unix platforms don't encounter this since all volumes are mounted under
 one root.  (e.g. OSX mounting usb drives under /Volumes). I guess the Unix
 equivalent might be renaming to folder across network shares, though I'm
 not familiar with how different OS's handles that.

 However we should consider consistency across platforms.  Cross volume
 folder renames could be checked for, and modified to a copy/delete
 strategy. To state the obvious, the options of where to do this are:
 a. In PharoLauncher
 b. In Pharo in
 WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
 c. In VM

 Off the cuff, I'd vote for (b.), but others will better idea of the
 approach to take. Now if indeed a copy/delete fallback strategy is
 considered beneficial, it would need to consider how timestamps are handled.

 [1]
 https://groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gz7mv5r50xs
 [2]
 http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx

 cheers -ben

 btw, Since this was my first time looking a VM code, I'm happy to report
 it was dead easy to clone pharo-vm from github and review (without yet
 trying to compile). Actually I cloned on OSX so I could `find` the win32
 FilePlugin code.



 kilon alios wrote:

 So I manage to get Launcher running with downloading pharolauncher zip and
 then downloading pharo 3 and joining the two folders. Launcher now runs but
  I dont want it to store images in my c drive so I go to preferences and
 tell it where in my D drive to save images (D:\software\PharoImages) I
 press enter and I am getting this error

  WindowsStore(Object)primitiveFailed:
 WindowsStore(Object)primitiveFailed
 WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
 FileSystemrename:ifAbsent:to:ifPresent:
 FileSystemrename:to:
 FileReferencemoveTo:
 PhLRelocateImageDirectoryCommandexecute in Block: [ :child | child
 moveTo: (self target resolvePath:...etc...
 Array(SequenceableCollection)collect:
 PhLRelocateImageDirectoryCommandexecute
 PhLRelocateImageDirectoryCommandexecuteOrInform
 PhLDirectoryBasedImageRepository classmigrateFrom:to:
 PhLDirectoryBasedImageRepository classlocation:
 PhLDirectoryBasedImageRepository classlocationString:
 SettingDeclarationrealValue:
 SettingDeclarationindex:
 EditableDropListMorph(DropListMorph)listSelectionIndex:
 EditableDropListMorphcontent:
 PluggableTextFieldMorphacceptTextInModel
 PluggableTextFieldMorph(PluggableTextMorph)acceptBasic
 PluggableTextFieldMorphaccept
 TextMorphForFieldView(TextMorphForEditView)acceptContents
 TextEditoraccept
 TextMorphForFieldView(TextMorphForEditView)keyStroke:
 TextMorphForFieldViewkeyStroke:
 TextMorphForFieldView(TextMorph)handleKeystroke:
 KeyboardEventsentTo:
 TextMorphForFieldView(Morph)handleEvent:
 TextMorphForFieldView(Morph)handleFocusEvent:
 HandMorphsendFocusEvent:to:clear: in Block: [ ...
 BlockClosureon:do:



 On Mon, Sep 1, 2014 at 12:06 PM, kilon alios kilon.al...@gmail.com
 wrote:

 I am not back to my work pc, so if you have any ideas how to proceed I am
 open to suggestions.


 On Thu, Aug 28, 2014 at 5:17 PM, 

Re: [Pharo-dev] PharoLauncher on Windows not the latest version

2014-09-04 Thread Tim Mackinnon
Agreed - Ben you are inspiring all of us. Thanks!

Tim

Sent from my iPhone

 On 4 Sep 2014, at 06:44 pm, kilon alios kilon.al...@gmail.com wrote:
 
 Ben you amaze me once more, thank you for the deep insight and I am very glad 
 is not just me. I completely agree with you (b) is the best option, I prefer 
 having things outside VM unless of course is true VM functionality. I may 
 look at VM code in the future too, I think I have done it for squeak. The 
 problem with touching VM code is that may be difficult to know how you will 
 effect the system even if the debugger does not complain. But none the less 
 the knowledge can become handy. 
 
 
 On Thu, Sep 4, 2014 at 7:53 PM, Ben Coman b...@openinworld.com wrote:
 I can confirm this behaviour.  It looks like FilePlugin cannot 'rename' a 
 folder across drives, although it can rename a file across drives. A hack to 
 demonstrate from Workspace...
 
 filePlugin := FilePluginPrims allInstances first.
 filePlugin  rename: 'C:\Temp\Test\file1.txt' to: 'C:\Temp\Test\file2.txt'.  
 --sucess
 filePlugin rename: 'E:\Temp\Test\file1.txt' to: 'E:\Temp\Test\file2.txt'.  
 --sucess
 filePlugin rename: 'C:\Temp\Test\file2.txt' to: 'E:\Temp\Test\file3.txt'.  
 --sucess
 
 filePlugin rename: 'C:\Temp\Test\folder1' to: 'C:\Temp\Test\folder2'.  
 --sucess
 filePlugin rename: 'E:\Temp\Test\folder1' to: 'E:\Temp\Test\folder2'.  
 --sucess
 filePlugin rename: 'C:\Temp\Test\folder2' to: 'E:\Temp\Test\folder3'.  
 --fail
 
 I think that is more of a design constraint that a bug.  VBscript has a 
 similar problem [1]. I cloned Pharo-vm off github and in 
 .../platforms/wind32/plugins/FilePlugin/sqWin32FilePrims.c found function 
 sqFileRenameOldSizeNewSize uses win32api function MoveFileW which is 
 documented [2] as The MoveFile function will move (rename) either a file or 
 a directory (including its children) either in the same directory or across 
 directories. The one caveat is that the MoveFile function will fail on 
 directory moves when the destination is on a different volume. 
 
 Unix platforms don't encounter this since all volumes are mounted under one 
 root.  (e.g. OSX mounting usb drives under /Volumes). I guess the Unix 
 equivalent might be renaming to folder across network shares, though I'm not 
 familiar with how different OS's handles that.
 
 However we should consider consistency across platforms.  Cross volume 
 folder renames could be checked for, and modified to a copy/delete strategy. 
 To state the obvious, the options of where to do this are:
 a. In PharoLauncher 
 b. In Pharo in 
 WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem: 
 c. In VM 
 
 Off the cuff, I'd vote for (b.), but others will better idea of the approach 
 to take. Now if indeed a copy/delete fallback strategy is considered 
 beneficial, it would need to consider how timestamps are handled.
 
 [1] 
 https://groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gz7mv5r50xs
 [2] 
 http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx
 
 cheers -ben
 
 btw, Since this was my first time looking a VM code, I'm happy to report it 
 was dead easy to clone pharo-vm from github and review (without yet trying 
 to compile). Actually I cloned on OSX so I could `find` the win32 FilePlugin 
 code.
 
 
 
 kilon alios wrote:
 
 So I manage to get Launcher running with downloading pharolauncher zip and 
 then downloading pharo 3 and joining the two folders. Launcher now runs but 
  I dont want it to store images in my c drive so I go to preferences and 
 tell it where in my D drive to save images (D:\software\PharoImages) I 
 press enter and I am getting this error
 
 WindowsStore(Object)primitiveFailed:
 WindowsStore(Object)primitiveFailed
 WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
 FileSystemrename:ifAbsent:to:ifPresent:
 FileSystemrename:to:
 FileReferencemoveTo:
 PhLRelocateImageDirectoryCommandexecute in Block: [ :child | child 
 moveTo: (self target resolvePath:...etc...
 Array(SequenceableCollection)collect:
 PhLRelocateImageDirectoryCommandexecute
 PhLRelocateImageDirectoryCommandexecuteOrInform
 PhLDirectoryBasedImageRepository classmigrateFrom:to:
 PhLDirectoryBasedImageRepository classlocation:
 PhLDirectoryBasedImageRepository classlocationString:
 SettingDeclarationrealValue:
 SettingDeclarationindex:
 EditableDropListMorph(DropListMorph)listSelectionIndex:
 EditableDropListMorphcontent:
 PluggableTextFieldMorphacceptTextInModel
 PluggableTextFieldMorph(PluggableTextMorph)acceptBasic
 PluggableTextFieldMorphaccept
 TextMorphForFieldView(TextMorphForEditView)acceptContents
 TextEditoraccept
 TextMorphForFieldView(TextMorphForEditView)keyStroke:
 TextMorphForFieldViewkeyStroke:
 TextMorphForFieldView(TextMorph)handleKeystroke:
 KeyboardEventsentTo:
 TextMorphForFieldView(Morph)handleEvent:
 TextMorphForFieldView(Morph)handleFocusEvent:
 HandMorphsendFocusEvent:to:clear: in Block: [ ...
 

Re: [Pharo-dev] [Vm-dev] Re: PharoLauncher on Windows not the latest version

2014-09-04 Thread btc




Nicolai Hess wrote:

  
  
  2014-09-04 18:53 GMT+02:00 Ben Coman b...@openinworld.com:
   
I can confirm this
behaviour.  It looks like FilePlugin cannot 'rename'
a folder across drives, although it can rename a file across drives. A
hack to demonstrate from Workspace...

filePlugin := FilePluginPrims allInstances first.
filePlugin  rename: 'C:\Temp\Test\file1.txt' to:
'C:\Temp\Test\file2.txt'.  "--sucess"
filePlugin rename: 'E:\Temp\Test\file1.txt' to:
'E:\Temp\Test\file2.txt'.  "--sucess"
filePlugin rename: 'C:\Temp\Test\file2.txt' to:
'E:\Temp\Test\file3.txt'.  "--sucess"

filePlugin rename: 'C:\Temp\Test\folder1' to: 'C:\Temp\Test\folder2'. 
"--sucess"
filePlugin rename: 'E:\Temp\Test\folder1' to: 'E:\Temp\Test\folder2'. 
"--sucess"
filePlugin rename: 'C:\Temp\Test\folder2' to: 'E:\Temp\Test\folder3'. 
"--fail"

I think that is more of a design constraint that a bug.  _vbscript_ has a
similar problem [1]. I cloned Pharo-vm off github and in
".../platforms/wind32/plugins/FilePlugin/sqWin32FilePrims.c" found
function sqFileRenameOldSizeNewSize uses win32api function MoveFileW
which is documented [2] as "The MoveFile function will move (rename)
either a file or a directory
(including its children) either in the same directory or across
directories. The one caveat is that the MoveFile function will fail on
directory moves when the destination is on a different volume." 

Unix platforms don't encounter this since all volumes are mounted under
one root.  (e.g. OSX mounting usb drives under /Volumes). I guess the
Unix equivalent might be renaming to folder across network shares,
though I'm not familiar with how different OS's handles that.

  
  
  
  
  No, there is a similiar limitation on linux as well. Even if all
directories are under a common root dir, moving files across different
harddisks/partitions doesn't work:
  
  12992 Cannot move
files to another volume / partition under linux
  
unix/linux vm uses the system library call rename() for moving files
but this function
(http://www.gnu.org/software/libc/manual/html_node/Renaming-Files.html)
results in an error
EXDEV  'Invalid
cross-device link'
  if the two file names newname and oldname
are on different
file systems.
  
  
  
  
  
  


Thanks Nicolas.  So given that its similar across platforms and
reflects the system-level semantics, probably we should not change its
behaviour, and handle this case at the PharoLauncher level.  

However it would be useful in Image to get something like an
'InvalidCrossVolume' exception.  I'm not sure off-hand how to approach
that.

cheers -ben


  
  
  
  
  
   
  

However we should consider consistency across platforms.  Cross volume
folder renames could be checked for, and modified to a copy/delete
strategy. To state the obvious, the options of where to do this are:
a. In PharoLauncher 
b. In Pharo in
WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:

c. In VM 

Off the cuff, I'd vote for (b.), but others will better idea of the
approach to take. Now if indeed a copy/delete fallback strategy is
considered beneficial, it would need to consider how timestamps are 

  
  
  
  





  
  
  
  
led.

[1]
https://groups.google.com/forum/#!topic/microsoft.public.scripting._vbscript_/gz7mv5r50xs
[2]
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx

cheers -ben

btw, Since this was my first time looking a VM code, I'm happy to
report it was dead easy to clone pharo-vm from github and review
(without yet trying to compile). Actually I cloned on OSX so I could
`find` the win32 FilePlugin code.


kilon alios wrote:

  So I manage to get Launcher running with
downloading
pharolauncher zip and then downloading pharo 3 and joining the two
folders. Launcher now runs but  I dont want it to store images in my c
drive so I go to preferences and tell it where in my D drive to save
images (D:\software\PharoImages) I press enter and I am getting this
error
  
  
  
  WindowsStore(Object)primitiveFailed:
  WindowsStore(Object)primitiveFailed
  WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
  FileSystemrename:ifAbsent:to:ifPresent:
  FileSystemrename:to:
  FileReferencemoveTo:
  PhLRelocateImageDirectoryCommandexecute in Block: [
:child | child moveTo: (self target resolvePath:...etc...
  Array(SequenceableCollection)collect:
  PhLRelocateImageDirectoryCommandexecute
  PhLRelocateImageDirectoryCommandexecuteOrInform
  PhLDirectoryBasedImageRepository classmigrateFrom:to:
  PhLDirectoryBasedImageRepository classlocation:
  PhLDirectoryBasedImageRepository classlocationString:
  SettingDeclarationrealValue:
  SettingDeclarationindex:
  EditableDropListMorph(DropListMorph)listSelectionIndex:
  EditableDropListMorphcontent:
  PluggableTextFieldMorphacceptTextInModel
  

Re: [Pharo-dev] [Vm-dev] Re: PharoLauncher on Windows not the latest version

2014-09-04 Thread Ben Coman




b...@openinworld.com wrote:

  
Nicolai Hess wrote:
  


2014-09-04 18:53 GMT+02:00 Ben Coman b...@openinworld.com:
 
  I can confirm this
behaviour.  It looks like FilePlugin cannot 'rename'
a folder across drives, although it can rename a file across drives. A
hack to demonstrate from Workspace...
  
filePlugin := FilePluginPrims allInstances first.
filePlugin  rename: 'C:\Temp\Test\file1.txt' to:
'C:\Temp\Test\file2.txt'.  "--sucess"
filePlugin rename: 'E:\Temp\Test\file1.txt' to:
'E:\Temp\Test\file2.txt'.  "--sucess"
filePlugin rename: 'C:\Temp\Test\file2.txt' to:
'E:\Temp\Test\file3.txt'.  "--sucess"
  
filePlugin rename: 'C:\Temp\Test\folder1' to: 'C:\Temp\Test\folder2'. 
"--sucess"
filePlugin rename: 'E:\Temp\Test\folder1' to: 'E:\Temp\Test\folder2'. 
"--sucess"
filePlugin rename: 'C:\Temp\Test\folder2' to: 'E:\Temp\Test\folder3'. 
"--fail"
  
I think that is more of a design constraint that a bug.  _vbscript_ has a
similar problem [1]. I cloned Pharo-vm off github and in
".../platforms/wind32/plugins/FilePlugin/sqWin32FilePrims.c" found
function sqFileRenameOldSizeNewSize uses win32api function MoveFileW
which is documented [2] as "The MoveFile function will move (rename)
either a file or a directory
(including its children) either in the same directory or across
directories. The one caveat is that the MoveFile function will fail on
directory moves when the destination is on a different volume." 
  
Unix platforms don't encounter this since all volumes are mounted under
one root.  (e.g. OSX mounting usb drives under /Volumes). I guess the
Unix equivalent might be renaming to folder across network shares,
though I'm not familiar with how different OS's handles that.
  




No, there is a similiar limitation on linux as well. Even if
all
directories are under a common root dir, moving files across different
harddisks/partitions doesn't work:

12992 Cannot move
files to another volume / partition under linux

unix/linux vm uses the system library call rename() for moving files
but this function
(http://www.gnu.org/software/libc/manual/html_node/Renaming-Files.html)
results in an error
EXDEV  'Invalid
cross-device link'
if the two file names newname and oldname
are on different
file systems.






  
  
Thanks Nicolas.  So given that its similar across platforms and
reflects the system-level semantics, probably we should not change its
behaviour, and handle this case at the PharoLauncher level.  
  
However it would be useful in Image to get something like an
'InvalidCrossVolume' exception.  I'm not sure off-hand how to approach
that.


I added https://pharo.fogbugz.com/default.asp?13957.


cheers -ben
  
  





 

  
However we should consider consistency across platforms.  Cross volume
folder renames could be checked for, and modified to a copy/delete
strategy. To state the obvious, the options of where to do this are:
a. In PharoLauncher 
b. In Pharo in
WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
  
c. In VM 
  
Off the cuff, I'd vote for (b.), but others will better idea of the
approach to take. Now if indeed a copy/delete fallback strategy is
considered beneficial, it would need to consider how timestamps are 
  




  
  
  
  
  




  led.
  
[1] https://groups.google.com/forum/#!topic/microsoft.public.scripting._vbscript_/gz7mv5r50xs
[2] http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx
  
cheers -ben
  
btw, Since this was my first time looking a VM code, I'm happy to
report it was dead easy to clone pharo-vm from github and review
(without yet trying to compile). Actually I cloned on OSX so I could
`find` the win32 FilePlugin code.
  
  
kilon alios wrote:
  
So I manage to get Launcher running with
downloading
pharolauncher zip and then downloading pharo 3 and joining the two
folders. Launcher now runs but  I dont want it to store images in my c
drive so I go to preferences and tell it where in my D drive to save
images (D:\software\PharoImages) I press enter and I am getting this
error



WindowsStore(Object)primitiveFailed:
WindowsStore(Object)primitiveFailed
WindowsStore(FileSystemStore)rename:ifAbsent:to:ifPresent:fileSystem:
FileSystemrename:ifAbsent:to:ifPresent:
FileSystemrename:to:
FileReferencemoveTo:
PhLRelocateImageDirectoryCommandexecute in Block:
[
:child | child moveTo: (self target resolvePath:...etc...
Array(SequenceableCollection)collect:
PhLRelocateImageDirectoryCommandexecute
PhLRelocateImageDirectoryCommandexecuteOrInform
PhLDirectoryBasedImageRepository
classmigrateFrom:to:
PhLDirectoryBasedImageRepository classlocation:
PhLDirectoryBasedImageRepository
classlocationString: