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    ///
