mirror of
https://github.com/vim/vim.git
synced 2025-07-25 10:54:51 -04:00
patch 8.2.3532: the previous '' mark is restored after moving the cursor
Problem: The previous '' mark is restored after moving the cursor to the original jump position. (Tony Chen) Solution: Forget the previous position after checking. (closes #8985)
This commit is contained in:
parent
39c47c3104
commit
e08aee60ab
@ -181,10 +181,8 @@ checkpcmark(void)
|
|||||||
if (curwin->w_prev_pcmark.lnum != 0
|
if (curwin->w_prev_pcmark.lnum != 0
|
||||||
&& (EQUAL_POS(curwin->w_pcmark, curwin->w_cursor)
|
&& (EQUAL_POS(curwin->w_pcmark, curwin->w_cursor)
|
||||||
|| curwin->w_pcmark.lnum == 0))
|
|| curwin->w_pcmark.lnum == 0))
|
||||||
{
|
|
||||||
curwin->w_pcmark = curwin->w_prev_pcmark;
|
curwin->w_pcmark = curwin->w_prev_pcmark;
|
||||||
curwin->w_prev_pcmark.lnum = 0; // Show it has been checked
|
curwin->w_prev_pcmark.lnum = 0; // it has been checked
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(FEAT_JUMPLIST) || defined(PROTO)
|
#if defined(FEAT_JUMPLIST) || defined(PROTO)
|
||||||
|
@ -26,6 +26,16 @@ func Test_Incr_Marks()
|
|||||||
enew!
|
enew!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_previous_jump_mark()
|
||||||
|
new
|
||||||
|
call setline(1, ['']->repeat(6))
|
||||||
|
normal Ggg
|
||||||
|
call assert_equal(6, getpos("''")[1])
|
||||||
|
normal jjjjj
|
||||||
|
call assert_equal(6, getpos("''")[1])
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_setpos()
|
func Test_setpos()
|
||||||
new Xone
|
new Xone
|
||||||
let onebuf = bufnr('%')
|
let onebuf = bufnr('%')
|
||||||
|
@ -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 */
|
||||||
|
/**/
|
||||||
|
3532,
|
||||||
/**/
|
/**/
|
||||||
3531,
|
3531,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user