Hej Eli!
Thanks for your work.
Den 2026-10-10 kl. 11:43, skrev Eli Zaretskii:
[Why personal email?]
Date: Sat, 10 Oct 2026 09:14:55 +0200
From: Bo Johansson<[email protected]>
Hej Eli!
I needed to use pictures and I have problems to use a normal mail. Please see
the appended file.
I also send it only to you. Hope it is OK.
As I use Swedish in my system, i have tried to translate som terms to English.
Thanks.
The bottom line is that I have no idea why Emacs 31 fails to write to
your S: partition. (I note that the S: did not appear in the picture
from Disc Management that you included in the PDF file.) Does the
same problem happen with all the other partitions you created there?
The problem seems to be in the function which writes to the file or in
the function which opens the file for writing. However, I couldn't
find any changes in these two functions between Emacs 30 and Emacs 31,
so I don't know why it worked in the former, but not in the latter.
It might have something to do with the MinGW runtime which was updated
between the two builds, or something else I currently fail to see.
So at this point, unless my questions above give some clue, the only
way to investigate this further is for someone to step with a debugger
through the relevant C code and see why it fails. If you are up to
this task, and can install GDB using pacman, I can help you with
instructions.
I will also note that no one complained about similar issues with
Emacs 31, so I tend to think it's something very specific to your
system, and the fact that it only happens with disk S: seems to
confirm that. But the question is what is it in your setup that
causes these functions to fail.
The picture shows all the Volyms.
(insert (format "\n= %s" (file-attributes (buffer-file-name) 'string)))
= (nil 1 bo Ingen (27335 19606 0 0) (27335 19606 0 0) (27335 19606 0 0)
2896 -rw-rw-rw- t 3377699720529097 3155901136)
(insert (format "\n= %s" (file-attributes
"c:/Users/bojoh/AppData/Roaming/.emacs.d/init.el" 'string)))
= (nil 1 bo Ingen (27337 55869 0 0) (27333 57293 0 0) (26293 54708 0 0)
24485 -rw-rw-rw- t 10977524091740610 1782189966)
_*Summary of my tests.*_
_Used installations_
a) From emacs-30.2-installer.exe (binary from the GNU FTP site)
(App tored in) C:\Program Files\Emacs\emacs-30.2
(App file desciption:) GNU Emacs: The extensible self-documenting text
editor
b) From emacs-31.1_1-installer.exe (binary from the GNU FTP site)
C:\Program Files\Emacs\emacs-31.1
GNU EmacsThe extensible self-documenting text editor
c) Using pacman -S mingw-w64-ucrt-x86_64-emacs (31.1)
D:\MSYS64\ucrt64\bin
GNU Emacs The extensible self-documenting text editor
d) Using Pacman $ pacman -S mingw-w64-x86_64-emacs (29.4)
D:\MSYS64\mingw64\bin
GNU Emacs: The extensible self-documenting text editor
e) From emacs-31.1_1-installer-UCRT64.exe(binary from the GNU FTP site)
C:\Program Files\Emacs\emacs-31.1\bin
GNU EmacsThe extensible self-documenting text editor
_Tests with several emacs installed in the system at the same time_
Installed was a)-d).
1) I could use emacs to edit files by using right-click/open with/select
another app/ select app on the computer and giving the path to the
runemacs.exe.
This worked for all the installations a)-d).
2) I associated the file extension .boj with different
versions/installations of emacs, using the Windows Configuration/
Appar>Standardappar.
In the menu of “Select a app to open the .boj file” there are many
selections alternatives for “GNU Emacs The extensible self-documenting
text editor”. You can’t know which runemacs.exe an entry is referring to.
The right-click/property menu for a .boj file shows that “Is opened
with”= “GNU Emacs The extensible self-documenting text editor”.
I get the impression that the wanted/expected emac.exe is not always used.
My earlier experience is that it *_is impossible to have more the on
emacs in the sy__s__tem if you want to use “Associate a file extensions
to emacs”_*.
_Tests with only one emacs installed_
1) Removed all but installation a). emacs-30.2-installer.exe (binary
from the GNU FTP site).
None of the test indicated a failure.
2) Removed a) and installed b) emacs-31.1_1-installer.exe (binary from
the GNU FTP site).
No test indicated failure.
3) Removed b) and installed e) _emacs-31.1_1-installer-UCRT64.exe_
(binary from the GNU FTP site)
Problem to write files to S:.
*Backtrace*
Debugger entered--Lisp error: (file-error "Write error" "Bad file
descriptor" "s:/wp/test.boj")
write-region(nil nil "s:/wp/test.boj" nil t "s:/wp/test.boj")
basic-save-buffer-2()
basic-save-buffer-1()
basic-save-buffer(t)
save-buffer(1)
funcall-interactively(save-buffer 1)
call-interactively(save-buffer nil nil)
command-execute(save-buffer)
*Warning*
Error (auto-save): Auto-saving test.boj: Opening output file: No
such file or directory, s:/wp/#test.boj#
*Messages*
Start init-file c:/Users/bojoh/AppData/Roaming/.emacs.d/init.el
Loading c:/Users/bojoh/AppData/Roaming/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
[yas] Prepared just-in-time loading of snippets successfully.
c:/Users/bojoh/AppData/Roaming/.emacs.d/init.el: Warning:
‘defadvice’ is an obsolete macro (as of 30.1); use ‘advice-add’ or
‘define-advice’
End init-file c:/Users/bojoh/AppData/Roaming/.emacs.d/init.el.
For information about GNU Emacs and the GNU system, type C-h C-a.
*** Emacs loaded in 1.26 seconds with 11 garbage collections.
Debug on Error enabled globally
t
Saving file s:/wp/test.boj...
Cannot write backup file; backing up in ~/.emacs.d/%backup%~
Entering debugger...
Auto-saving…
OK to write the file to C:
*Messages*
Saving file c:/Users/bojoh/AppData/Roaming/.emacs.d/test.boj...
Wrote c:/Users/bojoh/AppData/Roaming/.emacs.d/test.boj
Tested to write to serval partitions:
+Wrote q:/test.boj
Saving file r:/test.boj...
!basic-save-buffer-2: Opening output file: No such file or
directory, r:/test.boj
Saving file t:/test.boj...
+Wrote t:/test.boj
Saving file u:/test.boj...
!basic-save-buffer-2: Opening output file: No such file or
directory, u:/test.boj
Saving file w:/test.boj...
+Wrote w:/test.boj
Saving file x:/test.boj...
!basic-save-buffer-2: Opening output file: No such file or
directory, x:/test.boj
Saving file y:/test.boj...
!basic-save-buffer-2: Opening output file: No such file or
directory, y:/test.boj
Saving file z:/test.boj...
!basic-save-buffer-2: Opening output file: No such file or
directory, z:/test.boj
I have also checked that I with b) emacs-31.1_1-installer.exe (binary
from the GNU FTP site) can write to all partitions.
*_Conclusion_*
The emacs from the installation e) _emacs-31.1_1-installer-UCRT64.exe_
treats some drives (P:, R:, S:, U:, X:, Y: and Z:) differently than the
emacs from a) and b) does.
Is it the use of UCRT64?
_*Question*_
How can I check the ownership and access rights of files and directors?
Can I use emacs/elisp, Perl, or?