From 0036201a1a096913840d3df8ff08eb58eaae90a6 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 8 Feb 2019 12:21:30 +0100 Subject: [PATCH] patch 8.1.0879: MS-Windows: temp name encoding can be wrong Problem: MS-Windows: temp name encoding can be wrong. Solution: Convert from active code page to 'encoding'. (Ken Takata, closes #3520, closes #1698) --- src/fileio.c | 18 ++++++++++++++++++ src/version.c | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/fileio.c b/src/fileio.c index bf724f642f..446ae7edf8 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -7470,6 +7470,24 @@ vim_tempname( for (p = retval; *p; ++p) if (*p == '\\') *p = '/'; + +#if defined(FEAT_MBYTE) && defined(WIN3264) + if (enc_utf8) + { + int len; + char_u *pp = NULL; + + // Convert from active codepage to UTF-8 since mch_call_shell() + // converts command-line to wide string from encoding. + acp_to_enc(retval, (int)STRLEN(retval), &pp, &len); + if (pp != NULL) + { + vim_free(retval); + return pp; + } + } +#endif + return retval; # else /* WIN3264 */ diff --git a/src/version.c b/src/version.c index 6a8ba37551..f1205f12dd 100644 --- a/src/version.c +++ b/src/version.c @@ -783,6 +783,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 879, /**/ 878, /**/