<p>The reason that the save should go ahead is because the operation being performed is "Save As".  The rename function is only a secondary convenience function to save deleting the original file.</p>

<p>It is actually a poorly thought out function anyway.  Why rename the existing file if it is about to be overwritten?  And if you have "safe" or "GIO" file saving set the sequence is "rename original file, write new data to a new file, rename it over the just renamed original file" :-P</p>

<p>The "Save As" dialog should offer to "Remove original file after saving".  And delete the original file after saving.  Then its obvious that a failure of removal due to permissions, or any of the reasons given above, has not affected the main function to "Save As".  And on save failure the original file is unharmed.  And on Linux there is no restriction to the same filesystem when selecting the option.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1180#issuecomment-240932680">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ4XPWvNgNw5UhB-nkbmzOGq9O9nVks5qhUGLgaJpZM4JnQzb">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJxKDm4tucSS0pTS0SegDPkiB_Kd1ks5qhUGLgaJpZM4JnQzb.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1180#issuecomment-240932680"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1180: The reason that the save should go ahead is because the operation being performed is \"Save As\".  The rename function is only a secondary convenience function to save deleting the original file.\r\n\r\nIt is actually a poorly thought out function anyway.  Why rename the existing file if it is about to be overwritten?  And if you have \"safe\" or \"GIO\" file saving set the sequence is \"rename original file, write new data to a new file, rename it over the just renamed original file\" :-P\r\n\r\nThe \"Save As\" dialog should offer to \"Remove original file after saving\".  And delete the original file after saving.  Then its obvious that a failure of removal due to permissions, or any of the reasons given above, has not affected the main function to \"Save As\".  And on save failure the original file is unharmed.  And on Linux there is no restriction to the same filesystem when selecting the option."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1180#issuecomment-240932680"}}}</script>