0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.2518: 'listchars' should be window-local

Problem:    'listchars' should be window-local.
Solution:   Make 'listchars' global-local. (Yegappan Lakshmanan, Marco Hinz,
            closes #5206, closes #7850)
This commit is contained in:
Bram Moolenaar
2021-02-15 20:38:25 +01:00
parent 7c5b3c0369
commit eed9d46293
20 changed files with 302 additions and 112 deletions

View File

@@ -225,6 +225,8 @@ typedef struct
#endif
int wo_list;
#define w_p_list w_onebuf_opt.wo_list // 'list'
char_u *wo_lcs;
#define w_p_lcs w_onebuf_opt.wo_lcs // 'listchars'
int wo_nu;
#define w_p_nu w_onebuf_opt.wo_nu // 'number'
int wo_rnu;
@@ -3332,6 +3334,26 @@ typedef struct {
} winbar_item_T;
#endif
/*
* Characters from the 'listchars' option
*/
typedef struct
{
int eol;
int ext;
int prec;
int nbsp;
int space;
int tab1;
int tab2;
int tab3;
int trail;
int lead;
#ifdef FEAT_CONCEAL
int conceal;
#endif
} lcs_chars_T;
/*
* Structure which contains all information that belongs to a window
*
@@ -3380,6 +3402,8 @@ struct window_S
colnr_T w_old_visual_col; // last known start of visual part
colnr_T w_old_curswant; // last known value of Curswant
lcs_chars_T w_lcs_chars; // 'listchars' characters
/*
* "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for
* displaying the buffer.