summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.406
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.406')
-rw-r--r--source/ap/vim/patches/7.3.406103
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 ///