Mercurial > vim
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 |
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 : */ |