1
0
forked from aniani/vim

patch 9.1.0183: Wrong display or screenpos() result when toggling diff mode

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: #14210
closes: #14211

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2024-03-16 09:40:22 +01:00
committed by Christian Brabandt
parent 6a04bf5ee5
commit 9e7f1fc2f1
3 changed files with 75 additions and 2 deletions

View File

@@ -1520,6 +1520,7 @@ diff_win_options(
if (!wp->w_p_diff)
wp->w_p_wrap_save = wp->w_p_wrap;
wp->w_p_wrap = FALSE;
wp->w_skipcol = 0;
}
# ifdef FEAT_FOLDING
if (!wp->w_p_diff)
@@ -1583,8 +1584,11 @@ 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;
}
}
#ifdef FEAT_FOLDING
free_string_option(wp->w_p_fdm);