diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-03-16 17:10:20 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-16 17:10:20 +0800 |
commit | c0daea3afd6a1e502e282a235a10643c785301f7 (patch) | |
tree | 9f117e4b9d51619d8a3f6a5e149b2da789c01f9a /src/nvim/diff.c | |
parent | ead3a1bd7a3fbc266ae5bf724d74cd1c44286b50 (diff) | |
download | rneovim-c0daea3afd6a1e502e282a235a10643c785301f7.tar.gz rneovim-c0daea3afd6a1e502e282a235a10643c785301f7.tar.bz2 rneovim-c0daea3afd6a1e502e282a235a10643c785301f7.zip |
vim-patch:9.1.0183: Wrong display or screenpos() result when toggling diff mode (#27882)
Problem: Wrong display or screenpos() result when toggling diff mode.
Solution: Reset w_skipcol when disabling 'wrap'. Reset w_leftcol when
enabling 'wrap' (zeertzjq).
fixes: vim/vim#14210
closes: vim/vim#14211
https://github.com/vim/vim/commit/9e7f1fc2f159d58b2a4cd4b7060bead126fead49
Diffstat (limited to 'src/nvim/diff.c')
-rw-r--r-- | src/nvim/diff.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nvim/diff.c b/src/nvim/diff.c index c680600d39..39d9e9e978 100644 --- a/src/nvim/diff.c +++ b/src/nvim/diff.c @@ -1429,6 +1429,7 @@ void diff_win_options(win_T *wp, bool addbuf) wp->w_p_wrap_save = wp->w_p_wrap; } wp->w_p_wrap = false; + wp->w_skipcol = 0; } if (!wp->w_p_diff) { @@ -1497,8 +1498,9 @@ void ex_diffoff(exarg_T *eap) wp->w_p_crb = wp->w_p_crb_save; } if (!(diff_flags & DIFF_FOLLOWWRAP)) { - if (!wp->w_p_wrap) { - wp->w_p_wrap = wp->w_p_wrap_save; + if (!wp->w_p_wrap && wp->w_p_wrap_save) { + wp->w_p_wrap = true; + wp->w_leftcol = 0; } } free_string_option(wp->w_p_fdm); |