patch 8.1.1736: viminfo support is spread out
Problem: Viminfo support is spread out.
Solution: Move more viminfo code to viminfo.c. (Yegappan Lakshmanan,
closes #4717) Reorder code to make most functions static.
diff --git a/src/proto/ex_cmds.pro b/src/proto/ex_cmds.pro
index 783ed11..c31fee3 100644
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -34,8 +34,8 @@
int do_sub_msg(int count_only);
void ex_global(exarg_T *eap);
void global_exe(char_u *cmd);
-int read_viminfo_sub_string(vir_T *virp, int force);
-void write_viminfo_sub_string(FILE *fp);
+char_u *get_old_sub(void);
+void set_old_sub(char_u *val);
void free_old_sub(void);
int prepare_tagpreview(int undo_sync);
void ex_help(exarg_T *eap);
diff --git a/src/proto/ops.pro b/src/proto/ops.pro
index 0ff27a2..ed5877d 100644
--- a/src/proto/ops.pro
+++ b/src/proto/ops.pro
@@ -1,4 +1,8 @@
/* ops.c */
+yankreg_T *get_y_regs(void);
+yankreg_T *get_y_current(void);
+yankreg_T *get_y_previous(void);
+void set_y_previous(yankreg_T *yreg);
int get_op_type(int char1, int char2);
int op_on_lines(int op);
int op_is_change(int op);
@@ -19,6 +23,8 @@
void free_register(void *reg);
int yank_register_mline(int regname);
int do_record(int c);
+int get_execreg_lastc(void);
+void set_execreg_lastc(int lastc);
int do_execreg(int regname, int colon, int addcr, int silent);
int insert_reg(int regname, int literally_arg);
int get_spec_reg(int regname, char_u **argp, int *allocated, int errmsg);
@@ -47,11 +53,6 @@
void format_lines(linenr_T line_count, int avoid_fex);
int paragraph_start(linenr_T lnum);
void op_addsub(oparg_T *oap, linenr_T Prenum1, int g_cmd);
-void prepare_viminfo_registers(void);
-void finish_viminfo_registers(void);
-int read_viminfo_register(vir_T *virp, int force);
-void handle_viminfo_register(garray_T *values, int force);
-void write_viminfo_registers(FILE *fp);
void x11_export_final_selection(void);
void clip_free_selection(Clipboard_T *cbd);
void clip_get_selection(Clipboard_T *cbd);
diff --git a/src/proto/option.pro b/src/proto/option.pro
index 49b2b65..86c7516 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -12,8 +12,6 @@
int do_set(char_u *arg, int opt_flags);
int string_to_key(char_u *arg, int multi_byte);
void set_options_bin(int oldval, int newval, int opt_flags);
-int get_viminfo_parameter(int type);
-char_u *find_viminfo_parameter(int type);
void check_options(void);
void check_buf_options(buf_T *buf);
void free_string_option(char_u *p);
diff --git a/src/proto/search.pro b/src/proto/search.pro
index eb614a1..143333d 100644
--- a/src/proto/search.pro
+++ b/src/proto/search.pro
@@ -46,6 +46,6 @@
int current_search(long count, int forward);
int linewhite(linenr_T lnum);
void find_pattern_in_path(char_u *ptr, int dir, int len, int whole, int skip_comments, int type, long count, int action, linenr_T start_lnum, linenr_T end_lnum);
-int read_viminfo_search_pattern(vir_T *virp, int force);
-void write_viminfo_search_pattern(FILE *fp);
+struct spat *get_spat(int idx);
+int get_spat_last_idx(void);
/* vim: set ft=c : */
diff --git a/src/proto/viminfo.pro b/src/proto/viminfo.pro
index 0261b38..a1f0337 100644
--- a/src/proto/viminfo.pro
+++ b/src/proto/viminfo.pro
@@ -1,18 +1,7 @@
/* viminfo.c */
-int viminfo_error(char *errnum, char *message, char_u *line);
+int get_viminfo_parameter(int type);
+void check_marks_read(void);
int read_viminfo(char_u *file, int flags);
void write_viminfo(char_u *file, int forceit);
-int viminfo_readline(vir_T *virp);
-char_u *viminfo_readstring(vir_T *virp, int off, int convert);
-void viminfo_writestring(FILE *fd, char_u *p);
-int barline_writestring(FILE *fd, char_u *s, int remaining_start);
void ex_viminfo(exarg_T *eap);
-int read_viminfo_filemark(vir_T *virp, int force);
-void prepare_viminfo_marks(void);
-void finish_viminfo_marks(void);
-void handle_viminfo_mark(garray_T *values, int force);
-void write_viminfo_filemarks(FILE *fp);
-int removable(char_u *name);
-void write_viminfo_marks(FILE *fp_out, garray_T *buflist);
-void copy_viminfo_marks(vir_T *virp, FILE *fp_out, garray_T *buflist, int eof, int flags);
/* vim: set ft=c : */