Agreed - Ben you are inspiring all of us. Thanks!

Tim

Sent from my iPhone

> On 4 Sep 2014, at 06:44 pm, kilon alios <[email protected]> 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 <[email protected]> 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:
>>> FileSystem>>rename:ifAbsent:to:ifPresent:
>>> FileSystem>>rename:to:
>>> FileReference>>moveTo:
>>> PhLRelocateImageDirectoryCommand>>execute in Block: [ :child | child 
>>> moveTo: (self target resolvePath:...etc...
>>> Array(SequenceableCollection)>>collect:
>>> PhLRelocateImageDirectoryCommand>>execute
>>> PhLRelocateImageDirectoryCommand>>executeOrInform
>>> PhLDirectoryBasedImageRepository class>>migrateFrom:to:
>>> PhLDirectoryBasedImageRepository class>>location:
>>> PhLDirectoryBasedImageRepository class>>locationString:
>>> SettingDeclaration>>realValue:
>>> SettingDeclaration>>index:
>>> EditableDropListMorph(DropListMorph)>>listSelectionIndex:
>>> EditableDropListMorph>>content:
>>> PluggableTextFieldMorph>>acceptTextInModel
>>> PluggableTextFieldMorph(PluggableTextMorph)>>acceptBasic
>>> PluggableTextFieldMorph>>accept
>>> TextMorphForFieldView(TextMorphForEditView)>>acceptContents
>>> TextEditor>>accept
>>> TextMorphForFieldView(TextMorphForEditView)>>keyStroke:
>>> TextMorphForFieldView>>keyStroke:
>>> TextMorphForFieldView(TextMorph)>>handleKeystroke:
>>> KeyboardEvent>>sentTo:
>>> TextMorphForFieldView(Morph)>>handleEvent:
>>> TextMorphForFieldView(Morph)>>handleFocusEvent:
>>> HandMorph>>sendFocusEvent:to:clear: in Block: [ ...
>>> BlockClosure>>on:do:
>>> 
>>> 
>>> 
>>>> On Mon, Sep 1, 2014 at 12:06 PM, kilon alios <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 
>>>>>>> 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.
> 

Reply via email to