Re: [Pharo-dev] latex exporter in Pillar
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
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
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
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
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
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
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
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?
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
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
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]
Branch: refs/tags/40200 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] Spec license
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
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
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
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
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
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
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
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
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
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]
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?
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?
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
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
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
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
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: