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