0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 9.0.1710: scrolloff options work slightly different

Problem: sidescrolloff and scrolloff options work slightly
         different than other global-local options
Solution: Make it behave consistent for all global-local options

It was noticed, that sidescrolloff and scrolloff options behave
differently in comparison to other global-local window options like
'listchars'

So make those two behave like other global-local options. Also add some
extra documentation for a few special local-window options.

Add a few tests to make sure all global-local window options behave
similar

closes: #12956
closes: #12643

Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2023-08-13 19:43:42 +02:00
parent e5e4709a6a
commit 4a8eb6e7a9
7 changed files with 133 additions and 15 deletions

View File

@@ -312,6 +312,10 @@ typedef struct
char_u *wo_scl;
# define w_p_scl w_onebuf_opt.wo_scl // 'signcolumn'
#endif
long wo_siso;
# define w_p_siso w_onebuf_opt.wo_siso // 'sidescrolloff' local value
long wo_so;
# define w_p_so w_onebuf_opt.wo_so // 'scrolloff' local value
#ifdef FEAT_TERMINAL
char_u *wo_twk;
# define w_p_twk w_onebuf_opt.wo_twk // 'termwinkey'
@@ -3977,8 +3981,6 @@ struct window_S
int *w_p_cc_cols; // array of columns to highlight or NULL
char_u w_p_culopt_flags; // flags for cursorline highlighting
#endif
long w_p_siso; // 'sidescrolloff' local value
long w_p_so; // 'scrolloff' local value
#ifdef FEAT_LINEBREAK
int w_briopt_min; // minimum width for breakindent