Commit 74ba1583 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Fix bug #13661 with w32-downcase-file-names and shell-command.

 src/callproc.c (Fcall_process_region): Make sure the XXXXXX part of
 the temporary file pattern is not downcased even when
 w32-downcase-file-names is non-nil.
parent 2d050423
2013-02-09 Eli Zaretskii <eliz@gnu.org>
 
* callproc.c (Fcall_process_region): Make sure the XXXXXX part of
the temporary file pattern is not downcased even when
w32-downcase-file-names is non-nil. (Bug#13661)
* xdisp.c (decode_mode_spec): Remove handling of %t.
 
* msdos.c (careadlinkatcwd): Remove.
......
......@@ -1016,8 +1016,26 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
{
USE_SAFE_ALLOCA;
Lisp_Object pattern = Fexpand_file_name (Vtemp_file_name_pattern, tmpdir);
Lisp_Object encoded_tem = ENCODE_FILE (pattern);
char *tempfile = SAFE_ALLOCA (SBYTES (encoded_tem) + 1);
Lisp_Object encoded_tem;
char *tempfile;
#ifdef WINDOWSNT
/* Cannot use the result of Fexpand_file_name, because it
downcases the XXXXXX part of the pattern, and mktemp then
doesn't recognize it. */
if (!NILP (Vw32_downcase_file_names))
{
Lisp_Object dirname = Ffile_name_directory (pattern);
if (NILP (dirname))
pattern = Vtemp_file_name_pattern;
else
pattern = concat2 (dirname, Vtemp_file_name_pattern);
}
#endif
encoded_tem = ENCODE_FILE (pattern);
tempfile = SAFE_ALLOCA (SBYTES (encoded_tem) + 1);
memcpy (tempfile, SDATA (encoded_tem), SBYTES (encoded_tem) + 1);
coding_systems = Qt;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment