SOURCES: 7.2.093 (NEW), 7.2.094 (NEW) - new

adamg adamg at pld-linux.org
Fri Feb 6 17:47:38 CET 2009


Author: adamg                        Date: Fri Feb  6 16:47:38 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- new

---- Files affected:
SOURCES:
   7.2.093 (NONE -> 1.1)  (NEW)
SOURCES:
   7.2.094 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/7.2.093
diff -u /dev/null SOURCES/7.2.093:1.1
--- /dev/null	Fri Feb  6 17:47:39 2009
+++ SOURCES/7.2.093	Fri Feb  6 17:47:32 2009
@@ -0,0 +1,234 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.093 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.093 (extra)
+Problem:    Win32: inputdialog() and find/replace dialogs can't handle
+	    multi-byte text.
+Solution:   Use the wide version of dialog functions when available. (Yanwei
+	    Jia)
+Files:	    src/gui_w32.c, src/gui_w48.c
+
+
+*** ../vim-7.2.092/src/gui_w32.c	Thu Nov 20 17:09:09 2008
+--- src/gui_w32.c	Wed Jan 28 21:15:29 2009
+***************
+*** 1582,1587 ****
+--- 1582,1598 ----
+      s_findrep_struct.lpstrReplaceWith[0] = NUL;
+      s_findrep_struct.wFindWhatLen = MSWIN_FR_BUFSIZE;
+      s_findrep_struct.wReplaceWithLen = MSWIN_FR_BUFSIZE;
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++     s_findrep_struct_w.lStructSize = sizeof(s_findrep_struct_w);
++     s_findrep_struct_w.lpstrFindWhat =
++ 			      (LPWSTR)alloc(MSWIN_FR_BUFSIZE * sizeof(WCHAR));
++     s_findrep_struct_w.lpstrFindWhat[0] = NUL;
++     s_findrep_struct_w.lpstrReplaceWith =
++ 			      (LPWSTR)alloc(MSWIN_FR_BUFSIZE * sizeof(WCHAR));
++     s_findrep_struct_w.lpstrReplaceWith[0] = NUL;
++     s_findrep_struct_w.wFindWhatLen = MSWIN_FR_BUFSIZE;
++     s_findrep_struct_w.wReplaceWithLen = MSWIN_FR_BUFSIZE;
++ # endif
+  #endif
+  
+  theend:
+***************
+*** 2938,2945 ****
+  
+  	/* If the edit box exists, copy the string. */
+  	if (s_textfield != NULL)
+! 	    GetDlgItemText(hwnd, DLG_NONBUTTON_CONTROL + 2,
+  							 s_textfield, IOSIZE);
+  
+  	/*
+  	 * Need to check for IDOK because if the user just hits Return to
+--- 2949,2975 ----
+  
+  	/* If the edit box exists, copy the string. */
+  	if (s_textfield != NULL)
+! 	{
+! # if defined(FEAT_MBYTE) && defined(WIN3264)
+! 	    /* If the OS is Windows NT, and 'encoding' differs from active
+! 	     * codepage: use wide function and convert text. */
+! 	    if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
+! 		    && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+!             {
+! 	       WCHAR  *wp = (WCHAR *)alloc(IOSIZE * sizeof(WCHAR));
+! 	       char_u *p;
+! 
+! 	       GetDlgItemTextW(hwnd, DLG_NONBUTTON_CONTROL + 2, wp, IOSIZE);
+! 	       p = utf16_to_enc(wp, NULL);
+! 	       vim_strncpy(s_textfield, p, IOSIZE);
+! 	       vim_free(p);
+! 	       vim_free(wp);
+! 	    }
+! 	    else
+! # endif
+! 		GetDlgItemText(hwnd, DLG_NONBUTTON_CONTROL + 2,
+  							 s_textfield, IOSIZE);
++ 	}
+  
+  	/*
+  	 * Need to check for IDOK because if the user just hits Return to
+*** ../vim-7.2.092/src/gui_w48.c	Wed Jan 28 14:17:21 2009
+--- src/gui_w48.c	Wed Jan 28 21:10:26 2009
+***************
+*** 153,158 ****
+--- 153,161 ----
+  #ifdef MSWIN_FIND_REPLACE
+  static UINT		s_findrep_msg = 0;	/* set in gui_w[16/32].c */
+  static FINDREPLACE	s_findrep_struct;
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++ static FINDREPLACEW	s_findrep_struct_w;
++ # endif
+  static HWND		s_findrep_hwnd = NULL;
+  static int		s_findrep_is_find;	/* TRUE for find dialog, FALSE
+  						   for find/replace dialog */
+***************
+*** 884,889 ****
+--- 887,931 ----
+  #endif
+  
+  #ifdef MSWIN_FIND_REPLACE
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++ /*
++  * copy useful data from structure LPFINDREPLACE to structure LPFINDREPLACEW
++  */
++     static void
++ findrep_atow(LPFINDREPLACEW lpfrw, LPFINDREPLACE lpfr)
++ {
++     WCHAR *wp;
++ 
++     lpfrw->hwndOwner = lpfr->hwndOwner;
++     lpfrw->Flags = lpfr->Flags;
++ 
++     wp = enc_to_utf16(lpfr->lpstrFindWhat, NULL);
++     wcsncpy(lpfrw->lpstrFindWhat, wp, lpfrw->wFindWhatLen - 1);
++     vim_free(wp);
++ 
++     /* the field "lpstrReplaceWith" doesn't need to be copied */
++ }
++ 
++ /*
++  * copy useful data from structure LPFINDREPLACEW to structure LPFINDREPLACE
++  */
++     static void
++ findrep_wtoa(LPFINDREPLACE lpfr, LPFINDREPLACEW lpfrw)
++ {
++     char_u *p;
++ 
++     lpfr->Flags = lpfrw->Flags;
++ 
++     p = utf16_to_enc(lpfrw->lpstrFindWhat, NULL);
++     vim_strncpy(lpfr->lpstrFindWhat, p, lpfr->wFindWhatLen - 1);
++     vim_free(p);
++ 
++     p = utf16_to_enc(lpfrw->lpstrReplaceWith, NULL);
++     vim_strncpy(lpfr->lpstrReplaceWith, p, lpfr->wReplaceWithLen - 1);
++     vim_free(p);
++ }
++ # endif
++ 
+  /*
+   * Handle a Find/Replace window message.
+   */
+***************
+*** 893,898 ****
+--- 935,950 ----
+      int	    flags = 0;
+      int	    down;
+  
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++     /* If the OS is Windows NT, and 'encoding' differs from active codepage:
++      * convert text from wide string. */
++     if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
++ 			&& enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++     {
++         findrep_wtoa(&s_findrep_struct, &s_findrep_struct_w);
++     }
++ # endif
++ 
+      if (s_findrep_struct.Flags & FR_DIALOGTERM)
+  	/* Give main window the focus back. */
+  	(void)SetFocus(s_hwnd);
+***************
+*** 2562,2568 ****
+  	if (!IsWindow(s_findrep_hwnd))
+  	{
+  	    initialise_findrep(eap->arg);
+! 	    s_findrep_hwnd = FindText((LPFINDREPLACE) &s_findrep_struct);
+  	}
+  
+  	set_window_title(s_findrep_hwnd,
+--- 2614,2632 ----
+  	if (!IsWindow(s_findrep_hwnd))
+  	{
+  	    initialise_findrep(eap->arg);
+! # if defined(FEAT_MBYTE) && defined(WIN3264)
+! 	    /* If the OS is Windows NT, and 'encoding' differs from active
+! 	     * codepage: convert text and use wide function. */
+! 	    if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
+! 		    && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+! 	    {
+! 	        findrep_atow(&s_findrep_struct_w, &s_findrep_struct);
+! 		s_findrep_hwnd = FindTextW(
+! 					(LPFINDREPLACEW) &s_findrep_struct_w);
+! 	    }
+! 	    else
+! # endif
+! 		s_findrep_hwnd = FindText((LPFINDREPLACE) &s_findrep_struct);
+  	}
+  
+  	set_window_title(s_findrep_hwnd,
+***************
+*** 2587,2593 ****
+  	if (!IsWindow(s_findrep_hwnd))
+  	{
+  	    initialise_findrep(eap->arg);
+! 	    s_findrep_hwnd = ReplaceText((LPFINDREPLACE) &s_findrep_struct);
+  	}
+  
+  	set_window_title(s_findrep_hwnd,
+--- 2651,2668 ----
+  	if (!IsWindow(s_findrep_hwnd))
+  	{
+  	    initialise_findrep(eap->arg);
+! # if defined(FEAT_MBYTE) && defined(WIN3264)
+! 	    if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
+! 		    && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+! 	    {
+! 		findrep_atow(&s_findrep_struct_w, &s_findrep_struct);
+! 		s_findrep_hwnd = ReplaceTextW(
+! 					(LPFINDREPLACEW) &s_findrep_struct_w);
+! 	    }
+! 	    else
+! # endif
+! 		s_findrep_hwnd = ReplaceText(
+! 					   (LPFINDREPLACE) &s_findrep_struct);
+  	}
+  
+  	set_window_title(s_findrep_hwnd,
+*** ../vim-7.2.092/src/version.c	Wed Jan 28 19:08:31 2009
+--- src/version.c	Wed Jan 28 21:19:56 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     93,
+  /**/
+
+-- 
+I'm not familiar with this proof, but I'm aware of a significant
+following of toddlers who believe that peanut butter is the solution
+to all of life's problems... 		-- Tim Hammerquist
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: SOURCES/7.2.094
diff -u /dev/null SOURCES/7.2.094:1.1
--- /dev/null	Fri Feb  6 17:47:39 2009
+++ SOURCES/7.2.094	Fri Feb  6 17:47:37 2009
@@ -0,0 +1,112 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.094
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.094
+Problem:    Compiler warning for signed/unsigned compare.
+Solution:   Add type cast.  Also fix a few typos.
+Files:	    src/edit.c
+
+
+*** ../vim-7.2.093/src/edit.c	Tue Jan 13 12:29:03 2009
+--- src/edit.c	Wed Jan 28 21:13:51 2009
+***************
+*** 1958,1963 ****
+--- 1958,1964 ----
+   * Only matters when there are composing characters.
+   * Return TRUE when something was deleted.
+   */
++ /*ARGSUSED*/
+     static int
+  del_char_after_col(limit_col)
+      int limit_col;
+***************
+*** 1971,1977 ****
+  	 * skip forward again when going too far back because of a
+  	 * composing character. */
+  	mb_adjust_cursor();
+! 	while (curwin->w_cursor.col < limit_col)
+  	{
+  	    int l = utf_ptr2len(ml_get_cursor());
+  
+--- 1972,1978 ----
+  	 * skip forward again when going too far back because of a
+  	 * composing character. */
+  	mb_adjust_cursor();
+! 	while (curwin->w_cursor.col < (colnr_T)limit_col)
+  	{
+  	    int l = utf_ptr2len(ml_get_cursor());
+  
+***************
+*** 4240,4246 ****
+  	}
+  
+  	/* check if compl_curr_match has changed, (e.g. other type of
+! 	 * expansion added somenthing) */
+  	if (type != 0 && compl_curr_match != old_match)
+  	    found_new_match = OK;
+  
+--- 4241,4247 ----
+  	}
+  
+  	/* check if compl_curr_match has changed, (e.g. other type of
+! 	 * expansion added something) */
+  	if (type != 0 && compl_curr_match != old_match)
+  	    found_new_match = OK;
+  
+***************
+*** 4741,4747 ****
+  		}
+  		compl_length = curwin->w_cursor.col - (int)compl_col;
+  		/* IObuff is used to add a "word from the next line" would we
+! 		 * have enough space?  just being paranoic */
+  #define	MIN_SPACE 75
+  		if (compl_length > (IOSIZE - MIN_SPACE))
+  		{
+--- 4742,4748 ----
+  		}
+  		compl_length = curwin->w_cursor.col - (int)compl_col;
+  		/* IObuff is used to add a "word from the next line" would we
+! 		 * have enough space?  just being paranoid */
+  #define	MIN_SPACE 75
+  		if (compl_length > (IOSIZE - MIN_SPACE))
+  		{
+***************
+*** 8206,8212 ****
+  /*
+   * If the cursor is on an indent, ^T/^D insert/delete one
+   * shiftwidth.	Otherwise ^T/^D behave like a "<<" or ">>".
+!  * Always round the indent to 'shiftwith', this is compatible
+   * with vi.  But vi only supports ^T and ^D after an
+   * autoindent, we support it everywhere.
+   */
+--- 8207,8213 ----
+  /*
+   * If the cursor is on an indent, ^T/^D insert/delete one
+   * shiftwidth.	Otherwise ^T/^D behave like a "<<" or ">>".
+!  * Always round the indent to 'shiftwidth', this is compatible
+   * with vi.  But vi only supports ^T and ^D after an
+   * autoindent, we support it everywhere.
+   */
+*** ../vim-7.2.093/src/version.c	Wed Jan 28 21:22:20 2009
+--- src/version.c	Wed Feb  4 11:17:02 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     94,
+  /**/
+
+-- 
+Despite the cost of living, have you noticed how it remains so popular?
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
================================================================


More information about the pld-cvs-commit mailing list