summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-09-20 13:40:14 +0200
committerBram Moolenaar <Bram@vim.org>2019-09-20 13:40:14 +0200
commit56ebbabea1d8409ba67127b9674f6c714739c8e0 (patch)
treec79ea6bf14aa3c389bac719ece4665ed0b8a5da6
parent4bd782339e370bde82c2a8976df9f335cc12eba9 (diff)
patch 8.1.2059: fix for "x" deleting a fold has side effectsv8.1.2059
Problem: Fix for "x" deleting a fold has side effects. Solution: Fix it where the fold is included.
-rw-r--r--src/normal.c14
-rw-r--r--src/version.c2
2 files changed, 6 insertions, 10 deletions
diff --git a/src/normal.c b/src/normal.c
index e83c4c0be9..f7a3e84dc3 100644
--- a/src/normal.c
+++ b/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))
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.col = (colnr_T)STRLEN(ml_get_curline());
}
@@ -6001,8 +6002,7 @@ nv_right(cmdarg_T *cap)
else
{
if (has_mbyte)
- curwin->w_cursor.col +=
- (*mb_ptr2len)(ml_get_cursor());
+ curwin->w_cursor.col += (*mb_ptr2len)(ml_get_cursor());
else
++curwin->w_cursor.col;
}
@@ -7400,13 +7400,7 @@ nv_optrans(cmdarg_T *cap)
{
if (cap->count0)
stuffnumReadbuff(cap->count0);
- // If on an empty line and using 'x' and "l" is included in the
- // 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)]);
+ stuffReadbuff(ar[(int)(vim_strchr(str, cap->cmdchar) - str)]);
}
}
cap->opcount = 0;
diff --git a/src/version.c b/src/version.c
index 1bfe75cafe..eb2631d218 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2059,
+/**/
2058,
/**/
2057,