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

patch 9.0.2188: cursor wrong after { in single line buffer

Problem:  cursor wrong after { in single line buffer
          (Edwin Chan)
Solution: do not place the cursor at the end for a single
          line buffer when moving backwards
          (Gary Johnson)

closes: #13780
closes: #13783

Signed-off-by: Gary Johnson <garyjohn@spocom.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Gary Johnson 2023-12-27 19:12:43 +01:00 committed by Christian Brabandt
parent 23627722d3
commit 9e6549d2fb
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
3 changed files with 20 additions and 1 deletions

View File

@ -4164,4 +4164,21 @@ func Test_normal34_zet_large()
norm! z9765405999999999999
endfunc
" Test for { and } paragraph movements in a single line
func Test_brace_single_line()
let text =<< trim [DATA]
foobar one two three
[DATA]
new
call setline(1, text)
1
norm! 0}
call assert_equal([0, 1, 20, 0], getpos('.'))
norm! {
call assert_equal([0, 1, 1, 0], getpos('.'))
bw!
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@ -226,7 +226,7 @@ findpar(
if (both && *ml_get(curr) == '}') // include line with '}'
++curr;
curwin->w_cursor.lnum = curr;
if (curr == curbuf->b_ml.ml_line_count && what != '}')
if (curr == curbuf->b_ml.ml_line_count && what != '}' && dir == FORWARD)
{
char_u *line = ml_get(curr);

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2188,
/**/
2187,
/**/