view src/proto/os_win32.pro @ 34686:83875247fbc0 v9.1.0224

patch 9.1.0224: cursor may move too many lines over "right" & "below" virt text Commit: https://github.com/vim/vim/commit/515f734e687f28f7199b2a8042197624d9f3ec15 Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Date: Thu Mar 28 12:01:14 2024 +0100 patch 9.1.0224: cursor may move too many lines over "right" & "below" virt text Problem: If a line has "right" & "below" virtual text properties, where the "below" property may be stored first due to lack of ordering between them, then the line height is calculated to be 1 more and causes the cursor to far over the line. Solution: Remove some unnecessary setting of a `next_right_goes_below = TRUE` flag for "below" and "above" text properties. (Dylan Thacker-Smith) I modified a regression test I recently added to cover this case, leveraging the fact that "after", "right" & "below" text properties are being stored in the reverse of the order they are added in. The previous version of this regression test was crafted to workaround this issue so it can be addressed by this separate patch. closes: #14317 Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 28 Mar 2024 12:15:03 +0100
parents ed8db57d1034
children
line wrap: on
line source

/* os_win32.c */
void mch_get_exe_name(void);
HINSTANCE vimLoadLib(const char *name);
int mch_is_gui_executable(void);
HINSTANCE find_imported_module_by_funcname(HINSTANCE hInst, const char *funcname);
void *get_dll_import_func(HINSTANCE hInst, const char *funcname);
void *hook_dll_import_func(HINSTANCE hInst, const char *funcname, const void *hook);
HINSTANCE get_forwarded_dll(HINSTANCE hInst);
int dyn_libintl_init(void);
void dyn_libintl_end(void);
void PlatformId(void);
void mch_setmouse(int on);
void mch_bevalterm_changed(void);
int test_mswin_event(char_u *event, dict_T *args);
void mch_update_cursor(void);
int mch_char_avail(void);
int mch_check_messages(void);
int mch_inchar(char_u *buf, int maxlen, long time, int tb_change_cnt);
void mch_init(void);
void mch_exit(int r);
int mch_check_win(int argc, char **argv);
void fname_case(char_u *name, int len);
int mch_get_user_name(char_u *s, int len);
void mch_get_host_name(char_u *s, int len);
long mch_get_pid(void);
int mch_process_running(long pid);
int mch_dirname(char_u *buf, int len);
long mch_getperm(char_u *name);
int mch_setperm(char_u *name, long perm);
void mch_hide(char_u *name);
int mch_ishidden(char_u *name);
int mch_isdir(char_u *name);
int mch_isrealdir(char_u *name);
int mch_mkdir(char_u *name);
int mch_rmdir(char_u *name);
int mch_is_hard_link(char_u *fname);
int mch_is_symbolic_link(char_u *name);
int mch_is_linked(char_u *fname);
int win32_fileinfo(char_u *fname, BY_HANDLE_FILE_INFORMATION *info);
int mch_writable(char_u *name);
int mch_can_exe(char_u *name, char_u **path, int use_path);
int mch_nodetype(char_u *name);
vim_acl_T mch_get_acl(char_u *fname);
void mch_set_acl(char_u *fname, vim_acl_T acl);
void mch_free_acl(vim_acl_T acl);
void mch_settmode(tmode_T tmode);
int mch_get_shellsize(void);
void mch_set_shellsize(void);
void mch_new_shellsize(void);
void mch_set_winsize_now(void);
int mch_call_shell(char_u *cmd, int options);
void win32_build_env(dict_T *env, garray_T *gap, int is_terminal);
void mch_job_start(char *cmd, job_T *job, jobopt_T *options);
char *mch_job_status(job_T *job);
job_T *mch_detect_ended_job(job_T *job_list);
int mch_signal_job(job_T *job, char_u *how);
void mch_clear_job(job_T *job);
void mch_set_normal_colors(void);
void mch_write(char_u *s, int len);
void mch_delay(long msec, int flags);
int mch_remove(char_u *name);
void mch_breakcheck(int force);
long_u mch_total_mem(int special);
int mch_wrename(WCHAR *wold, WCHAR *wnew);
int mch_rename(const char *pszOldFile, const char *pszNewFile);
char *default_shell(void);
int mch_access(char *n, int p);
int mch_open(const char *name, int flags, int mode);
FILE *mch_fopen(const char *name, const char *mode);
int mch_copy_file_attribute(char_u *from, char_u *to);
int get_cmd_argsW(char ***argvp);
void free_cmd_argsW(void);
void used_file_arg(char *name, int literal, int full_path, int diff_mode);
void set_alist_count(void);
void fix_arg_enc(void);
int mch_setenv(char *var, char *value, int x);
int vtp_printf(char *format, ...);
void get_default_console_color(int *cterm_fg, int *cterm_bg, guicolor_T *gui_fg, guicolor_T *gui_bg);
void control_console_color_rgb(void);
int use_vtp(void);
int is_term_win32(void);
int has_vtp_working(void);
int has_conpty_working(void);
int get_conpty_type(void);
int is_conpty_stable(void);
int get_conpty_fix_type(void);
void resize_console_buf(void);
char *GetWin32Error(void);
void stop_timeout(void);
volatile sig_atomic_t *start_timeout(long msec);
/* vim: set ft=c : */