Lines Matching refs:item

26 static void list_free_item(list_T *l, listitem_T *item);
64 list_fix_watch(list_T *l, listitem_T *item) in list_fix_watch() argument
69 if (lw->lw_item == item) in list_fix_watch()
70 lw->lw_item = item->li_next; in list_fix_watch()
226 listitem_T *item; in list_free_contents() local
229 for (item = l->lv_first; item != NULL; item = l->lv_first) in list_free_contents()
232 l->lv_first = item->li_next; in list_free_contents()
233 clear_tv(&item->li_tv); in list_free_contents()
234 list_free_item(l, item); in list_free_contents()
321 list_free_item(list_T *l, listitem_T *item) in list_free_item() argument
323 if (l->lv_with_items == 0 || item < (listitem_T *)l in list_free_item()
324 || item >= (listitem_T *)(l + 1) + l->lv_with_items) in list_free_item()
325 vim_free(item); in list_free_item()
333 listitem_free(list_T *l, listitem_T *item) in listitem_free() argument
335 clear_tv(&item->li_tv); in listitem_free()
336 list_free_item(l, item); in listitem_free()
343 listitem_remove(list_T *l, listitem_T *item) in listitem_remove() argument
345 vimlist_remove(l, item, item); in listitem_remove()
346 listitem_free(l, item); in listitem_remove()
401 listitem_T *item; in list_find() local
423 item = l->lv_first; in list_find()
429 item = l->lv_u.mat.lv_last; in list_find()
435 item = l->lv_u.mat.lv_idx_item; in list_find()
444 item = l->lv_first; in list_find()
450 item = l->lv_u.mat.lv_last; in list_find()
458 item = item->li_next; in list_find()
464 item = item->li_prev; in list_find()
470 l->lv_u.mat.lv_idx_item = item; in list_find()
472 return item; in list_find()
558 list_idx_of_item(list_T *l, listitem_T *item) in list_idx_of_item() argument
567 for (li = l->lv_first; li != NULL && li != item; li = li->li_next) in list_idx_of_item()
578 list_append(list_T *l, listitem_T *item) in list_append() argument
584 l->lv_first = item; in list_append()
585 l->lv_u.mat.lv_last = item; in list_append()
586 item->li_prev = NULL; in list_append()
590 l->lv_u.mat.lv_last->li_next = item; in list_append()
591 item->li_prev = l->lv_u.mat.lv_last; in list_append()
592 l->lv_u.mat.lv_last = item; in list_append()
595 item->li_next = NULL; in list_append()
721 list_insert_tv(list_T *l, typval_T *tv, listitem_T *item) in list_insert_tv() argument
733 list_insert(l, ni, item); in list_insert_tv()
738 list_insert(list_T *l, listitem_T *ni, listitem_T *item) in list_insert() argument
741 if (item == NULL) in list_insert()
747 ni->li_prev = item->li_prev; in list_insert()
748 ni->li_next = item; in list_insert()
749 if (item->li_prev == NULL) in list_insert()
756 item->li_prev->li_next = ni; in list_insert()
759 item->li_prev = ni; in list_insert()
933 listitem_T *item; in list_flatten() local
942 item = list->lv_first; in list_flatten()
943 while (item != NULL) in list_flatten()
949 if (item->li_tv.v_type == VAR_LIST) in list_flatten()
951 listitem_T *next = item->li_next; in list_flatten()
953 vimlist_remove(list, item, item); in list_flatten()
954 if (list_extend(list, item->li_tv.vval.v_list, next) == FAIL) in list_flatten()
956 list_free_item(list, item); in list_flatten()
959 clear_tv(&item->li_tv); in list_flatten()
960 tofree = item; in list_flatten()
962 if (item->li_prev == NULL) in list_flatten()
963 item = list->lv_first; in list_flatten()
965 item = item->li_prev->li_next; in list_flatten()
971 item = next; in list_flatten()
977 item = item->li_next; in list_flatten()
1073 listitem_T *item; in list_extend() local
1092 for (item = l2->lv_first; item != NULL && --todo >= 0; in list_extend()
1093 item = item == bef_prev ? bef : item->li_next) in list_extend()
1094 if (list_insert_tv(l1, &item->li_tv, bef) == FAIL) in list_extend()
1128 listitem_T *item; in list_slice() local
1133 for (item = list_find(ol, n1); n1 <= n2; ++n1) in list_slice()
1135 if (list_append_tv(l, &item->li_tv) == FAIL) in list_slice()
1140 item = item->li_next; in list_slice()
1217 listitem_T *item; in list_copy() local
1235 for (item = orig->lv_first; item != NULL && !got_int; in list_copy()
1236 item = item->li_next) in list_copy()
1243 if (item_copy(&item->li_tv, &ni->li_tv, deep, copyID) == FAIL) in list_copy()
1250 copy_tv(&item->li_tv, &ni->li_tv); in list_copy()
1254 if (item != NULL) in list_copy()
1271 vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2) in vimlist_remove() argument
1278 for (ip = item; ip != NULL; ip = ip->li_next) in vimlist_remove()
1287 l->lv_u.mat.lv_last = item->li_prev; in vimlist_remove()
1289 item2->li_next->li_prev = item->li_prev; in vimlist_remove()
1290 if (item->li_prev == NULL) in vimlist_remove()
1293 item->li_prev->li_next = item2->li_next; in vimlist_remove()
1344 listitem_T *item; in list_join_inner() local
1349 for (item = l->lv_first; item != NULL && !got_int; item = item->li_next) in list_join_inner()
1351 s = echo_string_core(&item->li_tv, &tofree, numbuf, copyID, in list_join_inner()
1491 listitem_T *item; in eval_list() local
1509 item = listitem_alloc(); in eval_list()
1510 if (item != NULL) in eval_list()
1512 item->li_tv = tv; in eval_list()
1513 item->li_tv.v_lock = 0; in eval_list()
1514 list_append(l, item); in eval_list()
1710 listitem_T *item, *item2; in list_remove() local
1722 else if ((item = list_find(l, idx)) == NULL) in list_remove()
1729 vimlist_remove(l, item, item); in list_remove()
1730 *rettv = item->li_tv; in list_remove()
1731 list_free_item(l, item); in list_remove()
1746 for (li = item; li != NULL; li = li->li_next) in list_remove()
1756 vimlist_remove(l, item, item2); in list_remove()
1764 while (item != NULL) in list_remove()
1769 li->li_tv = item->li_tv; in list_remove()
1770 init_tv(&item->li_tv); in list_remove()
1772 if (item == item2) in list_remove()
1774 item = item->li_next; in list_remove()
1779 rl->lv_first = item; in list_remove()
1781 item->li_prev = NULL; in list_remove()
1798 listitem_T *item; member
1837 tv1 = &si1->item->li_tv; in item_compare()
1838 tv2 = &si2->item->li_tv; in item_compare()
1933 copy_tv(&si1->item->li_tv, &argv[0]); in item_compare2()
1934 copy_tv(&si2->item->li_tv, &argv[1]); in item_compare2()
2110 ptrs[i].item = li; in do_sort_uniq()
2138 list_append(l, ptrs[i].item); in do_sort_uniq()
2158 ptrs[i++].item = li; in do_sort_uniq()
2170 li = ptrs[i].item->li_next; in do_sort_uniq()
2171 ptrs[i].item->li_next = li->li_next; in do_sort_uniq()
2173 li->li_next->li_prev = ptrs[i].item; in do_sort_uniq()
2175 l->lv_u.mat.lv_last = ptrs[i].item; in do_sort_uniq()
2835 listitem_T *item; in extend() local
2863 item = NULL; in extend()
2866 item = list_find(l1, before); in extend()
2867 if (item == NULL) in extend()
2875 item = NULL; in extend()
2879 list_extend(l1, l2, item); in extend()
2988 listitem_T *item; in f_insert() local
3064 item = NULL; in f_insert()
3067 item = list_find(l, before); in f_insert()
3068 if (item == NULL) in f_insert()
3076 (void)list_insert_tv(l, &argvars[1], item); in f_insert()