0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 8.0.1201: "yL" is affected by 'scrolloff'

Problem:    "yL" is affected by 'scrolloff'. (Eli the Bearded)
Solution:   Don't use 'scrolloff' when an operator is pending.
This commit is contained in:
Bram Moolenaar
2017-10-15 22:13:37 +02:00
parent 67418d97b4
commit 44cc4cf72f
3 changed files with 13 additions and 3 deletions

View File

@@ -1317,7 +1317,10 @@ the current line is included. You can then use "%" to go to the matching line.
H To line [count] from top (Home) of window (default: H To line [count] from top (Home) of window (default:
first line on the window) on the first non-blank first line on the window) on the first non-blank
character |linewise|. See also 'startofline' option. character |linewise|. See also 'startofline' option.
Cursor is adjusted for 'scrolloff' option. Cursor is adjusted for 'scrolloff' option, unless an
operator is pending, in which case the text may
scroll. E.g. "yH" yanks from the first visible line
until the cursor line (inclusive).
*M* *M*
M To Middle line of window, on the first non-blank M To Middle line of window, on the first non-blank
@@ -1327,7 +1330,10 @@ M To Middle line of window, on the first non-blank
L To line [count] from bottom of window (default: Last L To line [count] from bottom of window (default: Last
line on the window) on the first non-blank character line on the window) on the first non-blank character
|linewise|. See also 'startofline' option. |linewise|. See also 'startofline' option.
Cursor is adjusted for 'scrolloff' option. Cursor is adjusted for 'scrolloff' option, unless an
operator is pending, in which case the text may
scroll. E.g. "yL" yanks from the cursor to the last
visible line.
<LeftMouse> Moves to the position on the screen where the mouse <LeftMouse> Moves to the position on the screen where the mouse
click is |exclusive|. See also |<LeftMouse>|. If the click is |exclusive|. See also |<LeftMouse>|. If the

View File

@@ -5954,7 +5954,9 @@ nv_scroll(cmdarg_T *cap)
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count; curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
} }
cursor_correct(); /* correct for 'so' */ /* Correct for 'so', except when an operator is pending. */
if (cap->oap->op_type == OP_NOP)
cursor_correct();
beginline(BL_SOL | BL_FIX); beginline(BL_SOL | BL_FIX);
} }

View File

@@ -761,6 +761,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 */
/**/
1201,
/**/ /**/
1200, 1200,
/**/ /**/