GNU bug report logs -
#61934
28.2; Exec format error when `default-directory` contains non-ASCII characters on Windows 11
Previous Next
Reported by: "Grzegorz Kowzan" <grzegorz <at> kowzan.eu>
Date: Fri, 3 Mar 2023 13:58:02 UTC
Severity: normal
Found in version 28.2
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Thank you for the explanation. Can the code page be changed from within Emacs or is it set for good at startup? I tried changing the codepage to cp1250, which can handle all the characters in the directory name, with appropriate commands but I still get the same errors. When I execute (describe-coding-system) I get:
Coding system for saving this buffer:
Not set locally, use the default.
Default coding system (for new files):
* -- windows-1250 (alias: cp1250)
Coding system for keyboard input:
* -- windows-1250-unix (alias: cp1250-unix)
Coding system for terminal output:
* -- cp1250 (alias of windows-1250)
Coding system for inter-client cut and paste:
U -- utf-16le-dos
Defaults for subprocess I/O:
decoding: * -- windows-1250-dos (alias: cp1250-dos)
encoding: * -- windows-1250-unix (alias: cp1250-unix)
Priority order for recognizing coding systems when reading files:
1. windows-1250 (alias: cp1250)
2. utf-8 (alias: mule-utf-8 cp65001)
...
which looks good to me. On the other hand, I did check that I can execute commands from a directory named C:/þñÜ, which has characters beyond ASCII that are handled by cp1252.
Best regards,
Grzegorz
On Fri, Mar 3, 2023, at 15:41, Eli Zaretskii wrote:
>> Date: Fri, 03 Mar 2023 14:56:32 +0100
>> From: "Grzegorz Kowzan" <grzegorz <at> kowzan.eu>
>>
>> Calling external commands fails on Emacs under Windows 11 if
>> `default-directory' contains non-ASCII characters. Steps to reproduce:
>>
>> 0. Start emacs -Q
>> 1. Create directory C:/zażółćgęśląjaźń.
>> 2. Enter the directory with dired.
>> 3. Press M-! and try executing any command.
>> 4. Minibuffer shows error message: "Spawning child process: Exec format error"
>
> This is expected. Emacs on Windows supports starting programs only if
> the command-line arguments, including the program's file name, can be
> encoded in the system's codepage. According to this bug report, your
> system codepage is 1252, and the file name you show cannot be encoded
> using that codepage.
>
> This is a limitation of how Emacs on Windows invokes programs, but the
> root cause is that many programs that run on Windows only support the
> current codepage, and cannot support UTF-8 due to Windows misfeatures.
>
> Sorry.
This bug report was last modified 2 years and 137 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.