0
0
mirror of https://github.com/vim/vim.git synced 2025-10-24 08:54:47 -04:00

patch 9.1.1808: Option insecure flags not copied when splitting window

Problem:  Option insecure flags not copied when splitting window.
Solution: Move window-local insecure flags to winopt_T and copy them
          properly (zeertzjq).

closes: #18434

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2025-09-29 19:30:07 +00:00
committed by Christian Brabandt
parent fec5586a45
commit b3740f4b00
15 changed files with 185 additions and 57 deletions

View File

@@ -348,6 +348,20 @@ typedef struct
# define w_p_twk w_onebuf_opt.wo_twk // 'termwinkey'
char_u *wo_tws;
# define w_p_tws w_onebuf_opt.wo_tws // 'termwinsize'
#endif
// A few options have local flags for P_INSECURE.
long_u wo_wrap_flags; // flags for 'wrap'
#define w_p_wrap_flags w_onebuf_opt.wo_wrap_flags
#ifdef FEAT_STL_OPT
long_u wo_stl_flags; // flags for 'statusline'
# define w_p_stl_flags w_onebuf_opt.wo_stl_flags
#endif
#ifdef FEAT_EVAL
long_u wo_fde_flags; // flags for 'foldexpr'
# define w_p_fde_flags w_onebuf_opt.wo_fde_flags
long_u wo_fdt_flags; // flags for 'foldtext'
# define w_p_fdt_flags w_onebuf_opt.wo_fdt_flags
#endif
#ifdef FEAT_EVAL
@@ -4213,15 +4227,6 @@ struct window_S
// transform a pointer to a "onebuf" option into a "allbuf" option
#define GLOBAL_WO(p) ((char *)(p) + sizeof(winopt_T))
// A few options have local flags for P_INSECURE.
long_u w_p_wrap_flags; // flags for 'wrap'
#ifdef FEAT_STL_OPT
long_u w_p_stl_flags; // flags for 'statusline'
#endif
#ifdef FEAT_EVAL
long_u w_p_fde_flags; // flags for 'foldexpr'
long_u w_p_fdt_flags; // flags for 'foldtext'
#endif
#if defined(FEAT_SIGNS) || defined(FEAT_FOLDING) || defined(FEAT_DIFF)
int *w_p_cc_cols; // array of columns to highlight or NULL
char_u w_p_culopt_flags; // flags for cursorline highlighting