<div dir="ltr">Hi VM folks.<div><br></div><div>    when you check-in a change to platforms/Cross/plugins try and remember to update  platforms/Cross/plugins/sqPluginsSCCSVersion.h too to reflect the change in the version info displayed by the VM.  You do this using the horrible</div>
<div><br></div><div>svn propset checkindate &quot;`date`&quot; platforms/Cross/plugins/sqPluginsSCCSVersion.h <br></div><div><br></div><div>An example of this is in the scripts/svnci script:</div><div>svn propset checkindate &quot;`date`&quot; platforms/Cross/vm/sqSCCSVersion.h<br>
</div><div><br></div><div>When you do this the Cog VMs accurately inform you of their version:</div><div><br></div><div><div> ~/oscogvm/products/coglinuxht/squeak -version</div><div><div>4.0-2950 #4 Fri Jun  6 17:18:14 PDT 2014 gcc 4.1.2 [Production VM]</div>
<div>CoInterpreter VMMaker.oscog-eem.746 uuid: cc4961d3-e629-4e28-b308-88eab314a8c9 Jun  6 2014</div><div>StackToRegisterMappingCogit VMMaker.oscog-eem.757 uuid: c4908baa-712c-4cb6-a606-5bde992e9582 Jun  6 2014</div><div>
VM: r2950 <a href="http://www.squeakvm.org/svn/squeak/branches/Cog">http://www.squeakvm.org/svn/squeak/branches/Cog</a> Date: 2014-06-06 15:23:16 -0700</div><div>Plugins: r2954 <a href="http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins">http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins</a></div>
<div>Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux</div><div>plugin path: /home/eliot/oscogvm/products/coglinuxht/lib/squeak/4.0-2950 [default: /home/eliot/all/Cog/oscogvm/products/coglinuxht/lib/squeak/4.0-2950/]</div>
</div></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 6, 2014 at 4:36 PM,  <span dir="ltr">&lt;<a href="mailto:commits@squeakvm.org" target="_blank">commits@squeakvm.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Revision: 2953<br>
Author:   lewis<br>
Date:     2014-06-06 16:36:45 -0700 (Fri, 06 Jun 2014)<br>
Log Message:<br>
-----------<br>
In sqFileOpen() ensure that Mac file characteristics are set only when a new file is created<br>
<br>
Modified Paths:<br>
--------------<br>
    trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c<br>
<br>
Modified: trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c<br>
===================================================================<br>
--- trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c   2014-06-06 22:37:22 UTC (rev 2952)<br>
+++ trunk/platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c   2014-06-06 23:36:45 UTC (rev 2953)<br>
@@ -251,10 +251,21 @@<br>
                        if (getFile(f) == NULL)<br>
                                setFile(f, fopen(cFileName, &quot;ab&quot;));<br>
                        if (getFile(f) != NULL) {<br>
+                           /* New file created, set Mac file characteristics */<br>
                            char type[4],creator[4];<br>
                                dir_GetMacFileTypeAndCreator(sqFileName, sqFileNameSize, type, creator);<br>
                                if (strncmp(type,&quot;BINA&quot;,4) == 0 || strncmp(type,&quot;????&quot;,4) == 0 || *(int *)type == 0 )<br>
                                    dir_SetMacFileTypeAndCreator(sqFileName, sqFileNameSize,&quot;TEXT&quot;,&quot;R*ch&quot;);<br>
+                       } else {<br>
+                               /* If the file could not be opened read/write and if a new file<br>
+                                  could not be created, then it may be that the file exists but<br>
+                                  does not permit read access. Try opening as a write only file,<br>
+                                  opened for append to preserve existing file contents.<br>
+                               */<br>
+                               setFile(f, fopen(cFileName, &quot;ab&quot;));<br>
+                               if (getFile(f) == NULL) {<br>
+                                       return interpreterProxy-&gt;success(false);<br>
+                               }<br>
                        }<br>
                }<br>
                f-&gt;writable = true;<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div>