packages: vim/7.3.223 (NEW), vim/7.3.224 (NEW) - new

adamg adamg at pld-linux.org
Sat Jul 9 09:06:50 CEST 2011


Author: adamg                        Date: Sat Jul  9 07:06:50 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- new

---- Files affected:
packages/vim:
   7.3.223 (NONE -> 1.1)  (NEW)
packages/vim:
   7.3.224 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/vim/7.3.223
diff -u /dev/null packages/vim/7.3.223:1.1
--- /dev/null	Sat Jul  9 09:06:50 2011
+++ packages/vim/7.3.223	Sat Jul  9 09:06:45 2011
@@ -0,0 +1,387 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.223
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.223
+Problem:    MingW cross compilation doesn't work with tiny features.
+Solution:   Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of
+            "#ifdef CLIPBOARD".  Fix typo in makefile.
+Files:      src/Make_ming.mak, src/os_mswin.c
+
+
+*** ../mercurial/vim73/src/Make_ming.mak	2010-12-30 14:50:46.000000000 +0100
+--- src/Make_ming.mak	2011-06-19 01:20:16.000000000 +0200
+***************
+*** 87,93 ****
+  
+  # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
+  # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
+! # uncomment the following, but I can't build a static versión with them, ?-(|
+  #GETTEXT=c:/gettext-0.10.37-20010430
+  #STATIC_GETTEXT=USE_STATIC_GETTEXT
+  #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
+--- 87,93 ----
+  
+  # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
+  # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
+! # uncomment the following, but I can't build a static version with them, ?-(|
+  #GETTEXT=c:/gettext-0.10.37-20010430
+  #STATIC_GETTEXT=USE_STATIC_GETTEXT
+  #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
+*** ../mercurial/vim73/src/os_mswin.c	2011-06-19 01:14:23.000000000 +0200
+--- src/os_mswin.c	2011-06-19 01:25:23.000000000 +0200
+***************
+*** 1105,1236 ****
+      return ret;
+  }
+  
+- #if defined(FEAT_MBYTE) || defined(PROTO)
+- /*
+-  * Note: the following two functions are only guaranteed to work when using
+-  * valid MS-Windows codepages or when iconv() is available.
+-  */
+- 
+- /*
+-  * Convert "str" from 'encoding' to UTF-16.
+-  * Input in "str" with length "*lenp".  When "lenp" is NULL, use strlen().
+-  * Output is returned as an allocated string.  "*lenp" is set to the length of
+-  * the result.  A trailing NUL is always added.
+-  * Returns NULL when out of memory.
+-  */
+-     short_u *
+- enc_to_utf16(char_u *str, int *lenp)
+- {
+-     vimconv_T	conv;
+-     WCHAR	*ret;
+-     char_u	*allocbuf = NULL;
+-     int		len_loc;
+-     int		length;
+- 
+-     if (lenp == NULL)
+-     {
+- 	len_loc = (int)STRLEN(str) + 1;
+- 	lenp = &len_loc;
+-     }
+- 
+-     if (enc_codepage > 0)
+-     {
+- 	/* We can do any CP### -> UTF-16 in one pass, and we can do it
+- 	 * without iconv() (convert_* may need iconv). */
+- 	MultiByteToWideChar_alloc(enc_codepage, 0, str, *lenp, &ret, &length);
+-     }
+-     else
+-     {
+- 	/* Use "latin1" by default, we might be called before we have p_enc
+- 	 * set up.  Convert to utf-8 first, works better with iconv().  Does
+- 	 * nothing if 'encoding' is "utf-8". */
+- 	conv.vc_type = CONV_NONE;
+- 	if (convert_setup(&conv, p_enc ? p_enc : (char_u *)"latin1",
+- 						   (char_u *)"utf-8") == FAIL)
+- 	    return NULL;
+- 	if (conv.vc_type != CONV_NONE)
+- 	{
+- 	    str = allocbuf = string_convert(&conv, str, lenp);
+- 	    if (str == NULL)
+- 		return NULL;
+- 	}
+- 	convert_setup(&conv, NULL, NULL);
+- 
+- 	length = utf8_to_utf16(str, *lenp, NULL, NULL);
+- 	ret = (WCHAR *)alloc((unsigned)((length + 1) * sizeof(WCHAR)));
+- 	if (ret != NULL)
+- 	{
+- 	    utf8_to_utf16(str, *lenp, (short_u *)ret, NULL);
+- 	    ret[length] = 0;
+- 	}
+- 
+- 	vim_free(allocbuf);
+-     }
+- 
+-     *lenp = length;
+-     return (short_u *)ret;
+- }
+- 
+- /*
+-  * Convert an UTF-16 string to 'encoding'.
+-  * Input in "str" with length (counted in wide characters) "*lenp".  When
+-  * "lenp" is NULL, use wcslen().
+-  * Output is returned as an allocated string.  If "*lenp" is not NULL it is
+-  * set to the length of the result.
+-  * Returns NULL when out of memory.
+-  */
+-     char_u *
+- utf16_to_enc(short_u *str, int *lenp)
+- {
+-     vimconv_T	conv;
+-     char_u	*utf8_str = NULL, *enc_str = NULL;
+-     int		len_loc;
+- 
+-     if (lenp == NULL)
+-     {
+- 	len_loc = (int)wcslen(str) + 1;
+- 	lenp = &len_loc;
+-     }
+- 
+-     if (enc_codepage > 0)
+-     {
+- 	/* We can do any UTF-16 -> CP### in one pass. */
+- 	int length;
+- 
+- 	WideCharToMultiByte_alloc(enc_codepage, 0, str, *lenp,
+- 					    (LPSTR *)&enc_str, &length, 0, 0);
+- 	*lenp = length;
+- 	return enc_str;
+-     }
+- 
+-     /* Avoid allocating zero bytes, it generates an error message. */
+-     utf8_str = alloc(utf16_to_utf8(str, *lenp == 0 ? 1 : *lenp, NULL));
+-     if (utf8_str != NULL)
+-     {
+- 	*lenp = utf16_to_utf8(str, *lenp, utf8_str);
+- 
+- 	/* We might be called before we have p_enc set up. */
+- 	conv.vc_type = CONV_NONE;
+- 	convert_setup(&conv, (char_u *)"utf-8",
+- 					    p_enc? p_enc: (char_u *)"latin1");
+- 	if (conv.vc_type == CONV_NONE)
+- 	{
+- 	    /* p_enc is utf-8, so we're done. */
+- 	    enc_str = utf8_str;
+- 	}
+- 	else
+- 	{
+- 	    enc_str = string_convert(&conv, utf8_str, lenp);
+- 	    vim_free(utf8_str);
+- 	}
+- 
+- 	convert_setup(&conv, NULL, NULL);
+-     }
+- 
+-     return enc_str;
+- }
+- #endif /* FEAT_MBYTE */
+- 
+  /*
+   * Wait for another process to Close the Clipboard.
+   * Returns TRUE for success.
+--- 1105,1110 ----
+***************
+*** 1436,1467 ****
+  #endif
+  }
+  
+- #if (defined(FEAT_MBYTE) && defined(WIN3264)) || defined(PROTO)
+- /*
+-  * Convert from the active codepage to 'encoding'.
+-  * Input is "str[str_size]".
+-  * The result is in allocated memory: "out[outlen]".  With terminating NUL.
+-  */
+-     void
+- acp_to_enc(str, str_size, out, outlen)
+-     char_u	*str;
+-     int		str_size;
+-     char_u	**out;
+-     int		*outlen;
+- 
+- {
+-     LPWSTR	widestr;
+- 
+-     MultiByteToWideChar_alloc(GetACP(), 0, str, str_size, &widestr, outlen);
+-     if (widestr != NULL)
+-     {
+- 	++*outlen;	/* Include the 0 after the string */
+- 	*out = utf16_to_enc((short_u *)widestr, outlen);
+- 	vim_free(widestr);
+-     }
+- }
+- #endif
+- 
+  /*
+   * Send the current selection to the clipboard.
+   */
+--- 1310,1315 ----
+***************
+*** 1626,1631 ****
+--- 1474,1631 ----
+  
+  #endif /* FEAT_CLIPBOARD */
+  
++ #if defined(FEAT_MBYTE) || defined(PROTO)
++ /*
++  * Note: the following two functions are only guaranteed to work when using
++  * valid MS-Windows codepages or when iconv() is available.
++  */
++ 
++ /*
++  * Convert "str" from 'encoding' to UTF-16.
++  * Input in "str" with length "*lenp".  When "lenp" is NULL, use strlen().
++  * Output is returned as an allocated string.  "*lenp" is set to the length of
++  * the result.  A trailing NUL is always added.
++  * Returns NULL when out of memory.
++  */
++     short_u *
++ enc_to_utf16(char_u *str, int *lenp)
++ {
++     vimconv_T	conv;
++     WCHAR	*ret;
++     char_u	*allocbuf = NULL;
++     int		len_loc;
++     int		length;
++ 
++     if (lenp == NULL)
++     {
++ 	len_loc = (int)STRLEN(str) + 1;
++ 	lenp = &len_loc;
++     }
++ 
++     if (enc_codepage > 0)
++     {
++ 	/* We can do any CP### -> UTF-16 in one pass, and we can do it
++ 	 * without iconv() (convert_* may need iconv). */
++ 	MultiByteToWideChar_alloc(enc_codepage, 0, str, *lenp, &ret, &length);
++     }
++     else
++     {
++ 	/* Use "latin1" by default, we might be called before we have p_enc
++ 	 * set up.  Convert to utf-8 first, works better with iconv().  Does
++ 	 * nothing if 'encoding' is "utf-8". */
++ 	conv.vc_type = CONV_NONE;
++ 	if (convert_setup(&conv, p_enc ? p_enc : (char_u *)"latin1",
++ 						   (char_u *)"utf-8") == FAIL)
++ 	    return NULL;
++ 	if (conv.vc_type != CONV_NONE)
++ 	{
++ 	    str = allocbuf = string_convert(&conv, str, lenp);
++ 	    if (str == NULL)
++ 		return NULL;
++ 	}
++ 	convert_setup(&conv, NULL, NULL);
++ 
++ 	length = utf8_to_utf16(str, *lenp, NULL, NULL);
++ 	ret = (WCHAR *)alloc((unsigned)((length + 1) * sizeof(WCHAR)));
++ 	if (ret != NULL)
++ 	{
++ 	    utf8_to_utf16(str, *lenp, (short_u *)ret, NULL);
++ 	    ret[length] = 0;
++ 	}
++ 
++ 	vim_free(allocbuf);
++     }
++ 
++     *lenp = length;
++     return (short_u *)ret;
++ }
++ 
++ /*
++  * Convert an UTF-16 string to 'encoding'.
++  * Input in "str" with length (counted in wide characters) "*lenp".  When
++  * "lenp" is NULL, use wcslen().
++  * Output is returned as an allocated string.  If "*lenp" is not NULL it is
++  * set to the length of the result.
++  * Returns NULL when out of memory.
++  */
++     char_u *
++ utf16_to_enc(short_u *str, int *lenp)
++ {
++     vimconv_T	conv;
++     char_u	*utf8_str = NULL, *enc_str = NULL;
++     int		len_loc;
++ 
++     if (lenp == NULL)
++     {
++ 	len_loc = (int)wcslen(str) + 1;
++ 	lenp = &len_loc;
++     }
++ 
++     if (enc_codepage > 0)
++     {
++ 	/* We can do any UTF-16 -> CP### in one pass. */
++ 	int length;
++ 
++ 	WideCharToMultiByte_alloc(enc_codepage, 0, str, *lenp,
++ 					    (LPSTR *)&enc_str, &length, 0, 0);
++ 	*lenp = length;
++ 	return enc_str;
++     }
++ 
++     /* Avoid allocating zero bytes, it generates an error message. */
++     utf8_str = alloc(utf16_to_utf8(str, *lenp == 0 ? 1 : *lenp, NULL));
++     if (utf8_str != NULL)
++     {
++ 	*lenp = utf16_to_utf8(str, *lenp, utf8_str);
++ 
++ 	/* We might be called before we have p_enc set up. */
++ 	conv.vc_type = CONV_NONE;
++ 	convert_setup(&conv, (char_u *)"utf-8",
++ 					    p_enc? p_enc: (char_u *)"latin1");
++ 	if (conv.vc_type == CONV_NONE)
++ 	{
++ 	    /* p_enc is utf-8, so we're done. */
++ 	    enc_str = utf8_str;
++ 	}
++ 	else
++ 	{
++ 	    enc_str = string_convert(&conv, utf8_str, lenp);
++ 	    vim_free(utf8_str);
++ 	}
++ 
++ 	convert_setup(&conv, NULL, NULL);
++     }
++ 
++     return enc_str;
++ }
++ #endif /* FEAT_MBYTE */
++ 
++ #if (defined(FEAT_MBYTE) && defined(WIN3264)) || defined(PROTO)
++ /*
++  * Convert from the active codepage to 'encoding'.
++  * Input is "str[str_size]".
++  * The result is in allocated memory: "out[outlen]".  With terminating NUL.
++  */
++     void
++ acp_to_enc(str, str_size, out, outlen)
++     char_u	*str;
++     int		str_size;
++     char_u	**out;
++     int		*outlen;
++ 
++ {
++     LPWSTR	widestr;
++ 
++     MultiByteToWideChar_alloc(GetACP(), 0, str, str_size, &widestr, outlen);
++     if (widestr != NULL)
++     {
++ 	++*outlen;	/* Include the 0 after the string */
++ 	*out = utf16_to_enc((short_u *)widestr, outlen);
++ 	vim_free(widestr);
++     }
++ }
++ #endif
++ 
+  
+  /*
+   * Debugging helper: expose the MCH_WRITE_DUMP stuff to other modules
+*** ../vim-7.3.222/src/version.c	2011-06-19 01:27:29.000000000 +0200
+--- src/version.c	2011-06-19 01:28:41.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+  {   /* Add new patch number below this line */
++ /**/
++     223,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+191. You rate eating establishments not by the quality of the food,
+     but by the availability of electrical outlets for your PowerBook.
+
+ /// Bram Moolenaar -- Bram at 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    ///

================================================================
Index: packages/vim/7.3.224
diff -u /dev/null packages/vim/7.3.224:1.1
--- /dev/null	Sat Jul  9 09:06:50 2011
+++ packages/vim/7.3.224	Sat Jul  9 09:06:48 2011
@@ -0,0 +1,162 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.224
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.224
+Problem:    Can't pass dict to sort function.
+Solution:   Add the optional {dict} argument to sort(). (ZyX)
+Files:      runtime/doc/eval.txt, src/eval.c
+
+
+*** ../mercurial/vim73/runtime/doc/eval.txt	2011-05-19 17:25:36.000000000 +0200
+--- runtime/doc/eval.txt	2011-06-19 02:42:52.000000000 +0200
+***************
+*** 1919,1925 ****
+  simplify( {filename})		String	simplify filename as much as possible
+  sin( {expr})			Float	sine of {expr}
+  sinh( {expr})			Float	hyperbolic sine of {expr}
+! sort( {list} [, {func}])	List	sort {list}, using {func} to compare
+  soundfold( {word})		String	sound-fold {word}
+  spellbadword()			String	badly spelled word at cursor
+  spellsuggest( {word} [, {max} [, {capital}]])
+--- 1922,1929 ----
+  simplify( {filename})		String	simplify filename as much as possible
+  sin( {expr})			Float	sine of {expr}
+  sinh( {expr})			Float	hyperbolic sine of {expr}
+! sort( {list} [, {func} [, {dict}]])
+! 				List	sort {list}, using {func} to compare
+  soundfold( {word})		String	sound-fold {word}
+  spellbadword()			String	badly spelled word at cursor
+  spellsuggest( {word} [, {max} [, {capital}]])
+***************
+*** 5275,5281 ****
+  		{only available when compiled with the |+float| feature}
+  
+  
+! sort({list} [, {func}])					*sort()* *E702*
+  		Sort the items in {list} in-place.  Returns {list}.  If you
+  		want a list to remain unmodified make a copy first: >
+  			:let sortedlist = sort(copy(mylist))
+--- 5279,5285 ----
+  		{only available when compiled with the |+float| feature}
+  
+  
+! sort({list} [, {func} [, {dict}]])			*sort()* *E702*
+  		Sort the items in {list} in-place.  Returns {list}.  If you
+  		want a list to remain unmodified make a copy first: >
+  			:let sortedlist = sort(copy(mylist))
+***************
+*** 5283,5288 ****
+--- 5287,5294 ----
+  		Numbers sort after Strings, |Lists| after Numbers.
+  		For sorting text in the current buffer use |:sort|.
+  		When {func} is given and it is one then case is ignored.
++ 		{dict} is for functions with the "dict" attribute.  It will be
++ 		used to set the local variable "self". |Dictionary-function|
+  		When {func} is a |Funcref| or a function name, this function
+  		is called to compare items.  The function is invoked with two
+  		items as argument and must return zero if they are equal, 1 or
+*** ../mercurial/vim73/src/eval.c	2011-05-19 18:26:34.000000000 +0200
+--- src/eval.c	2011-06-19 02:51:13.000000000 +0200
+***************
+*** 7930,7936 ****
+      {"sin",		1, 1, f_sin},
+      {"sinh",		1, 1, f_sinh},
+  #endif
+!     {"sort",		1, 2, f_sort},
+      {"soundfold",	1, 1, f_soundfold},
+      {"spellbadword",	0, 1, f_spellbadword},
+      {"spellsuggest",	1, 3, f_spellsuggest},
+--- 7930,7936 ----
+      {"sin",		1, 1, f_sin},
+      {"sinh",		1, 1, f_sinh},
+  #endif
+!     {"sort",		1, 3, f_sort},
+      {"soundfold",	1, 1, f_soundfold},
+      {"spellbadword",	0, 1, f_spellbadword},
+      {"spellsuggest",	1, 3, f_spellsuggest},
+***************
+*** 16366,16371 ****
+--- 16366,16372 ----
+  
+  static int	item_compare_ic;
+  static char_u	*item_compare_func;
++ static dict_T	*item_compare_selfdict;
+  static int	item_compare_func_err;
+  #define ITEM_COMPARE_FAIL 999
+  
+***************
+*** 16425,16431 ****
+  
+      rettv.v_type = VAR_UNKNOWN;		/* clear_tv() uses this */
+      res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
+! 				 &rettv, 2, argv, 0L, 0L, &dummy, TRUE, NULL);
+      clear_tv(&argv[0]);
+      clear_tv(&argv[1]);
+  
+--- 16426,16433 ----
+  
+      rettv.v_type = VAR_UNKNOWN;		/* clear_tv() uses this */
+      res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
+! 				 &rettv, 2, argv, 0L, 0L, &dummy, TRUE,
+! 				 item_compare_selfdict);
+      clear_tv(&argv[0]);
+      clear_tv(&argv[1]);
+  
+***************
+*** 16471,16478 ****
+--- 16473,16482 ----
+  
+  	item_compare_ic = FALSE;
+  	item_compare_func = NULL;
++ 	item_compare_selfdict = NULL;
+  	if (argvars[1].v_type != VAR_UNKNOWN)
+  	{
++ 	    /* optional second argument: {func} */
+  	    if (argvars[1].v_type == VAR_FUNC)
+  		item_compare_func = argvars[1].vval.v_string;
+  	    else
+***************
+*** 16487,16492 ****
+--- 16491,16507 ----
+  		else
+  		    item_compare_func = get_tv_string(&argvars[1]);
+  	    }
++ 
++ 	    if (argvars[2].v_type != VAR_UNKNOWN)
++ 	    {
++ 		/* optional third argument: {dict} */
++ 		if (argvars[2].v_type != VAR_DICT)
++ 		{
++ 		    EMSG(_(e_dictreq));
++ 		    return;
++ 		}
++ 		item_compare_selfdict = argvars[2].vval.v_dict;
++ 	    }
+  	}
+  
+  	/* Make an array with each entry pointing to an item in the List. */
+*** ../vim-7.3.223/src/version.c	2011-06-19 01:30:01.000000000 +0200
+--- src/version.c	2011-06-19 02:52:46.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+  {   /* Add new patch number below this line */
++ /**/
++     224,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+193. You ask your girlfriend to drive home so you can sit back with
+     your PDA and download the information to your laptop
+
+ /// Bram Moolenaar -- Bram at 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    ///
================================================================


More information about the pld-cvs-commit mailing list