# HG changeset patch # User Christian Brabandt # Date 1479573005 -3600 # Node ID 17165aabc731da21f3e5d82a4ffa81747a09bcb8 # Parent 1471410c04ae7d49c16ab20e31ec7d9307135711 commit https://github.com/vim/vim/commit/63e4344edc0cc1b4ed68a9d9c787265799602670 Author: Bram Moolenaar Date: Sat Nov 19 17:28:44 2016 +0100 patch 8.0.0094 Problem: When vimrun.exe is not found the error message is not properly encoded. Solution: Use utf-16 and MessageBoxW(). (Ken Takata) diff --git a/src/os_win32.c b/src/os_win32.c --- a/src/os_win32.c +++ b/src/os_win32.c @@ -4705,12 +4705,24 @@ mch_call_shell( #if defined(FEAT_GUI_W32) if (need_vimrun_warning) { - MessageBox(NULL, - _("VIMRUN.EXE not found in your $PATH.\n" - "External commands will not pause after completion.\n" - "See :help win32-vimrun for more information."), - _("Vim Warning"), - MB_ICONWARNING); + char *msg = _("VIMRUN.EXE not found in your $PATH.\n" + "External commands will not pause after completion.\n" + "See :help win32-vimrun for more information."); + char *title = _("Vim Warning"); +# ifdef FEAT_MBYTE + if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) + { + WCHAR *wmsg = enc_to_utf16((char_u *)msg, NULL); + WCHAR *wtitle = enc_to_utf16((char_u *)title, NULL); + + if (wmsg != NULL && wtitle != NULL) + MessageBoxW(NULL, wmsg, wtitle, MB_ICONWARNING); + vim_free(wmsg); + vim_free(wtitle); + } + else +# endif + MessageBox(NULL, msg, title, MB_ICONWARNING); need_vimrun_warning = FALSE; } if (!s_dont_use_vimrun && p_stmp) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 94, +/**/ 93, /**/ 92,