annotate src/proto/list.pro @ 30775:a9a46fbfd786 v9.0.0722

patch 9.0.0722: virtual text "after" does not show with 'list' set Commit: https://github.com/vim/vim/commit/877151b3d8f6dacca56ce8e7f20fa5b27142d782 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Oct 11 15:29:50 2022 +0100 patch 9.0.0722: virtual text "after" does not show with 'list' set Problem: Virtual text "after" does not show with 'list' set. Solution: Do not break out of the loop when another text prop follows. (closes #11337)
author Bram Moolenaar <Bram@vim.org>
date Tue, 11 Oct 2022 16:30:05 +0200
parents b3de17181c19
children da670b1549b3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 /* list.c */
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2 void list_add_watch(list_T *l, listwatch_T *lw);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 void list_rem_watch(list_T *l, listwatch_T *lwrem);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 list_T *list_alloc(void);
15016
c338c91086b9 patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents: 13246
diff changeset
5 list_T *list_alloc_id(alloc_id_T id);
19181
94eda51ba9ba patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents: 17970
diff changeset
6 list_T *list_alloc_with_items(int count);
94eda51ba9ba patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents: 17970
diff changeset
7 void list_set_item(list_T *l, int idx, typval_T *tv);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 int rettv_list_alloc(typval_T *rettv);
15209
3a99b2e6d136 patch 8.1.0614: placing signs can be complicated
Bram Moolenaar <Bram@vim.org>
parents: 15016
diff changeset
9 int rettv_list_alloc_id(typval_T *rettv, alloc_id_T id);
11418
162bcd0debd7 patch 8.0.0593: duplication of code for adding a list or dict return value
Christian Brabandt <cb@256bit.org>
parents: 9626
diff changeset
10 void rettv_list_set(typval_T *rettv, list_T *l);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 void list_unref(list_T *l);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 int list_free_nonref(int copyID);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 void list_free_items(int copyID);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 void list_free(list_T *l);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 listitem_T *listitem_alloc(void);
19181
94eda51ba9ba patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents: 17970
diff changeset
16 void listitem_free(list_T *l, listitem_T *item);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 void listitem_remove(list_T *l, listitem_T *item);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 long list_len(list_T *l);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 int list_equal(list_T *l1, list_T *l2, int ic, int recursive);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 listitem_T *list_find(list_T *l, long n);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 long list_find_nr(list_T *l, long idx, int *errorp);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 char_u *list_find_str(list_T *l, long idx);
23982
9fcd71d0db89 patch 8.2.2533: Vim9: cannot use a range with :unlet
Bram Moolenaar <Bram@vim.org>
parents: 23816
diff changeset
23 listitem_T *list_find_index(list_T *l, long *idx);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 long list_idx_of_item(list_T *l, listitem_T *item);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 void list_append(list_T *l, listitem_T *item);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 int list_append_tv(list_T *l, typval_T *tv);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 int list_append_dict(list_T *list, dict_T *dict);
13246
dd3b2ecf91f6 patch 8.0.1497: getting the jump list requires parsing the output of :jumps
Christian Brabandt <cb@256bit.org>
parents: 11418
diff changeset
28 int list_append_list(list_T *list1, list_T *list2);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 int list_append_string(list_T *l, char_u *str, int len);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 int list_append_number(list_T *l, varnumber_T n);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 void list_insert(list_T *l, listitem_T *ni, listitem_T *item);
28273
fff70771d4bb patch 8.2.4662: no error for using out of range list index
Bram Moolenaar <Bram@vim.org>
parents: 27517
diff changeset
33 listitem_T *check_range_index_one(list_T *l, long *n1, int can_append, int quiet);
25591
ea69398b40d1 patch 8.2.3332: Vim9: cannot assign to range in list
Bram Moolenaar <Bram@vim.org>
parents: 25567
diff changeset
34 int check_range_index_two(list_T *l, long *n1, listitem_T *li1, long *n2, int quiet);
ea69398b40d1 patch 8.2.3332: Vim9: cannot assign to range in list
Bram Moolenaar <Bram@vim.org>
parents: 25567
diff changeset
35 int list_assign_range(list_T *dest, list_T *src, long idx1_arg, long idx2, int empty_idx2, char_u *op, char_u *varname);
20766
821925509d8c patch 8.2.0935: flattening a list with existing code is slow
Bram Moolenaar <Bram@vim.org>
parents: 20649
diff changeset
36 void f_flatten(typval_T *argvars, typval_T *rettv);
23816
525c9e218c69 patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents: 23604
diff changeset
37 void f_flattennew(typval_T *argvars, typval_T *rettv);
29978
34151eb6ae25 patch 9.0.0327: items() does not work on a list
Bram Moolenaar <Bram@vim.org>
parents: 28273
diff changeset
38 void list2items(typval_T *argvars, typval_T *rettv);
29986
0ad8b72af148 patch 9.0.0331: cannot use items() on a string
Bram Moolenaar <Bram@vim.org>
parents: 29978
diff changeset
39 void string2items(typval_T *argvars, typval_T *rettv);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 int list_extend(list_T *l1, list_T *l2, listitem_T *bef);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
41 int list_concat(list_T *l1, list_T *l2, typval_T *tv);
20871
65d9189d4dca patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents: 20766
diff changeset
42 list_T *list_slice(list_T *ol, long n1, long n2);
23604
1816ea68c022 patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents: 23588
diff changeset
43 int list_slice_or_index(list_T *list, int range, varnumber_T n1_arg, varnumber_T n2_arg, int exclusive, typval_T *rettv, int verbose);
27517
f00a7a2bee21 patch 8.2.4286: Vim9: strict type checking after copy() and deepcopy()
Bram Moolenaar <Bram@vim.org>
parents: 26684
diff changeset
44 list_T *list_copy(list_T *orig, int deep, int top, int copyID);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45 void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46 char_u *list2string(typval_T *tv, int copyID, int restore_copyID);
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 int list_join(garray_T *gap, list_T *l, char_u *sep, int echo_style, int restore_copyID, int copyID);
17530
ef23ec1eee54 patch 8.1.1763: evalfunc.c is still too big
Bram Moolenaar <Bram@vim.org>
parents: 15209
diff changeset
48 void f_join(typval_T *argvars, typval_T *rettv);
21120
4d844a65183d patch 8.2.1111: inconsistent naming of get_list_tv() and eval_dict()
Bram Moolenaar <Bram@vim.org>
parents: 21028
diff changeset
49 int eval_list(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int do_error);
9571
5eaa708ab50d commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents: 9560
diff changeset
50 int write_list(FILE *fd, list_T *list, int binary);
9626
172131507c85 commit https://github.com/vim/vim/commit/df48fb456fb6bf63d94cad9b302ff01d8ee8d311
Christian Brabandt <cb@256bit.org>
parents: 9571
diff changeset
51 void init_static_list(staticList10_T *sl);
17530
ef23ec1eee54 patch 8.1.1763: evalfunc.c is still too big
Bram Moolenaar <Bram@vim.org>
parents: 15209
diff changeset
52 void f_list2str(typval_T *argvars, typval_T *rettv);
ef23ec1eee54 patch 8.1.1763: evalfunc.c is still too big
Bram Moolenaar <Bram@vim.org>
parents: 15209
diff changeset
53 void f_sort(typval_T *argvars, typval_T *rettv);
ef23ec1eee54 patch 8.1.1763: evalfunc.c is still too big
Bram Moolenaar <Bram@vim.org>
parents: 15209
diff changeset
54 void f_uniq(typval_T *argvars, typval_T *rettv);
30566
b3de17181c19 patch 9.0.0618: calling function for reduce() has too much overhead
Bram Moolenaar <Bram@vim.org>
parents: 29986
diff changeset
55 int filter_map_one(typval_T *tv, typval_T *expr, filtermap_T filtermap, funccall_T *fc, typval_T *newtv, int *remp);
17964
6d4d3bce365d patch 8.1.1978: the eval.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17789
diff changeset
56 void f_filter(typval_T *argvars, typval_T *rettv);
6d4d3bce365d patch 8.1.1978: the eval.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17789
diff changeset
57 void f_map(typval_T *argvars, typval_T *rettv);
22844
36fc73078bce patch 8.2.1969: Vim9: map() may change the list or dict item type
Bram Moolenaar <Bram@vim.org>
parents: 21828
diff changeset
58 void f_mapnew(typval_T *argvars, typval_T *rettv);
17970
684a15da9929 patch 8.1.1981: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17964
diff changeset
59 void f_add(typval_T *argvars, typval_T *rettv);
684a15da9929 patch 8.1.1981: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17964
diff changeset
60 void f_count(typval_T *argvars, typval_T *rettv);
684a15da9929 patch 8.1.1981: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17964
diff changeset
61 void f_extend(typval_T *argvars, typval_T *rettv);
23588
510088f8c66f patch 8.2.2336: Vim9: not possible to extend dictionary with different type
Bram Moolenaar <Bram@vim.org>
parents: 22844
diff changeset
62 void f_extendnew(typval_T *argvars, typval_T *rettv);
17970
684a15da9929 patch 8.1.1981: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17964
diff changeset
63 void f_insert(typval_T *argvars, typval_T *rettv);
684a15da9929 patch 8.1.1981: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17964
diff changeset
64 void f_remove(typval_T *argvars, typval_T *rettv);
684a15da9929 patch 8.1.1981: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents: 17964
diff changeset
65 void f_reverse(typval_T *argvars, typval_T *rettv);
20649
1fa0ace0ba65 patch 8.2.0878: no reduce() function
Bram Moolenaar <Bram@vim.org>
parents: 19916
diff changeset
66 void f_reduce(typval_T *argvars, typval_T *rettv);
9560
1e68dfd7931b commit https://github.com/vim/vim/commit/da861d631d7e22654faee2789286c685ad548911
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
67 /* vim: set ft=c : */