diff options
author | Sean Dewar <seandewar@users.noreply.github.com> | 2021-09-10 13:27:41 +0100 |
---|---|---|
committer | Sean Dewar <seandewar@users.noreply.github.com> | 2021-09-10 15:50:43 +0100 |
commit | fd1dbb103bb78f04dd15b50f529bb12d922e98eb (patch) | |
tree | ec13311830303ad6900d5b47dc556fd9c857c8fc /src/nvim/normal.c | |
parent | aab3583e74fa3fd295bd367113be60965c748205 (diff) | |
download | rneovim-fd1dbb103bb78f04dd15b50f529bb12d922e98eb.tar.gz rneovim-fd1dbb103bb78f04dd15b50f529bb12d922e98eb.tar.bz2 rneovim-fd1dbb103bb78f04dd15b50f529bb12d922e98eb.zip |
vim-patch:8.1.2281: 'showbreak' cannot be set for one window
Problem: 'showbreak' cannot be set for one window.
Solution: Make 'showbreak' global-local.
https://github.com/vim/vim/commit/ee85702c10495041791f728e977b86005c4496e8
Change in oneleft() is N/A as the relevant condition was removed
(has_mbyte is always true for Nvim, so the condition was always false;
see commit 73dc9e9).
Use wp over curwin for curs_columns().
Required for v8.2.2903 (otherwise test fails as it'll leave the global
option set).
N/A patches for version.c:
vim-patch:8.1.2283: missed on use of p_sbr
Problem: Missed on use of p_sbr.
Solution: Add missing p_sbr change.
https://github.com/vim/vim/commit/91e22eb6e09ec384496fccde812072033fd9e616
Already ported in commit 43a874a.
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r-- | src/nvim/normal.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index 85897bac12..74efc0ffd3 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -3407,12 +3407,15 @@ void clear_showcmd(void) lines = bot - top + 1; if (VIsual_mode == Ctrl_V) { - char_u *saved_sbr = p_sbr; + char_u *const saved_sbr = p_sbr; + char_u *const saved_w_sbr = curwin->w_p_sbr; // Make 'sbr' empty for a moment to get the correct size. p_sbr = empty_option; + curwin->w_p_sbr = empty_option; getvcols(curwin, &curwin->w_cursor, &VIsual, &leftcol, &rightcol); p_sbr = saved_sbr; + curwin->w_p_sbr = saved_w_sbr; snprintf((char *)showcmd_buf, SHOWCMD_BUFLEN, "%" PRId64 "x%" PRId64, (int64_t)lines, (int64_t)rightcol - leftcol + 1); } else if (VIsual_mode == 'V' || VIsual.lnum != curwin->w_cursor.lnum) { @@ -4141,8 +4144,8 @@ static bool nv_screengo(oparg_T *oap, int dir, long dist) */ validate_virtcol(); colnr_T virtcol = curwin->w_virtcol; - if (virtcol > (colnr_T)width1 && *p_sbr != NUL) { - virtcol -= vim_strsize(p_sbr); + if (virtcol > (colnr_T)width1 && *get_showbreak_value(curwin) != NUL) { + virtcol -= vim_strsize(get_showbreak_value(curwin)); } if (virtcol > curwin->w_curswant |