Blame SOURCES/7.4.278

d6ba96
To: vim_dev@googlegroups.com
d6ba96
Subject: Patch 7.4.278
d6ba96
Fcc: outbox
d6ba96
From: Bram Moolenaar <Bram@moolenaar.net>
d6ba96
Mime-Version: 1.0
d6ba96
Content-Type: text/plain; charset=UTF-8
d6ba96
Content-Transfer-Encoding: 8bit
d6ba96
------------
d6ba96
d6ba96
Patch 7.4.278
d6ba96
Problem:    list_remove() conflicts with function defined in Sun header file.
d6ba96
Solution:   Rename the function. (Richard Palo)
d6ba96
Files:	    src/eval.c, src/if_lua.c, src/if_py_both.h, src/proto/eval.pro
d6ba96
d6ba96
d6ba96
*** ../vim-7.4.277/src/eval.c	2014-04-29 17:41:18.351689927 +0200
d6ba96
--- src/eval.c	2014-05-07 17:28:56.037181128 +0200
d6ba96
***************
d6ba96
*** 5998,6004 ****
d6ba96
      list_T  *l;
d6ba96
      listitem_T *item;
d6ba96
  {
d6ba96
!     list_remove(l, item, item);
d6ba96
      listitem_free(item);
d6ba96
  }
d6ba96
  
d6ba96
--- 5998,6004 ----
d6ba96
      list_T  *l;
d6ba96
      listitem_T *item;
d6ba96
  {
d6ba96
!     vimlist_remove(l, item, item);
d6ba96
      listitem_free(item);
d6ba96
  }
d6ba96
  
d6ba96
***************
d6ba96
*** 6577,6585 ****
d6ba96
  /*
d6ba96
   * Remove items "item" to "item2" from list "l".
d6ba96
   * Does not free the listitem or the value!
d6ba96
   */
d6ba96
      void
d6ba96
! list_remove(l, item, item2)
d6ba96
      list_T	*l;
d6ba96
      listitem_T	*item;
d6ba96
      listitem_T	*item2;
d6ba96
--- 6577,6587 ----
d6ba96
  /*
d6ba96
   * Remove items "item" to "item2" from list "l".
d6ba96
   * Does not free the listitem or the value!
d6ba96
+  * This used to be called list_remove, but that conflicts with a Sun header
d6ba96
+  * file.
d6ba96
   */
d6ba96
      void
d6ba96
! vimlist_remove(l, item, item2)
d6ba96
      list_T	*l;
d6ba96
      listitem_T	*item;
d6ba96
      listitem_T	*item2;
d6ba96
***************
d6ba96
*** 15435,15441 ****
d6ba96
  	    if (argvars[2].v_type == VAR_UNKNOWN)
d6ba96
  	    {
d6ba96
  		/* Remove one item, return its value. */
d6ba96
! 		list_remove(l, item, item);
d6ba96
  		*rettv = item->li_tv;
d6ba96
  		vim_free(item);
d6ba96
  	    }
d6ba96
--- 15437,15443 ----
d6ba96
  	    if (argvars[2].v_type == VAR_UNKNOWN)
d6ba96
  	    {
d6ba96
  		/* Remove one item, return its value. */
d6ba96
! 		vimlist_remove(l, item, item);
d6ba96
  		*rettv = item->li_tv;
d6ba96
  		vim_free(item);
d6ba96
  	    }
d6ba96
***************
d6ba96
*** 15461,15467 ****
d6ba96
  			EMSG(_(e_invrange));
d6ba96
  		    else
d6ba96
  		    {
d6ba96
! 			list_remove(l, item, item2);
d6ba96
  			if (rettv_list_alloc(rettv) == OK)
d6ba96
  			{
d6ba96
  			    l = rettv->vval.v_list;
d6ba96
--- 15463,15469 ----
d6ba96
  			EMSG(_(e_invrange));
d6ba96
  		    else
d6ba96
  		    {
d6ba96
! 			vimlist_remove(l, item, item2);
d6ba96
  			if (rettv_list_alloc(rettv) == OK)
d6ba96
  			{
d6ba96
  			    l = rettv->vval.v_list;
d6ba96
*** ../vim-7.4.277/src/if_lua.c	2013-06-23 12:55:02.000000000 +0200
d6ba96
--- src/if_lua.c	2014-05-07 17:29:08.913181240 +0200
d6ba96
***************
d6ba96
*** 734,740 ****
d6ba96
      if (li == NULL) return 0;
d6ba96
      if (lua_isnil(L, 3)) /* remove? */
d6ba96
      {
d6ba96
! 	list_remove(l, li, li);
d6ba96
  	clear_tv(&li->li_tv);
d6ba96
  	vim_free(li);
d6ba96
      }
d6ba96
--- 734,740 ----
d6ba96
      if (li == NULL) return 0;
d6ba96
      if (lua_isnil(L, 3)) /* remove? */
d6ba96
      {
d6ba96
! 	vimlist_remove(l, li, li);
d6ba96
  	clear_tv(&li->li_tv);
d6ba96
  	vim_free(li);
d6ba96
      }
d6ba96
*** ../vim-7.4.277/src/if_py_both.h	2014-03-30 16:11:37.176530823 +0200
d6ba96
--- src/if_py_both.h	2014-05-07 17:29:26.497181394 +0200
d6ba96
***************
d6ba96
*** 2494,2500 ****
d6ba96
  	if (numreplaced < slicelen)
d6ba96
  	{
d6ba96
  	    lis[slicelen + numreplaced] = lis[numreplaced]->li_prev;
d6ba96
! 	    list_remove(l, lis[numreplaced], lis[numreplaced]);
d6ba96
  	    numreplaced++;
d6ba96
  	}
d6ba96
  	else
d6ba96
--- 2494,2500 ----
d6ba96
  	if (numreplaced < slicelen)
d6ba96
  	{
d6ba96
  	    lis[slicelen + numreplaced] = lis[numreplaced]->li_prev;
d6ba96
! 	    vimlist_remove(l, lis[numreplaced], lis[numreplaced]);
d6ba96
  	    numreplaced++;
d6ba96
  	}
d6ba96
  	else
d6ba96
***************
d6ba96
*** 2570,2576 ****
d6ba96
      if (obj == NULL)
d6ba96
      {
d6ba96
  	li = list_find(l, (long) index);
d6ba96
! 	list_remove(l, li, li);
d6ba96
  	clear_tv(&li->li_tv);
d6ba96
  	vim_free(li);
d6ba96
  	return 0;
d6ba96
--- 2570,2576 ----
d6ba96
      if (obj == NULL)
d6ba96
      {
d6ba96
  	li = list_find(l, (long) index);
d6ba96
! 	vimlist_remove(l, li, li);
d6ba96
  	clear_tv(&li->li_tv);
d6ba96
  	vim_free(li);
d6ba96
  	return 0;
d6ba96
*** ../vim-7.4.277/src/proto/eval.pro	2014-01-14 16:36:40.000000000 +0100
d6ba96
--- src/proto/eval.pro	2014-05-07 17:30:02.517181710 +0200
d6ba96
***************
d6ba96
*** 59,65 ****
d6ba96
  int list_append_dict __ARGS((list_T *list, dict_T *dict));
d6ba96
  int list_append_string __ARGS((list_T *l, char_u *str, int len));
d6ba96
  int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
d6ba96
! void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
d6ba96
  void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
d6ba96
  int garbage_collect __ARGS((void));
d6ba96
  void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
d6ba96
--- 59,65 ----
d6ba96
  int list_append_dict __ARGS((list_T *list, dict_T *dict));
d6ba96
  int list_append_string __ARGS((list_T *l, char_u *str, int len));
d6ba96
  int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
d6ba96
! void vimlist_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
d6ba96
  void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
d6ba96
  int garbage_collect __ARGS((void));
d6ba96
  void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
d6ba96
*** ../vim-7.4.277/src/version.c	2014-05-07 16:35:05.029152844 +0200
d6ba96
--- src/version.c	2014-05-07 17:30:43.449182068 +0200
d6ba96
***************
d6ba96
*** 736,737 ****
d6ba96
--- 736,739 ----
d6ba96
  {   /* Add new patch number below this line */
d6ba96
+ /**/
d6ba96
+     278,
d6ba96
  /**/
d6ba96
d6ba96
-- 
d6ba96
"Computers in the future may weigh no more than 1.5 tons."
d6ba96
                                   Popular Mechanics, 1949
d6ba96
d6ba96
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
d6ba96
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
d6ba96
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
d6ba96
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///