diff --git a/src/Makefile b/src/Makefile index c5697a2565..981525d25f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1854,6 +1854,7 @@ PRO_AUTO = \ arglist.pro \ autocmd.pro \ beval.pro \ + blob.pro \ blowfish.pro \ buffer.pro \ bufwrite.pro \ @@ -1979,6 +1980,8 @@ PRO_AUTO = \ vim9script.pro \ vim9type.pro \ viminfo.pro \ + wayland.pro \ + winclip.pro \ window.pro \ $(ALL_GUI_PRO) \ $(TCL_PRO) diff --git a/src/proto/insexpand.pro b/src/proto/insexpand.pro index c10d2046b5..31d1ccb351 100644 --- a/src/proto/insexpand.pro +++ b/src/proto/insexpand.pro @@ -26,6 +26,8 @@ int has_compl_option(int dict_opt); int vim_is_ctrl_x_key(int c); int ins_compl_accept_char(int c); int ins_compl_add_infercase(char_u *str_arg, int len, int icase, char_u *fname, int dir, int cont_s_ipos, int score); +int ins_compl_preinsert_longest(void); +char_u *ins_compl_leader(void); int ins_compl_col_range_attr(linenr_T lnum, int col); int ins_compl_lnum_in_range(linenr_T lnum); int ins_compl_has_shown_match(void); @@ -33,7 +35,6 @@ int ins_compl_long_shown_match(void); unsigned int get_cot_flags(void); int pum_wanted(void); void ins_compl_show_pum(void); -char_u *ins_compl_leader(void); char_u *find_word_start(char_u *ptr); char_u *find_word_end(char_u *ptr); char_u *find_line_end(char_u *ptr); @@ -49,6 +50,7 @@ int ins_compl_len(void); int ins_compl_has_preinsert(void); int ins_compl_preinsert_effect(void); int ins_compl_bs(void); +int ins_compl_has_autocomplete(void); void ins_compl_addleader(int c); void ins_compl_addfrommatch(void); int ins_compl_cancel(void); @@ -69,12 +71,10 @@ void f_complete_check(typval_T *argvars, typval_T *rettv); void f_complete_match(typval_T *argvars, typval_T *rettv); void f_complete_info(typval_T *argvars, typval_T *rettv); void ins_compl_delete(void); -void ins_compl_insert(int move_cursor, int insert_longest); +void ins_compl_insert(int move_cursor, int insert_prefix); void ins_compl_check_keys(int frequency, int in_compl_func); int ins_complete(int c, int enable_pum); void ins_compl_enable_autocomplete(void); void free_insexpand_stuff(void); -int ins_compl_has_autocomplete(void); -int ins_compl_preinsert_longest(void); -void f_preinserted(typval_T *argvars UNUSED, typval_T *rettv UNUSED); +void f_preinserted(typval_T *argvars, typval_T *rettv); /* vim: set ft=c : */ diff --git a/src/proto/wayland.pro b/src/proto/wayland.pro index 113bf82e47..f4f87d988b 100644 --- a/src/proto/wayland.pro +++ b/src/proto/wayland.pro @@ -2,6 +2,8 @@ int vwl_connection_flush(vwl_connection_T *self); int vwl_connection_dispatch(vwl_connection_T *self); int vwl_connection_roundtrip(vwl_connection_T *self); +vwl_seat_T *vwl_connection_get_seat(vwl_connection_T *self, const char *label); +struct wl_keyboard *vwl_seat_get_keyboard(vwl_seat_T *self); int wayland_init_connection(const char *display); void wayland_uninit_connection(void); int wayland_prepare_read(void); @@ -9,18 +11,16 @@ int wayland_update(void); void wayland_poll_check(int revents); void wayland_select_check(bool is_set); void ex_wlrestore(exarg_T *eap); -vwl_seat_T *vwl_connection_get_seat(vwl_connection_T *ct, const char *label); -struct wl_keyboard *vwl_seat_get_keyboard(vwl_seat_T *seat); -vwl_data_device_manager_T *vwl_connection_get_data_device_manager(vwl_connection_T *self,wayland_selection_T req_sel, unsigned int *supported); -vwl_data_device_T *vwl_data_device_manager_get_data_device(vwl_data_device_manager_T *self,vwl_seat_T *seat); +vwl_data_device_manager_T *vwl_connection_get_data_device_manager(vwl_connection_T *self, wayland_selection_T req_sel, int_u *supported); +vwl_data_device_T *vwl_data_device_manager_get_data_device(vwl_data_device_manager_T *self, vwl_seat_T *seat); vwl_data_source_T *vwl_data_device_manager_create_data_source(vwl_data_device_manager_T *self); void vwl_data_device_destroy(vwl_data_device_T *self); void vwl_data_source_destroy(vwl_data_source_T *self); void vwl_data_offer_destroy(vwl_data_offer_T *self); void vwl_data_device_manager_discard(vwl_data_device_manager_T *self); -void vwl_data_device_add_listener(vwl_data_device_T *self,const vwl_data_device_listener_T *listener, void *data); -void vwl_data_source_add_listener(vwl_data_source_T *self,const vwl_data_source_listener_T *listener, void *data); -void vwl_data_offer_add_listener(vwl_data_offer_T *self,const vwl_data_offer_listener_T *listener, void *data); +void vwl_data_device_add_listener(vwl_data_device_T *self, const vwl_data_device_listener_T *listener, void *data); +void vwl_data_source_add_listener(vwl_data_source_T *self, const vwl_data_source_listener_T *listener, void *data); +void vwl_data_offer_add_listener(vwl_data_offer_T *self, const vwl_data_offer_listener_T *listener, void *data); void vwl_data_device_set_selection(vwl_data_device_T *self, vwl_data_source_T *source, uint32_t serial, wayland_selection_T selection); void vwl_data_source_offer(vwl_data_source_T *self, const char *mime_type); void vwl_data_offer_receive(vwl_data_offer_T *self, const char *mime_type, int32_t fd); diff --git a/src/version.c b/src/version.c index 69719388d2..900a682f88 100644 --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1806, /**/ 1805, /**/ diff --git a/src/wayland.c b/src/wayland.c index 33c10987f6..deccf21d6f 100644 --- a/src/wayland.c +++ b/src/wayland.c @@ -748,7 +748,7 @@ wayland_update(void) return vwl_connection_roundtrip(wayland_ct); } -#ifndef HAVE_SELECT +#if !defined(HAVE_SELECT) || defined(PROTO) void wayland_poll_check(int revents) @@ -758,11 +758,13 @@ wayland_poll_check(int revents) is_reading = false; if (revents & POLLIN) + { if (wl_display_read_events(wayland_ct->display.proxy) != -1) { wl_display_dispatch_pending(wayland_ct->display.proxy); return; } + } else if (revents & (POLLHUP | POLLERR)) wl_display_cancel_read(wayland_ct->display.proxy); else @@ -774,7 +776,8 @@ wayland_poll_check(int revents) wayland_restore_connection(); } -#else // ifdef HAVE_SELECT +#endif +#if defined(HAVE_SELECT) || defined(PROTO) void wayland_select_check(bool is_set) @@ -797,7 +800,7 @@ wayland_select_check(bool is_set) wl_display_cancel_read(wayland_ct->display.proxy); } -#endif // !HAVE_SELECT +#endif /* * Disconnect then reconnect Wayland connection, and update clipmethod. @@ -859,7 +862,7 @@ ex_wlrestore(exarg_T *eap) choose_clipmethod(); } -#ifdef FEAT_WAYLAND_CLIPBOARD +#if defined(FEAT_WAYLAND_CLIPBOARD) || defined(PROTO) /* * Get a suitable data device manager from connection. "supported" should be