patch 8.2.0443: clipboard code is spread out
Problem: Clipboard code is spread out.
Solution: Move clipboard code to its own file. (Yegappan Lakshmanan,
closes #5827)
diff --git a/src/proto/clipboard.pro b/src/proto/clipboard.pro
new file mode 100644
index 0000000..3dca35b
--- /dev/null
+++ b/src/proto/clipboard.pro
@@ -0,0 +1,38 @@
+/* clipboard.c */
+void clip_init(int can_use);
+void clip_update_selection(Clipboard_T *clip);
+void clip_own_selection(Clipboard_T *cbd);
+void clip_lose_selection(Clipboard_T *cbd);
+void start_global_changes(void);
+void end_global_changes(void);
+void clip_auto_select(void);
+int clip_isautosel_star(void);
+int clip_isautosel_plus(void);
+void clip_modeless(int button, int is_click, int is_drag);
+void clip_start_selection(int col, int row, int repeated_click);
+void clip_process_selection(int button, int col, int row, int_u repeated_click);
+void clip_may_redraw_selection(int row, int col, int len);
+void clip_clear_selection(Clipboard_T *cbd);
+void clip_may_clear_selection(int row1, int row2);
+void clip_scroll_selection(int rows);
+void clip_copy_modeless_selection(int both);
+void clip_gen_set_selection(Clipboard_T *cbd);
+int clip_gen_owner_exists(Clipboard_T *cbd);
+char *check_clipboard_option(void);
+void open_app_context(void);
+void x11_setup_atoms(Display *dpy);
+void x11_setup_selection(Widget w);
+void clip_x11_request_selection(Widget myShell, Display *dpy, Clipboard_T *cbd);
+void clip_x11_lose_selection(Widget myShell, Clipboard_T *cbd);
+int clip_x11_own_selection(Widget myShell, Clipboard_T *cbd);
+void clip_x11_set_selection(Clipboard_T *cbd);
+void yank_cut_buffer0(Display *dpy, Clipboard_T *cbd);
+void x11_export_final_selection(void);
+void clip_free_selection(Clipboard_T *cbd);
+void clip_get_selection(Clipboard_T *cbd);
+void clip_yank_selection(int type, char_u *str, long len, Clipboard_T *cbd);
+int clip_convert_selection(char_u **str, long_u *len, Clipboard_T *cbd);
+int may_get_selection(int regname);
+void may_set_selection(void);
+void adjust_clip_reg(int *rp);
+/* vim: set ft=c : */
diff --git a/src/proto/ops.pro b/src/proto/ops.pro
index a958cf3..bbb6a5d 100644
--- a/src/proto/ops.pro
+++ b/src/proto/ops.pro
@@ -19,7 +19,6 @@
int paragraph_start(linenr_T lnum);
void block_prep(oparg_T *oap, struct block_def *bdp, linenr_T lnum, int is_del);
void op_addsub(oparg_T *oap, linenr_T Prenum1, int g_cmd);
-void x11_export_final_selection(void);
void clear_oparg(oparg_T *oap);
void cursor_pos_info(dict_T *dict);
void do_pending_operator(cmdarg_T *cap, int old_col, int gui_yank);
diff --git a/src/proto/register.pro b/src/proto/register.pro
index 743e4d6..6ad4e49 100644
--- a/src/proto/register.pro
+++ b/src/proto/register.pro
@@ -1,14 +1,15 @@
/* register.c */
yankreg_T *get_y_regs(void);
+yankreg_T *get_y_register(int reg);
yankreg_T *get_y_current(void);
yankreg_T *get_y_previous(void);
+void set_y_current(yankreg_T *yreg);
void set_y_previous(yankreg_T *yreg);
int get_expr_register(void);
void set_expr_line(char_u *new_line);
char_u *get_expr_line(void);
int valid_yank_reg(int regname, int writing);
int get_yank_register(int regname, int writing);
-int may_get_selection(int regname);
void *get_register(int name, int copy);
void put_register(int name, void *reg);
void free_register(void *reg);
@@ -20,23 +21,20 @@
int insert_reg(int regname, int literally_arg);
int get_spec_reg(int regname, char_u **argp, int *allocated, int errmsg);
int cmdline_paste_reg(int regname, int literally_arg, int remcr);
-void adjust_clip_reg(int *rp);
void shift_delete_registers(void);
void yank_do_autocmd(oparg_T *oap, yankreg_T *reg);
void init_yank(void);
void clear_registers(void);
+void free_yank_all(void);
int op_yank(oparg_T *oap, int deleting, int mess);
void do_put(int regname, int dir, long count, int flags);
int get_register_name(int num);
void ex_display(exarg_T *eap);
-void clip_free_selection(Clipboard_T *cbd);
-void clip_get_selection(Clipboard_T *cbd);
-void clip_yank_selection(int type, char_u *str, long len, Clipboard_T *cbd);
-int clip_convert_selection(char_u **str, long_u *len, Clipboard_T *cbd);
void dnd_yank_drag_data(char_u *str, long len);
char_u get_reg_type(int regname, long *reglen);
char_u *get_reg_contents(int regname, int flags);
void write_reg_contents(int name, char_u *str, int maxlen, int must_append);
void write_reg_contents_lst(int name, char_u **strings, int maxlen, int must_append, int yank_type, long block_len);
void write_reg_contents_ex(int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len);
+void str_to_reg(yankreg_T *y_ptr, int yank_type, char_u *str, long len, long blocklen, int str_list);
/* vim: set ft=c : */
diff --git a/src/proto/ui.pro b/src/proto/ui.pro
index e605649..5aad9d8 100644
--- a/src/proto/ui.pro
+++ b/src/proto/ui.pro
@@ -14,28 +14,6 @@
int ui_get_winpos(int *x, int *y, varnumber_T timeout);
void ui_breakcheck(void);
void ui_breakcheck_force(int force);
-void clip_init(int can_use);
-void clip_update_selection(Clipboard_T *clip);
-void clip_own_selection(Clipboard_T *cbd);
-void clip_lose_selection(Clipboard_T *cbd);
-void start_global_changes(void);
-int is_clipboard_needs_update(void);
-void end_global_changes(void);
-void clip_auto_select(void);
-int clip_isautosel_star(void);
-int clip_isautosel_plus(void);
-void clip_modeless(int button, int is_click, int is_drag);
-void clip_start_selection(int col, int row, int repeated_click);
-void clip_process_selection(int button, int col, int row, int_u repeated_click);
-void clip_may_redraw_selection(int row, int col, int len);
-void clip_clear_selection(Clipboard_T *cbd);
-void clip_may_clear_selection(int row1, int row2);
-void clip_scroll_selection(int rows);
-void clip_copy_modeless_selection(int both);
-void clip_gen_set_selection(Clipboard_T *cbd);
-void clip_gen_request_selection(Clipboard_T *cbd);
-int clip_gen_owner_exists(Clipboard_T *cbd);
-char *check_clipboard_option(void);
int vim_is_input_buf_full(void);
int vim_is_input_buf_empty(void);
int vim_free_in_input_buf(void);
@@ -52,14 +30,6 @@
void ui_cursor_shape(void);
int check_col(int col);
int check_row(int row);
-void open_app_context(void);
-void x11_setup_atoms(Display *dpy);
-void x11_setup_selection(Widget w);
-void clip_x11_request_selection(Widget myShell, Display *dpy, Clipboard_T *cbd);
-void clip_x11_lose_selection(Widget myShell, Clipboard_T *cbd);
-int clip_x11_own_selection(Widget myShell, Clipboard_T *cbd);
-void clip_x11_set_selection(Clipboard_T *cbd);
-void yank_cut_buffer0(Display *dpy, Clipboard_T *cbd);
void ui_focus_change(int in_focus);
void im_save_status(long *psave);
/* vim: set ft=c : */