patch 8.1.2059: fix for "x" deleting a fold has side effects
Problem: Fix for "x" deleting a fold has side effects. Solution: Fix it where the fold is included.
This commit is contained in:
14
src/normal.c
14
src/normal.c
@ -1535,7 +1535,8 @@ do_pending_operator(cmdarg_T *cap, int old_col, int gui_yank)
|
|||||||
{
|
{
|
||||||
if (hasFolding(oap->start.lnum, &oap->start.lnum, NULL))
|
if (hasFolding(oap->start.lnum, &oap->start.lnum, NULL))
|
||||||
oap->start.col = 0;
|
oap->start.col = 0;
|
||||||
if (hasFolding(curwin->w_cursor.lnum, NULL,
|
if ((curwin->w_cursor.col > 0 || oap->inclusive)
|
||||||
|
&& hasFolding(curwin->w_cursor.lnum, NULL,
|
||||||
&curwin->w_cursor.lnum))
|
&curwin->w_cursor.lnum))
|
||||||
curwin->w_cursor.col = (colnr_T)STRLEN(ml_get_curline());
|
curwin->w_cursor.col = (colnr_T)STRLEN(ml_get_curline());
|
||||||
}
|
}
|
||||||
@ -6001,8 +6002,7 @@ nv_right(cmdarg_T *cap)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (has_mbyte)
|
if (has_mbyte)
|
||||||
curwin->w_cursor.col +=
|
curwin->w_cursor.col += (*mb_ptr2len)(ml_get_cursor());
|
||||||
(*mb_ptr2len)(ml_get_cursor());
|
|
||||||
else
|
else
|
||||||
++curwin->w_cursor.col;
|
++curwin->w_cursor.col;
|
||||||
}
|
}
|
||||||
@ -7400,13 +7400,7 @@ nv_optrans(cmdarg_T *cap)
|
|||||||
{
|
{
|
||||||
if (cap->count0)
|
if (cap->count0)
|
||||||
stuffnumReadbuff(cap->count0);
|
stuffnumReadbuff(cap->count0);
|
||||||
// If on an empty line and using 'x' and "l" is included in the
|
stuffReadbuff(ar[(int)(vim_strchr(str, cap->cmdchar) - str)]);
|
||||||
// whichwrap option, do not delete the next line.
|
|
||||||
if (cap->cmdchar == 'x' && vim_strchr(p_ww, 'l') != NULL
|
|
||||||
&& gchar_cursor() == NUL)
|
|
||||||
stuffReadbuff((char_u *)"dd");
|
|
||||||
else
|
|
||||||
stuffReadbuff(ar[(int)(vim_strchr(str, cap->cmdchar) - str)]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cap->opcount = 0;
|
cap->opcount = 0;
|
||||||
|
|||||||
@ -757,6 +757,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2059,
|
||||||
/**/
|
/**/
|
||||||
2058,
|
2058,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user