diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.406')
-rw-r--r-- | source/ap/vim/patches/7.3.406 | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.406 b/source/ap/vim/patches/7.3.406 new file mode 100644 index 00000000..dceca0ed --- /dev/null +++ b/source/ap/vim/patches/7.3.406 @@ -0,0 +1,103 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.406 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.406 +Problem: Multi-byte characters in b:browsefilter are not handled correctly. +Solution: First use convert_filter() normally and then convert to wide + characters. (Taro Muraoka) +Files: src/gui_w48.c + + +*** ../vim-7.3.405/src/gui_w48.c 2011-09-07 18:58:24.000000000 +0200 +--- src/gui_w48.c 2012-01-20 17:54:19.000000000 +0100 +*************** +*** 328,333 **** +--- 328,337 ---- + static LRESULT _OnImeNotify(HWND hWnd, DWORD dwCommand, DWORD dwData); + #endif + ++ #if defined(FEAT_MBYTE) && defined(WIN3264) ++ static char_u *convert_filter(char_u *s); ++ #endif ++ + #ifdef DEBUG_PRINT_ERROR + /* + * Print out the last Windows error message +*************** +*** 3275,3302 **** + + # if defined(FEAT_MBYTE) && defined(WIN3264) + /* +! * Wide version of convert_filter(). Keep in sync! + */ + static WCHAR * + convert_filterW(char_u *s) + { +! WCHAR *res; +! unsigned s_len = (unsigned)STRLEN(s); +! unsigned i; + +! res = (WCHAR *)alloc((s_len + 3) * sizeof(WCHAR)); +! if (res != NULL) +! { +! for (i = 0; i < s_len; ++i) +! if (s[i] == '\t' || s[i] == '\n') +! res[i] = '\0'; +! else +! res[i] = s[i]; +! res[s_len] = NUL; +! /* Add two extra NULs to make sure it's properly terminated. */ +! res[s_len + 1] = NUL; +! res[s_len + 2] = NUL; +! } + return res; + } + +--- 3279,3298 ---- + + # if defined(FEAT_MBYTE) && defined(WIN3264) + /* +! * Wide version of convert_filter(). + */ + static WCHAR * + convert_filterW(char_u *s) + { +! char_u *tmp; +! int len; + +! tmp = convert_filter(s); +! if (tmp == NULL) +! return NULL; +! len = (int)STRLEN(s) + 3; +! res = enc_to_utf16(tmp, &len); +! vim_free(tmp); + return res; + } + +*** ../vim-7.3.405/src/version.c 2012-01-20 17:15:47.000000000 +0100 +--- src/version.c 2012-01-20 17:57:09.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 406, + /**/ + +-- +DENNIS: Look, strange women lying on their backs in ponds handing out + swords ... that's no basis for a system of government. Supreme + executive power derives from a mandate from the masses, not from some + farcical aquatic ceremony. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |