Repository :
https://github.com/FarGroup/FarManager
On branch : master
Link :
https://github.com/FarGroup/FarManager/commit/241b61c5180732247b052bfb95a0a60668c411cc
>---------------------------------------------------------------
commit 241b61c5180732247b052bfb95a0a60668c411cc
Author: Alex Alabuzhev <
alab...@gmail.com>
Date: Wed Feb 4 20:39:11 2026 +0000
gh-1070: Build 6613 considers profile directory read-only under certain conditions
>---------------------------------------------------------------
241b61c5180732247b052bfb95a0a60668c411cc
far/changelog | 5 +++++
far/platform.fs.cpp | 7 ++++++-
far/vbuild.m4 | 2 +-
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/far/changelog b/far/changelog
index 95869de87..6cd97d500 100644
--- a/far/changelog
+++ b/far/changelog
@@ -1,3 +1,8 @@
+--------------------------------------------------------------------------------
+drkns 2026-02-04 20:37:59+00:00 - build 6642
+
+1. gh-1070: Build 6613 considers profile directory read-only under certain conditions.
+
--------------------------------------------------------------------------------
drkns 2026-02-03 00:20:49+00:00 - build 6641
diff --git a/far/platform.fs.cpp b/far/platform.fs.cpp
index b3c64aba6..45966c104 100644
--- a/far/platform.fs.cpp
+++ b/far/platform.fs.cpp
@@ -58,6 +58,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "common.hpp"
#include "common/algorithm.hpp"
#include "common/scope_exit.hpp"
+#include "common/uuid.hpp"
// External:
@@ -2572,7 +2573,11 @@ WARNING_POP()
bool can_create_file_in(string_view const DirectoryName)
{
- return create_file(DirectoryName, FILE_ADD_FILE, file_share_all, nullptr, OPEN_EXISTING)? true : false;
+ return
+ // without a temporary file, see
https://devblogs.microsoft.com/oldnewthing/20251203-00/?p=111836
+ create_file(DirectoryName, FILE_ADD_FILE, file_share_all, nullptr, OPEN_EXISTING) ||
+ // just in case, with a temporary file, for non-trivial setups like gh-1070
+ create_file(path::join(DirectoryName, ::uuid::str(uuid::generate())), GENERIC_WRITE, file_share_all, nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE);
}
bool CreateSymbolicLinkInternal(string_view const Object, string_view const Target, DWORD Flags)
diff --git a/far/vbuild.m4 b/far/vbuild.m4
index 9f9cfdb8c..b853b0732 100644
--- a/far/vbuild.m4
+++ b/far/vbuild.m4
@@ -1 +1 @@
-6641
+6642