packages: vim/vim.spec, vim/7.3.108 (NEW), vim/7.3.109 (NEW), vim/7.3.110 (...

glen glen at pld-linux.org
Fri Feb 4 12:54:27 CET 2011


Author: glen                         Date: Fri Feb  4 11:54:27 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 7.3.112

---- Files affected:
packages/vim:
   vim.spec (1.544 -> 1.545) , 7.3.108 (NONE -> 1.1)  (NEW), 7.3.109 (NONE -> 1.1)  (NEW), 7.3.110 (NONE -> 1.1)  (NEW), 7.3.111 (NONE -> 1.1)  (NEW), 7.3.112 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/vim/vim.spec
diff -u packages/vim/vim.spec:1.544 packages/vim/vim.spec:1.545
--- packages/vim/vim.spec:1.544	Mon Jan 24 13:51:54 2011
+++ packages/vim/vim.spec	Fri Feb  4 12:54:22 2011
@@ -26,7 +26,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	107
+%define		patchlevel	112
 %define		rel			1
 Summary:	Vi IMproved - a Vi clone
 Summary(de.UTF-8):	VIsual editor iMproved
@@ -1393,6 +1393,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.545  2011/02/04 11:54:22  glen
+- up to 7.3.112
+
 Revision 1.544  2011/01/24 12:51:54  glen
 - up to 7.3.107
 

================================================================
Index: packages/vim/7.3.108
diff -u /dev/null packages/vim/7.3.108:1.1
--- /dev/null	Fri Feb  4 12:54:27 2011
+++ packages/vim/7.3.108	Fri Feb  4 12:54:21 2011
@@ -0,0 +1,111 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.108
+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.108
+Problem:    Useless check for NULL when calling vim_free().
+Solution:   Remove the check. (Dominique Pelle)
+Files:	    src/eval.c, src/ex_cmds.c, src/os_win32.c
+
+
+*** ../vim-7.3.107/src/eval.c	2011-01-22 01:13:33.000000000 +0100
+--- src/eval.c	2011-01-30 21:37:53.000000000 +0100
+***************
+*** 5106,5114 ****
+  	    else
+  		ret = OK;
+  	}
+! 
+! 	if (alias != NULL)
+! 	    vim_free(alias);
+      }
+  
+      *arg = skipwhite(*arg);
+--- 5106,5112 ----
+  	    else
+  		ret = OK;
+  	}
+! 	vim_free(alias);
+      }
+  
+      *arg = skipwhite(*arg);
+***************
+*** 19807,19813 ****
+  	    EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
+  	    return;
+  	}
+! 	/* Don't allow hiding a function.  When "v" is not NULL we migth be
+  	 * assigning another function to the same var, the type is checked
+  	 * below. */
+  	if (v == NULL && function_exists(name))
+--- 19805,19811 ----
+  	    EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
+  	    return;
+  	}
+! 	/* Don't allow hiding a function.  When "v" is not NULL we might be
+  	 * assigning another function to the same var, the type is checked
+  	 * below. */
+  	if (v == NULL && function_exists(name))
+*** ../vim-7.3.107/src/ex_cmds.c	2010-12-17 18:06:00.000000000 +0100
+--- src/ex_cmds.c	2011-01-30 21:37:53.000000000 +0100
+***************
+*** 5412,5418 ****
+      vir_T	*virp;
+      int		force;
+  {
+!     if (old_sub != NULL && force)
+  	vim_free(old_sub);
+      if (force || old_sub == NULL)
+  	old_sub = viminfo_readstring(virp, 1, TRUE);
+--- 5412,5418 ----
+      vir_T	*virp;
+      int		force;
+  {
+!     if (force)
+  	vim_free(old_sub);
+      if (force || old_sub == NULL)
+  	old_sub = viminfo_readstring(virp, 1, TRUE);
+*** ../vim-7.3.107/src/os_win32.c	2010-12-17 20:23:56.000000000 +0100
+--- src/os_win32.c	2011-01-30 21:37:53.000000000 +0100
+***************
+*** 1886,1893 ****
+  	cb->BufferSize.X = cb->Info.dwSize.X;
+  	cb->BufferSize.Y = cb->Info.dwSize.Y;
+  	NumCells = cb->BufferSize.X * cb->BufferSize.Y;
+! 	if (cb->Buffer != NULL)
+! 	    vim_free(cb->Buffer);
+  	cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO));
+  	if (cb->Buffer == NULL)
+  	    return FALSE;
+--- 1886,1892 ----
+  	cb->BufferSize.X = cb->Info.dwSize.X;
+  	cb->BufferSize.Y = cb->Info.dwSize.Y;
+  	NumCells = cb->BufferSize.X * cb->BufferSize.Y;
+! 	vim_free(cb->Buffer);
+  	cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO));
+  	if (cb->Buffer == NULL)
+  	    return FALSE;
+*** ../vim-7.3.107/src/version.c	2011-01-22 21:25:07.000000000 +0100
+--- src/version.c	2011-02-01 13:47:07.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     108,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+173. You keep tracking down the email addresses of all your friends
+     (even childhood friends).
+
+ /// 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.109
diff -u /dev/null packages/vim/7.3.109:1.1
--- /dev/null	Fri Feb  4 12:54:27 2011
+++ packages/vim/7.3.109	Fri Feb  4 12:54:21 2011
@@ -0,0 +1,266 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.109
+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.109
+Problem:    Processing new Esperanto spell file fails and crashes Vim.
+	    (Dominique Pelle)
+Solution:   When running out of memory give an error.  Handle '?' in
+	    COMPOUNDRULE properly.
+Files:	    src/spell.c
+
+
+*** ../vim-7.3.108/src/spell.c	2010-12-17 18:06:00.000000000 +0100
+--- src/spell.c	2011-02-01 13:43:52.000000000 +0100
+***************
+*** 3634,3640 ****
+  	}
+  
+  	/* Add all flags to "sl_compallflags". */
+! 	if (vim_strchr((char_u *)"+*[]/", c) == NULL
+  		&& !byte_in_str(slang->sl_compallflags, c))
+  	{
+  	    *ap++ = c;
+--- 3634,3640 ----
+  	}
+  
+  	/* Add all flags to "sl_compallflags". */
+! 	if (vim_strchr((char_u *)"?*+[]/", c) == NULL
+  		&& !byte_in_str(slang->sl_compallflags, c))
+  	{
+  	    *ap++ = c;
+***************
+*** 3664,3670 ****
+  	/* Copy flag to "sl_comprules", unless we run into a wildcard. */
+  	if (crp != NULL)
+  	{
+! 	    if (c == '+' || c == '*')
+  	    {
+  		vim_free(slang->sl_comprules);
+  		slang->sl_comprules = NULL;
+--- 3664,3670 ----
+  	/* Copy flag to "sl_comprules", unless we run into a wildcard. */
+  	if (crp != NULL)
+  	{
+! 	    if (c == '?' || c == '+' || c == '*')
+  	    {
+  		vim_free(slang->sl_comprules);
+  		slang->sl_comprules = NULL;
+***************
+*** 3682,3689 ****
+  	}
+  	else		    /* normal char, "[abc]" and '*' are copied as-is */
+  	{
+! 	    if (c == '+' || c == '~')
+! 		*pp++ = '\\';	    /* "a+" becomes "a\+" */
+  #ifdef FEAT_MBYTE
+  	    if (enc_utf8)
+  		pp += mb_char2bytes(c, pp);
+--- 3682,3689 ----
+  	}
+  	else		    /* normal char, "[abc]" and '*' are copied as-is */
+  	{
+! 	    if (c == '?' || c == '+' || c == '~')
+! 		*pp++ = '\\';	    /* "a?" becomes "a\?", "a+" becomes "a\+" */
+  #ifdef FEAT_MBYTE
+  	    if (enc_utf8)
+  		pp += mb_char2bytes(c, pp);
+***************
+*** 4951,4956 ****
+--- 4951,4958 ----
+  
+      sblock_T	*si_blocks;	/* memory blocks used */
+      long	si_blocks_cnt;	/* memory blocks allocated */
++     int		si_did_emsg;	/* TRUE when ran out of memory */
++ 
+      long	si_compress_cnt;    /* words to add before lowering
+  				       compression limit */
+      wordnode_T	*si_first_free; /* List of nodes that have been freed during
+***************
+*** 5477,5497 ****
+  	    }
+  	    else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
+  	    {
+! 		/* Concatenate this string to previously defined ones, using a
+! 		 * slash to separate them. */
+! 		l = (int)STRLEN(items[1]) + 1;
+! 		if (compflags != NULL)
+! 		    l += (int)STRLEN(compflags) + 1;
+! 		p = getroom(spin, l, FALSE);
+! 		if (p != NULL)
+  		{
+  		    if (compflags != NULL)
+  		    {
+! 			STRCPY(p, compflags);
+! 			STRCAT(p, "/");
+  		    }
+- 		    STRCAT(p, items[1]);
+- 		    compflags = p;
+  		}
+  	    }
+  	    else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
+--- 5479,5503 ----
+  	    }
+  	    else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
+  	    {
+! 		/* Don't use the first rule if it is a number. */
+! 		if (compflags != NULL || *skipdigits(items[1]) != NUL)
+  		{
++ 		    /* Concatenate this string to previously defined ones,
++ 		     * using a slash to separate them. */
++ 		    l = (int)STRLEN(items[1]) + 1;
+  		    if (compflags != NULL)
++ 			l += (int)STRLEN(compflags) + 1;
++ 		    p = getroom(spin, l, FALSE);
++ 		    if (p != NULL)
+  		    {
+! 			if (compflags != NULL)
+! 			{
+! 			    STRCPY(p, compflags);
+! 			    STRCAT(p, "/");
+! 			}
+! 			STRCAT(p, items[1]);
+! 			compflags = p;
+  		    }
+  		}
+  	    }
+  	    else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
+***************
+*** 6291,6297 ****
+  
+      for (p = compflags; *p != NUL; )
+      {
+! 	if (vim_strchr((char_u *)"/*+[]", *p) != NULL)
+  	    /* Copy non-flag characters directly. */
+  	    *tp++ = *p++;
+  	else
+--- 6297,6303 ----
+  
+      for (p = compflags; *p != NUL; )
+      {
+! 	if (vim_strchr((char_u *)"/?*+[]", *p) != NULL)
+  	    /* Copy non-flag characters directly. */
+  	    *tp++ = *p++;
+  	else
+***************
+*** 6320,6326 ****
+  		    {
+  			check_renumber(spin);
+  			id = spin->si_newcompID--;
+! 		    } while (vim_strchr((char_u *)"/+*[]\\-^", id) != NULL);
+  		    ci->ci_newID = id;
+  		    hash_add(&aff->af_comp, ci->ci_key);
+  		}
+--- 6326,6332 ----
+  		    {
+  			check_renumber(spin);
+  			id = spin->si_newcompID--;
+! 		    } while (vim_strchr((char_u *)"/?*+[]\\-^", id) != NULL);
+  		    ci->ci_newID = id;
+  		    hash_add(&aff->af_comp, ci->ci_key);
+  		}
+***************
+*** 7364,7373 ****
+  
+      if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
+      {
+! 	/* Allocate a block of memory. This is not freed until much later. */
+! 	bl = (sblock_T *)alloc_clear((unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
+  	if (bl == NULL)
+  	    return NULL;
+  	bl->sb_next = spin->si_blocks;
+  	spin->si_blocks = bl;
+  	bl->sb_used = 0;
+--- 7370,7390 ----
+  
+      if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
+      {
+! 	if (len >= SBLOCKSIZE)
+! 	    bl = NULL;
+! 	else
+! 	    /* Allocate a block of memory. It is not freed until much later. */
+! 	    bl = (sblock_T *)alloc_clear(
+! 				   (unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
+  	if (bl == NULL)
++ 	{
++ 	    if (!spin->si_did_emsg)
++ 	    {
++ 		EMSG(_("E845: Insufficient memory, word list will be incomplete"));
++ 		spin->si_did_emsg = TRUE;
++ 	    }
+  	    return NULL;
++ 	}
+  	bl->sb_next = spin->si_blocks;
+  	spin->si_blocks = bl;
+  	bl->sb_used = 0;
+***************
+*** 7382,7387 ****
+--- 7399,7405 ----
+  
+  /*
+   * Make a copy of a string into memory allocated with getroom().
++  * Returns NULL when out of memory.
+   */
+      static char_u *
+  getroom_save(spin, s)
+***************
+*** 7416,7421 ****
+--- 7434,7440 ----
+  
+  /*
+   * Allocate the root of a word tree.
++  * Returns NULL when out of memory.
+   */
+      static wordnode_T *
+  wordtree_alloc(spin)
+***************
+*** 7700,7705 ****
+--- 7719,7725 ----
+  /*
+   * Get a wordnode_T, either from the list of previously freed nodes or
+   * allocate a new one.
++  * Returns NULL when out of memory.
+   */
+      static wordnode_T *
+  get_wordnode(spin)
+***************
+*** 7717,7723 ****
+  	--spin->si_free_count;
+      }
+  #ifdef SPELL_PRINTTREE
+!     n->wn_nr = ++spin->si_wordnode_nr;
+  #endif
+      return n;
+  }
+--- 7737,7744 ----
+  	--spin->si_free_count;
+      }
+  #ifdef SPELL_PRINTTREE
+!     if (n != NULL)
+! 	n->wn_nr = ++spin->si_wordnode_nr;
+  #endif
+      return n;
+  }
+*** ../vim-7.3.108/src/version.c	2011-02-01 13:48:47.000000000 +0100
+--- src/version.c	2011-02-01 13:56:38.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     109,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+174. You know what a listserv is.
+
+ /// 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.110
diff -u /dev/null packages/vim/7.3.110:1.1
--- /dev/null	Fri Feb  4 12:54:27 2011
+++ packages/vim/7.3.110	Fri Feb  4 12:54:21 2011
@@ -0,0 +1,76 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.110
+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.110
+Problem:    The "nbsp" item in 'listchars' isn't used for ":list".
+Solution:   Make it work. (Christian Brabandt)
+Files:	    src/message.c
+
+
+*** ../vim-7.3.109/src/message.c	2011-01-17 20:08:03.000000000 +0100
+--- src/message.c	2011-02-01 17:06:21.000000000 +0100
+***************
+*** 1637,1644 ****
+  	else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1)
+  	{
+  	    col += (*mb_ptr2cells)(s);
+! 	    mch_memmove(buf, s, (size_t)l);
+! 	    buf[l] = NUL;
+  	    msg_puts(buf);
+  	    s += l;
+  	    continue;
+--- 1637,1652 ----
+  	else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1)
+  	{
+  	    col += (*mb_ptr2cells)(s);
+! 	    if (lcs_nbsp != NUL && list && mb_ptr2char(s) == 160)
+! 	    {
+! 		mb_char2bytes(lcs_nbsp, buf);
+! 		buf[(*mb_ptr2len)(buf)] = NUL;
+! 	    }
+! 	    else
+! 	    {
+! 		mch_memmove(buf, s, (size_t)l);
+! 		buf[l] = NUL;
+! 	    }
+  	    msg_puts(buf);
+  	    s += l;
+  	    continue;
+***************
+*** 1664,1669 ****
+--- 1672,1682 ----
+  		    attr = hl_attr(HLF_8);
+  		}
+  	    }
++ 	    else if (c == 160 && list && lcs_nbsp != NUL)
++ 	    {
++ 		c = lcs_nbsp;
++ 		attr = hl_attr(HLF_8);
++ 	    }
+  	    else if (c == NUL && list && lcs_eol != NUL)
+  	    {
+  		p_extra = (char_u *)"";
+*** ../vim-7.3.109/src/version.c	2011-02-01 13:59:44.000000000 +0100
+--- src/version.c	2011-02-01 17:08:31.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     110,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+176. You lie, even to user-friends, about how long you were online yesterday.
+
+ /// 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.111
diff -u /dev/null packages/vim/7.3.111:1.1
--- /dev/null	Fri Feb  4 12:54:27 2011
+++ packages/vim/7.3.111	Fri Feb  4 12:54:21 2011
@@ -0,0 +1,121 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.111
+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.111 (after 7.3.100)
+Problem:    Executing a :normal command in 'statusline' evaluation causes the
+	    cursor to move. (Dominique Pelle)
+Solution:   When updating the cursor for 'cursorbind' allow the cursor beyond
+	    the end of the line.  When evaluating 'statusline' temporarily
+	    reset 'cursorbind'.
+Files:	    src/move.c, src/screen.c
+
+
+*** ../vim-7.3.110/src/move.c	2011-01-22 21:05:02.000000000 +0100
+--- src/move.c	2011-02-01 17:36:10.000000000 +0100
+***************
+*** 2846,2851 ****
+--- 2846,2852 ----
+      colnr_T	col =  curwin->w_cursor.col;
+      win_T	*old_curwin = curwin;
+      buf_T	*old_curbuf = curbuf;
++     int		restart_edit_save;
+  # ifdef FEAT_VISUAL
+      int		old_VIsual_select = VIsual_select;
+      int		old_VIsual_active = VIsual_active;
+***************
+*** 2875,2882 ****
+  		curwin->w_cursor.lnum = line;
+  	    curwin->w_cursor.col = col;
+  
+! 	    /* Make sure the cursor is in a valid position. */
+  	    check_cursor();
+  # ifdef FEAT_MBYTE
+  	    /* Correct cursor for multi-byte character. */
+  	    if (has_mbyte)
+--- 2876,2887 ----
+  		curwin->w_cursor.lnum = line;
+  	    curwin->w_cursor.col = col;
+  
+! 	    /* Make sure the cursor is in a valid position.  Temporarily set
+! 	     * "restart_edit" to allow the cursor to be beyond the EOL. */
+! 	    restart_edit_save = restart_edit;
+! 	    restart_edit = TRUE;
+  	    check_cursor();
++ 	    restart_edit = restart_edit_save;
+  # ifdef FEAT_MBYTE
+  	    /* Correct cursor for multi-byte character. */
+  	    if (has_mbyte)
+*** ../vim-7.3.110/src/screen.c	2010-12-30 14:57:03.000000000 +0100
+--- src/screen.c	2011-02-01 17:45:45.000000000 +0100
+***************
+*** 6435,6440 ****
+--- 6435,6442 ----
+      struct	stl_hlrec hltab[STL_MAX_ITEM];
+      struct	stl_hlrec tabtab[STL_MAX_ITEM];
+      int		use_sandbox = FALSE;
++     win_T	*ewp;
++     int		p_crb_save;
+  
+      /* setup environment for the task at hand */
+      if (wp == NULL)
+***************
+*** 6513,6526 ****
+      if (maxwidth <= 0)
+  	return;
+  
+      /* Make a copy, because the statusline may include a function call that
+       * might change the option value and free the memory. */
+      stl = vim_strsave(stl);
+!     width = build_stl_str_hl(wp == NULL ? curwin : wp,
+! 				buf, sizeof(buf),
+  				stl, use_sandbox,
+  				fillchar, maxwidth, hltab, tabtab);
+      vim_free(stl);
+  
+      /* Make all characters printable. */
+      p = transstr(buf);
+--- 6515,6534 ----
+      if (maxwidth <= 0)
+  	return;
+  
++     /* Temporarily reset 'cursorbind', we don't want a side effect from moving
++      * the cursor away and back. */
++     ewp = wp == NULL ? curwin : wp;
++     p_crb_save = ewp->w_p_crb;
++     ewp->w_p_crb = FALSE;
++ 
+      /* Make a copy, because the statusline may include a function call that
+       * might change the option value and free the memory. */
+      stl = vim_strsave(stl);
+!     width = build_stl_str_hl(ewp, buf, sizeof(buf),
<<Diff was trimmed, longer than 597 lines>>

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



More information about the pld-cvs-commit mailing list