On Wed, 30 Apr 2025 23:38:02 GMT, Brian Burkhalter <b...@openjdk.org> wrote:
> This change proposes to modify `java.io.File.delete()` so that regular files > on Windows will not be deleted by default if their read-only attribute is > set. A boolean-valued system compatibility property > `jdk.io.File.deleteReadOnly` is defined to reinstate legacy behavior if > desired. I've added the "csr" label as we will need to create a CSR for this. It will need a release note too. src/java.base/windows/classes/java/io/WinNTFileSystem.java line 45: > 43: > 44: private static final boolean DELETE_READONLY = > 45: Boolean.getBoolean("jdk.io.File.deleteReadOnly"); What would you think of allowDeleteReadOnlyFiles rather than deleteReadOnly? src/java.base/windows/native/libjava/WinNTFileSystem_md.c line 665: > 663: BOOL attrSet = FALSE; > 664: if (deleteReadOnly && ((a & FILE_ATTRIBUTE_READONLY) != 0)) > 665: attrSet = SetFileAttributesW(path, a & > (~FILE_ATTRIBUTE_READONLY)); A small comment on the name "attrSet". It hints that it will be set to TRUE if the attribute is set whereas the use here is to mean that SetFileAttributesW has succeeded, a bit confusing because it's clearing the READONLY value, not setting it. If you rename to something that has the word "modified" or "cleared" might be easy for future maintainers. ------------- PR Comment: https://git.openjdk.org/jdk/pull/24977#issuecomment-2844767305 PR Review Comment: https://git.openjdk.org/jdk/pull/24977#discussion_r2070223272 PR Review Comment: https://git.openjdk.org/jdk/pull/24977#discussion_r2070222588