packages: vim/vim.spec, vim/7.3.028 (NEW), vim/7.3.029 (NEW), vim/7.3.030 (...

glen glen at pld-linux.org
Mon Oct 25 14:42:38 CEST 2010


Author: glen                         Date: Mon Oct 25 12:42:38 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 7.3.035

---- Files affected:
packages/vim:
   vim.spec (1.528 -> 1.529) , 7.3.028 (NONE -> 1.1)  (NEW), 7.3.029 (NONE -> 1.1)  (NEW), 7.3.030 (NONE -> 1.1)  (NEW), 7.3.031 (NONE -> 1.1)  (NEW), 7.3.032 (NONE -> 1.1)  (NEW), 7.3.033 (NONE -> 1.1)  (NEW), 7.3.034 (NONE -> 1.1)  (NEW), 7.3.035 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/vim/vim.spec
diff -u packages/vim/vim.spec:1.528 packages/vim/vim.spec:1.529
--- packages/vim/vim.spec:1.528	Thu Oct 14 07:16:25 2010
+++ packages/vim/vim.spec	Mon Oct 25 14:42:32 2010
@@ -28,7 +28,7 @@
 # curl -s ftp://ftp.vim.org/pub/editors/vim/patches/7.3/MD5SUMS | grep -vF .gz | tail -n1 | awk '{print $2}'
 
 %define		ver		7.3
-%define		patchlevel	027
+%define		patchlevel	035
 %define		rel			1
 Summary:	Vi IMproved - a Vi clone
 Summary(de.UTF-8):	VIsual editor iMproved
@@ -1380,6 +1380,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.529  2010/10/25 12:42:32  glen
+- up to 7.3.035
+
 Revision 1.528  2010/10/14 05:16:25  wrobell
 - ver. 7.3.027
 

================================================================
Index: packages/vim/7.3.028
diff -u /dev/null packages/vim/7.3.028:1.1
--- /dev/null	Mon Oct 25 14:42:38 2010
+++ packages/vim/7.3.028	Mon Oct 25 14:42:32 2010
@@ -0,0 +1,179 @@
+To: vim-dev at vim.org
+Subject: Patch 7.3.028
+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.028 (after 7.3.024)
+Problem:    Signs don't show up. (Charles Campbell)
+Solution:   Don't use negative numbers.  Also assign a number to signs that
+	    have a name of all digits to avoid using a sign number twice.
+Files:	    src/ex_cmds.c
+
+
+*** ../vim-7.3.027/src/ex_cmds.c	2010-10-13 16:44:17.000000000 +0200
+--- src/ex_cmds.c	2010-10-14 20:59:04.000000000 +0200
+***************
+*** 6569,6575 ****
+  };
+  
+  static sign_T	*first_sign = NULL;
+! static int	last_sign_typenr = MAX_TYPENR;	/* is decremented */
+  
+  static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd));
+  static void sign_list_defined __ARGS((sign_T *sp));
+--- 6569,6575 ----
+  };
+  
+  static sign_T	*first_sign = NULL;
+! static int	next_sign_typenr = 1;
+  
+  static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd));
+  static void sign_list_defined __ARGS((sign_T *sp));
+***************
+*** 6651,6659 ****
+--- 6651,6664 ----
+  	    EMSG(_("E156: Missing sign name"));
+  	else
+  	{
++ 	    /* Isolate the sign name.  If it's a number skip leading zeroes,
++ 	     * so that "099" and "99" are the same sign.  But keep "0". */
+  	    p = skiptowhite(arg);
+  	    if (*p != NUL)
+  		*p++ = NUL;
++ 	    while (arg[0] == '0' && arg[1] != NUL)
++ 		++arg;
++ 
+  	    sp_prev = NULL;
+  	    for (sp = first_sign; sp != NULL; sp = sp->sn_next)
+  	    {
+***************
+*** 6666,6706 ****
+  		/* ":sign define {name} ...": define a sign */
+  		if (sp == NULL)
+  		{
+  		    /* Allocate a new sign. */
+  		    sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
+  		    if (sp == NULL)
+  			return;
+  
+! 		    /* If the name is a number use that for the typenr,
+! 		     * otherwise use a negative number. */
+! 		    if (VIM_ISDIGIT(*arg))
+! 			sp->sn_typenr = atoi((char *)arg);
+! 		    else
+  		    {
+! 			sign_T	*lp;
+! 			int	start = last_sign_typenr;
+! 
+! 			for (lp = first_sign; lp != NULL; lp = lp->sn_next)
+  			{
+! 			    if (lp->sn_typenr == -last_sign_typenr)
+  			    {
+! 				--last_sign_typenr;
+! 				if (last_sign_typenr == 0)
+! 				    last_sign_typenr = MAX_TYPENR;
+! 				if (last_sign_typenr == start)
+! 				{
+! 				    vim_free(sp);
+! 				    EMSG(_("E612: Too many signs defined"));
+! 				    return;
+! 				}
+! 				lp = first_sign;
+! 				continue;
+  			    }
+  			}
+  
+! 			sp->sn_typenr = -last_sign_typenr;
+! 			if (--last_sign_typenr == 0)
+! 			    last_sign_typenr = MAX_TYPENR; /* wrap around */
+  		    }
+  
+  		    /* add the new sign to the list of signs */
+--- 6671,6715 ----
+  		/* ":sign define {name} ...": define a sign */
+  		if (sp == NULL)
+  		{
++ 		    sign_T	*lp;
++ 		    int		start = next_sign_typenr;
++ 
+  		    /* Allocate a new sign. */
+  		    sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
+  		    if (sp == NULL)
+  			return;
+  
+! 		    /* Check that next_sign_typenr is not already being used.
+! 		     * This only happens after wrapping around.  Hopefully
+! 		     * another one got deleted and we can use its number. */
+! 		    for (lp = first_sign; lp != NULL; )
+  		    {
+! 			if (lp->sn_typenr == next_sign_typenr)
+  			{
+! 			    ++next_sign_typenr;
+! 			    if (next_sign_typenr == MAX_TYPENR)
+! 				next_sign_typenr = 1;
+! 			    if (next_sign_typenr == start)
+  			    {
+! 				vim_free(sp);
+! 				EMSG(_("E612: Too many signs defined"));
+! 				return;
+  			    }
++ 			    lp = first_sign;  /* start all over */
++ 			    continue;
+  			}
++ 			lp = lp->sn_next;
++ 		    }
++ 
++ 		    sp->sn_typenr = next_sign_typenr;
++ 		    if (++next_sign_typenr == MAX_TYPENR)
++ 			next_sign_typenr = 1; /* wrap around */
+  
+! 		    sp->sn_name = vim_strsave(arg);
+! 		    if (sp->sn_name == NULL)  /* out of memory */
+! 		    {
+! 			vim_free(sp);
+! 			return;
+  		    }
+  
+  		    /* add the new sign to the list of signs */
+***************
+*** 6708,6714 ****
+  			first_sign = sp;
+  		    else
+  			sp_prev->sn_next = sp;
+- 		    sp->sn_name = vim_strnsave(arg, (int)(p - arg));
+  		}
+  
+  		/* set values for a defined sign. */
+--- 6717,6722 ----
+***************
+*** 6886,6891 ****
+--- 6894,6901 ----
+  		arg = skiptowhite(arg);
+  		if (*arg != NUL)
+  		    *arg++ = NUL;
++ 		while (sign_name[0] == '0' && sign_name[1] != NUL)
++ 		    ++sign_name;
+  	    }
+  	    else if (STRNCMP(arg, "file=", 5) == 0)
+  	    {
+*** ../vim-7.3.027/src/version.c	2010-10-13 20:37:37.000000000 +0200
+--- src/version.c	2010-10-14 20:50:54.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     28,
+  /**/
+
+-- 
+This is an airconditioned room, do not open Windows.
+
+ /// 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: packages/vim/7.3.029
diff -u /dev/null packages/vim/7.3.029:1.1
--- /dev/null	Mon Oct 25 14:42:38 2010
+++ packages/vim/7.3.029	Mon Oct 25 14:42:32 2010
@@ -0,0 +1,177 @@
+To: vim-dev at vim.org
+Subject: Patch 7.3.029
+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.029
+Problem:    ":sort n" sorts lines without a number as number zero. (Beeyawned)
+Solution:   Make lines without a number sort before lines with a number.  Also
+	    fix sorting negative numbers.
+Files:	    src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok
+
+
+*** ../vim-7.3.028/src/ex_cmds.c	2010-10-14 21:29:31.000000000 +0200
+--- src/ex_cmds.c	2010-10-15 20:04:25.000000000 +0200
+***************
+*** 323,329 ****
+      /* When sorting numbers "start_col_nr" is the number, not the column
+       * number. */
+      if (sort_nr)
+! 	result = l1.start_col_nr - l2.start_col_nr;
+      else
+      {
+  	/* We need to copy one line into "sortbuf1", because there is no
+--- 323,330 ----
+      /* When sorting numbers "start_col_nr" is the number, not the column
+       * number. */
+      if (sort_nr)
+! 	result = l1.start_col_nr == l2.start_col_nr ? 0
+! 				 : l1.start_col_nr > l2.start_col_nr ? 1 : -1;
+      else
+      {
+  	/* We need to copy one line into "sortbuf1", because there is no
+***************
+*** 482,488 ****
+  	     * of the match, by temporarily terminating the string there */
+  	    s2 = s + end_col;
+  	    c = *s2;
+! 	    (*s2) = 0;
+  	    /* Sorting on number: Store the number itself. */
+  	    p = s + start_col;
+  	    if (sort_hex)
+--- 483,489 ----
+  	     * of the match, by temporarily terminating the string there */
+  	    s2 = s + end_col;
+  	    c = *s2;
+! 	    *s2 = NUL;
+  	    /* Sorting on number: Store the number itself. */
+  	    p = s + start_col;
+  	    if (sort_hex)
+***************
+*** 491,499 ****
+  		s = skiptodigit(p);
+  	    if (s > p && s[-1] == '-')
+  		--s;  /* include preceding negative sign */
+! 	    vim_str2nr(s, NULL, NULL, sort_oct, sort_hex,
+! 					&nrs[lnum - eap->line1].start_col_nr, NULL);
+! 	    (*s2) = c;
+  	}
+  	else
+  	{
+--- 492,504 ----
+  		s = skiptodigit(p);
+  	    if (s > p && s[-1] == '-')
+  		--s;  /* include preceding negative sign */
+! 	    if (*s == NUL)
+! 		/* empty line should sort before any number */
+! 		nrs[lnum - eap->line1].start_col_nr = -MAXLNUM;
+! 	    else
+! 		vim_str2nr(s, NULL, NULL, sort_oct, sort_hex,
+! 				  &nrs[lnum - eap->line1].start_col_nr, NULL);
+! 	    *s2 = c;
+  	}
+  	else
+  	{
+***************
+*** 6556,6563 ****
+  struct sign
+  {
+      sign_T	*sn_next;	/* next sign in list */
+!     int		sn_typenr;	/* type number of sign (negative if not equal
+! 				   to name) */
+      char_u	*sn_name;	/* name of sign */
+      char_u	*sn_icon;	/* name of pixmap */
+  #ifdef FEAT_SIGN_ICONS
+--- 6561,6567 ----
+  struct sign
+  {
+      sign_T	*sn_next;	/* next sign in list */
+!     int		sn_typenr;	/* type number of sign */
+      char_u	*sn_name;	/* name of sign */
+      char_u	*sn_icon;	/* name of pixmap */
+  #ifdef FEAT_SIGN_ICONS
+*** ../vim-7.3.028/src/testdir/test57.in	2010-08-15 21:57:29.000000000 +0200
+--- src/testdir/test57.in	2010-10-15 20:12:23.000000000 +0200
+***************
+*** 53,67 ****
+  t02: numeric
+  abc
+  ab
+- a
+  a321
+  a123
+  a122
+  b321
+  b123
+  c123d
+   123b
+  c321d
+  b322b
+  b321
+  b321b
+--- 53,71 ----
+  t02: numeric
+  abc
+  ab
+  a321
+  a123
+  a122
++ a
++ x-22
+  b321
+  b123
++ 
+  c123d
++ -24
+   123b
+  c321d
++ 0
+  b322b
+  b321
+  b321b
+*** ../vim-7.3.028/src/testdir/test57.ok	2010-08-15 21:57:29.000000000 +0200
+--- src/testdir/test57.ok	2010-10-15 20:11:42.000000000 +0200
+***************
+*** 21,26 ****
+--- 21,30 ----
+  a
+  
+  
++ 
++ -24
++ x-22
++ 0
+  a122
+  a123
+  b123
+*** ../vim-7.3.028/src/version.c	2010-10-14 21:29:31.000000000 +0200
+--- src/version.c	2010-10-15 20:13:52.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     29,
+  /**/
+
+-- 
+       When danger reared its ugly head,
+       He bravely turned his tail and fled
+       Yes, Brave Sir Robin turned about
+       And gallantly he chickened out
+       Bravely taking to his feet
+       He beat a very brave retreat
+       Bravest of the brave Sir Robin
+       Petrified of being dead
+       Soiled his pants then brave Sir Robin
+       Turned away and fled.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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: packages/vim/7.3.030
diff -u /dev/null packages/vim/7.3.030:1.1
--- /dev/null	Mon Oct 25 14:42:38 2010
+++ packages/vim/7.3.030	Mon Oct 25 14:42:32 2010
@@ -0,0 +1,366 @@
+To: vim-dev at vim.org
+Subject: Patch 7.3.030
+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.030
+Problem:    Cannot store Dict and List in viminfo file.
+Solution:   Add support for this. (Christian Brabandt)
+Files:	    runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak,
+	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
+	    src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in,
+	    src/testdir/test74.ok
+
+
+*** ../vim-7.3.029/runtime/doc/options.txt	2010-08-15 21:57:17.000000000 +0200
+--- runtime/doc/options.txt	2010-10-20 17:41:18.000000000 +0200
+***************
+*** 7530,7537 ****
+  	!	When included, save and restore global variables that start
+  		with an uppercase letter, and don't contain a lowercase
+  		letter.  Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
+! 		and "_K_L_M" are not.  Only String and Number types are
+! 		stored.
+  	"	Maximum number of lines saved for each register.  Old name of
+  		the '<' item, with the disadvantage that you need to put a
+  		backslash before the ", otherwise it will be recognized as the
+--- 7530,7538 ----
+  	!	When included, save and restore global variables that start
+  		with an uppercase letter, and don't contain a lowercase
+  		letter.  Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
+! 		and "_K_L_M" are not.  Nested List and Dict items may not be
+! 		read back correctly, you end up with a string representation
+! 		instead.
+  	"	Maximum number of lines saved for each register.  Old name of
+  		the '<' item, with the disadvantage that you need to put a
+  		backslash before the ", otherwise it will be recognized as the
+*** ../vim-7.3.029/src/eval.c	2010-09-14 12:47:30.000000000 +0200
+--- src/eval.c	2010-10-20 16:25:54.000000000 +0200
+***************
+*** 22520,22537 ****
+  	if (tab != NULL)
+  	{
+  	    *tab++ = '\0';	/* isolate the variable name */
+! 	    if (*tab == 'S')	/* string var */
+! 		type = VAR_STRING;
+  #ifdef FEAT_FLOAT
+! 	    else if (*tab == 'F')
+! 		type = VAR_FLOAT;
+  #endif
+  
+  	    tab = vim_strchr(tab, '\t');
+  	    if (tab != NULL)
+  	    {
+  		tv.v_type = type;
+! 		if (type == VAR_STRING)
+  		    tv.vval.v_string = viminfo_readstring(virp,
+  				       (int)(tab - virp->vir_line + 1), TRUE);
+  #ifdef FEAT_FLOAT
+--- 22520,22540 ----
+  	if (tab != NULL)
+  	{
+  	    *tab++ = '\0';	/* isolate the variable name */
+! 	    switch (*tab)
+! 	    {
+! 		case 'S': type = VAR_STRING; break;
+  #ifdef FEAT_FLOAT
+! 		case 'F': type = VAR_FLOAT; break;
+  #endif
++ 		case 'D': type = VAR_DICT; break;
++ 		case 'L': type = VAR_LIST; break;
++ 	    }
+  
+  	    tab = vim_strchr(tab, '\t');
+  	    if (tab != NULL)
+  	    {
+  		tv.v_type = type;
+! 		if (type == VAR_STRING || type == VAR_DICT || type == VAR_LIST)
+  		    tv.vval.v_string = viminfo_readstring(virp,
+  				       (int)(tab - virp->vir_line + 1), TRUE);
+  #ifdef FEAT_FLOAT
+***************
+*** 22540,22548 ****
+  #endif
+  		else
+  		    tv.vval.v_number = atol((char *)tab + 1);
+  		set_var(virp->vir_line + 1, &tv, FALSE);
+! 		if (type == VAR_STRING)
+  		    vim_free(tv.vval.v_string);
+  	    }
+  	}
+      }
+--- 22543,22569 ----
+  #endif
+  		else
+  		    tv.vval.v_number = atol((char *)tab + 1);
++ 		if (type == VAR_DICT || type == VAR_LIST)
++ 		{
++ 		    typval_T *etv = eval_expr(tv.vval.v_string, NULL);
++ 
++ 		    if (etv == NULL)
++ 			/* Failed to parse back the dict or list, use it as a
++ 			 * string. */
++ 			tv.v_type = VAR_STRING;
++ 		    else
++ 		    {
++ 			vim_free(tv.vval.v_string);
++ 			tv = *etv;
++ 		    }
++ 		}
++ 
+  		set_var(virp->vir_line + 1, &tv, FALSE);
+! 
+! 		if (tv.v_type == VAR_STRING)
+  		    vim_free(tv.vval.v_string);
++ 		else if (tv.v_type == VAR_DICT || tv.v_type == VAR_LIST)
++ 		    clear_tv(&tv);
+  	    }
+  	}
+      }
+***************
+*** 22584,22591 ****
+  		    case VAR_STRING: s = "STR"; break;
+  		    case VAR_NUMBER: s = "NUM"; break;
+  #ifdef FEAT_FLOAT
+! 		    case VAR_FLOAT: s = "FLO"; break;
+  #endif
+  		    default: continue;
+  		}
+  		fprintf(fp, "!%s\t%s\t", this_var->di_key, s);
+--- 22605,22614 ----
+  		    case VAR_STRING: s = "STR"; break;
+  		    case VAR_NUMBER: s = "NUM"; break;
+  #ifdef FEAT_FLOAT
+! 		    case VAR_FLOAT:  s = "FLO"; break;
+  #endif
++ 		    case VAR_DICT:   s = "DIC"; break;
++ 		    case VAR_LIST:   s = "LIS"; break;
+  		    default: continue;
+  		}
+  		fprintf(fp, "!%s\t%s\t", this_var->di_key, s);
+*** ../vim-7.3.029/src/testdir/Make_amiga.mak	2010-08-15 21:57:29.000000000 +0200
+--- src/testdir/Make_amiga.mak	2010-10-20 16:27:19.000000000 +0200
+***************
+*** 27,33 ****
+  		test56.out test57.out test58.out test59.out test60.out \
+  		test61.out test62.out test63.out test64.out test65.out \
+  		test66.out test67.out test68.out test69.out test70.out \
+! 		test71.out test72.out test73.out
+  
+  .SUFFIXES: .in .out
+  
+--- 27,33 ----
+  		test56.out test57.out test58.out test59.out test60.out \
+  		test61.out test62.out test63.out test64.out test65.out \
+  		test66.out test67.out test68.out test69.out test70.out \
+! 		test71.out test72.out test73.out test74.out
+  
+  .SUFFIXES: .in .out
+  
+***************
+*** 120,122 ****
+--- 120,123 ----
+  test71.out: test71.in
+  test72.out: test72.in
+  test73.out: test73.in
++ test74.out: test74.in
+*** ../vim-7.3.029/src/testdir/Make_dos.mak	2010-08-15 21:57:29.000000000 +0200
+--- src/testdir/Make_dos.mak	2010-10-20 16:13:35.000000000 +0200
+***************
+*** 27,33 ****
+  		test30.out test31.out test32.out test33.out test34.out \
+  		test37.out test38.out test39.out test40.out test41.out \
+  		test42.out test52.out test65.out test66.out test67.out \
+! 		test68.out test69.out test71.out test72.out test73.out
+  
+  SCRIPTS32 =	test50.out test70.out
+  
+--- 27,34 ----
+  		test30.out test31.out test32.out test33.out test34.out \
+  		test37.out test38.out test39.out test40.out test41.out \
+  		test42.out test52.out test65.out test66.out test67.out \
+! 		test68.out test69.out test71.out test72.out test73.out \
+! 		test74.out
+  
+  SCRIPTS32 =	test50.out test70.out
+  
+*** ../vim-7.3.029/src/testdir/Make_ming.mak	2010-08-15 21:57:29.000000000 +0200
+--- src/testdir/Make_ming.mak	2010-10-20 16:26:54.000000000 +0200
+***************
+*** 47,53 ****
+  		test30.out test31.out test32.out test33.out test34.out \
+  		test37.out test38.out test39.out test40.out test41.out \
+  		test42.out test52.out test65.out test66.out test67.out \
+! 		test68.out test69.out test71.out test72.out test72.out
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/vim/vim.spec?r1=1.528&r2=1.529&f=u



More information about the pld-cvs-commit mailing list