<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
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...<br>
<br>
filePlugin := FilePluginPrims allInstances first.<br>
filePlugin rename: 'C:\Temp\Test\file1.txt' to:
'C:\Temp\Test\file2.txt'. "-->sucess"<br>
filePlugin rename: 'E:\Temp\Test\file1.txt' to:
'E:\Temp\Test\file2.txt'. "-->sucess"<br>
filePlugin rename: 'C:\Temp\Test\file2.txt' to:
'E:\Temp\Test\file3.txt'. "-->sucess"<br>
<br>
filePlugin rename: 'C:\Temp\Test\folder1' to: 'C:\Temp\Test\folder2'.
"-->sucess"<br>
filePlugin rename: 'E:\Temp\Test\folder1' to: 'E:\Temp\Test\folder2'.
"-->sucess"<br>
filePlugin rename: 'C:\Temp\Test\folder2' to: 'E:\Temp\Test\folder3'.
"-->fail"<br>
<br>
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." <br>
<br>
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.<br>
<br>
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:<br>
a. In PharoLauncher <br>
b. In Pharo in
WindowsStore(FileSystemStore)>>rename:ifAbsent:to:ifPresent:fileSystem:
<br>
c. In VM <br>
<br>
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.<br>
<br>
[1]
<a class="moz-txt-link-freetext" href="https://groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gz7mv5r50xs">https://groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gz7mv5r50xs</a><br>
[2]
<a class="moz-txt-link-freetext" href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx</a><br>
<br>
cheers -ben<br>
<br>
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.<br>
<br>
<br>
kilon alios wrote:
<blockquote
cite="mid:CAN88a2H-EnEUmo8NuYG35x05eTWMEXRVs46_XFivdMY9PwL6FA@mail.gmail.com"
type="cite">
<div dir="ltr">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
<div><br>
</div>
<div>
<div>WindowsStore(Object)>>primitiveFailed:</div>
<div>WindowsStore(Object)>>primitiveFailed</div>
<div>WindowsStore(FileSystemStore)>>rename:ifAbsent:to:ifPresent:fileSystem:</div>
<div>FileSystem>>rename:ifAbsent:to:ifPresent:</div>
<div>FileSystem>>rename:to:</div>
<div>FileReference>>moveTo:</div>
<div>PhLRelocateImageDirectoryCommand>>execute in Block: [
:child | child moveTo: (self target resolvePath:...etc...</div>
<div>Array(SequenceableCollection)>>collect:</div>
<div>PhLRelocateImageDirectoryCommand>>execute</div>
<div>PhLRelocateImageDirectoryCommand>>executeOrInform</div>
<div>PhLDirectoryBasedImageRepository class>>migrateFrom:to:</div>
<div>PhLDirectoryBasedImageRepository class>>location:</div>
<div>PhLDirectoryBasedImageRepository class>>locationString:</div>
<div>SettingDeclaration>>realValue:</div>
<div>SettingDeclaration>>index:</div>
<div>EditableDropListMorph(DropListMorph)>>listSelectionIndex:</div>
<div>EditableDropListMorph>>content:</div>
<div>PluggableTextFieldMorph>>acceptTextInModel</div>
<div>PluggableTextFieldMorph(PluggableTextMorph)>>acceptBasic</div>
<div>PluggableTextFieldMorph>>accept</div>
<div>TextMorphForFieldView(TextMorphForEditView)>>acceptContents</div>
<div>TextEditor>>accept</div>
<div>TextMorphForFieldView(TextMorphForEditView)>>keyStroke:</div>
<div>TextMorphForFieldView>>keyStroke:</div>
<div>TextMorphForFieldView(TextMorph)>>handleKeystroke:</div>
<div>KeyboardEvent>>sentTo:</div>
<div>TextMorphForFieldView(Morph)>>handleEvent:</div>
<div>TextMorphForFieldView(Morph)>>handleFocusEvent:</div>
<div>HandMorph>>sendFocusEvent:to:clear: in Block: [ ...</div>
<div>BlockClosure>>on:do:</div>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Sep 1, 2014 at 12:06 PM, kilon alios
<span dir="ltr"><<a moz-do-not-send="true"
href="mailto:kilon.alios@gmail.com" target="_blank">kilon.alios@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr">I am not back to my work pc, so if you have any
ideas how to proceed I am open to suggestions. </div>
<div class="HOEnZb">
<div class="h5">
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Aug 28, 2014 at 5:17 PM, Tim
Mackinnon <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:tim@testit.works" target="_blank">tim@testit.works</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="">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.
<div><br>
</div>
<div>I appreciate the aggravation you are putting up with.</div>
<span><font color="#888888">
<div><br>
</div>
<div>Tim</div>
</font></span>
<div>
<div>
<div> <br>
<div>
<div>On 28 Aug 2014, at 10:35, kilon alios <<a
moz-do-not-send="true" href="mailto:kilon.alios@gmail.com"
target="_blank">kilon.alios@gmail.com</a>> wrote:</div>
<br>
<blockquote type="cite">
<div dir="ltr">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.
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<div>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</div>
<div><br>
</div>
<div>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 . </div>
<div><br>
</div>
<div>/ranting off </div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Aug 28, 2014 at 11:50 AM, Ben
Coman <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>kilon alios wrote:<br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
ok thing get worse and worse<br>
<br>
I try to run pharo as administrator and pharo opens and exits
immediately , it creates a stderr which contains the following<br>
<br>
<a moz-do-not-send="true"
href="http://pastebin.com/v9Hpx9pK" target="_blank">http://pastebin.com/v9Hpx9pK</a><br>
<br>
I found the folder you mentioned and I deleted it , now pharo does not
open at all even when run without "run as administrator" <br>
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. <br>
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. <br>
Thanks guys for your help but it does not worth it. I hope no other
windows user experience my problem. <br>
<br>
</blockquote>
<br>
</div>
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).<br>
<br>
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. <br>
cheers, Ben<br>
<br>
P.S. @Tim, Your alternate-VM feature sound interesting. I'll check it
out.<br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>