summaryrefslogtreecommitdiff
path: root/src/proto
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-17 15:46:27 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-17 15:46:27 +0200
commitda861d631d7e22654faee2789286c685ad548911 (patch)
tree82be0a097878647d6d683040c37d29f500f65aa0 /src/proto
parent1abc52c1599fede69b4e76ffde0e879d6fb5080a (diff)
downloadvim-git-da861d631d7e22654faee2789286c685ad548911.tar.gz
patch 7.4.2057v7.4.2057
Problem: eval.c is too big. Solution: Move List functions to list.c
Diffstat (limited to 'src/proto')
-rw-r--r--src/proto/eval.pro19
-rw-r--r--src/proto/list.pro34
2 files changed, 34 insertions, 19 deletions
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index 78288e630..ee663ee7a 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -33,8 +33,6 @@ void prof_child_enter(proftime_T *tm);
void prof_child_exit(proftime_T *tm);
int eval_foldexpr(char_u *arg, int *cp);
void ex_let(exarg_T *eap);
-void list_add_watch(list_T *l, listwatch_T *lw);
-void list_rem_watch(list_T *l, listwatch_T *lwrem);
void *eval_for_line(char_u *arg, int *errp, char_u **nextcmdp, int skip);
int next_for_item(void *fi_void, char_u *arg);
void free_for_info(void *fi_void);
@@ -47,24 +45,7 @@ void del_menutrans_vars(void);
char_u *get_user_var_name(expand_T *xp, int idx);
int eval1(char_u **arg, typval_T *rettv, int evaluate);
void partial_unref(partial_T *pt);
-list_T *list_alloc(void);
-int rettv_list_alloc(typval_T *rettv);
-void list_unref(list_T *l);
-void list_free(list_T *l);
-listitem_T *listitem_alloc(void);
-void listitem_free(listitem_T *item);
-void listitem_remove(list_T *l, listitem_T *item);
int tv_equal(typval_T *tv1, typval_T *tv2, int ic, int recursive);
-listitem_T *list_find(list_T *l, long n);
-char_u *list_find_str(list_T *l, long idx);
-void list_append(list_T *l, listitem_T *item);
-int list_append_tv(list_T *l, typval_T *tv);
-int list_append_dict(list_T *list, dict_T *dict);
-int list_append_string(list_T *l, char_u *str, int len);
-int list_append_number(list_T *l, varnumber_T n);
-int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item);
-void list_insert(list_T *l, listitem_T *ni, listitem_T *item);
-void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2);
int get_copyID(void);
int garbage_collect(int testing);
int set_ref_in_ht(hashtab_T *ht, int copyID, list_stack_T **list_stack);
diff --git a/src/proto/list.pro b/src/proto/list.pro
new file mode 100644
index 000000000..602166abe
--- /dev/null
+++ b/src/proto/list.pro
@@ -0,0 +1,34 @@
+/* list.c */
+void list_add_watch(list_T *l, listwatch_T *lw);
+void list_rem_watch(list_T *l, listwatch_T *lwrem);
+void list_fix_watch(list_T *l, listitem_T *item);
+list_T *list_alloc(void);
+int rettv_list_alloc(typval_T *rettv);
+void list_unref(list_T *l);
+int list_free_nonref(int copyID);
+void list_free_items(int copyID);
+void list_free(list_T *l);
+listitem_T *listitem_alloc(void);
+void listitem_free(listitem_T *item);
+void listitem_remove(list_T *l, listitem_T *item);
+long list_len(list_T *l);
+int list_equal(list_T *l1, list_T *l2, int ic, int recursive);
+listitem_T *list_find(list_T *l, long n);
+long list_find_nr(list_T *l, long idx, int *errorp);
+char_u *list_find_str(list_T *l, long idx);
+long list_idx_of_item(list_T *l, listitem_T *item);
+void list_append(list_T *l, listitem_T *item);
+int list_append_tv(list_T *l, typval_T *tv);
+int list_append_dict(list_T *list, dict_T *dict);
+int list_append_string(list_T *l, char_u *str, int len);
+int list_append_number(list_T *l, varnumber_T n);
+int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item);
+void list_insert(list_T *l, listitem_T *ni, listitem_T *item);
+int list_extend(list_T *l1, list_T *l2, listitem_T *bef);
+int list_concat(list_T *l1, list_T *l2, typval_T *tv);
+list_T *list_copy(list_T *orig, int deep, int copyID);
+void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2);
+char_u *list2string(typval_T *tv, int copyID, int restore_copyID);
+int list_join(garray_T *gap, list_T *l, char_u *sep, int echo_style, int restore_copyID, int copyID);
+int get_list_tv(char_u **arg, typval_T *rettv, int evaluate);
+/* vim: set ft=c : */