mirror of
https://github.com/vim/vim.git
synced 2025-10-12 06:44:06 -04:00
patch 8.2.4719: ">" marker sometimes not displayed in the jumplist
Problem: ">" marker sometimes not displayed in the jumplist. Solution: If the buffer no longer exists show "-invalid-". (Christian Brabandt, closes #10131, closes #10100)
This commit is contained in:
committed by
Bram Moolenaar
parent
cee9c844f2
commit
a0f659c76e
@@ -1077,6 +1077,9 @@ The "file/text" column shows the file name, or the text at the jump if it is
|
|||||||
in the current file (an indent is removed and a long line is truncated to fit
|
in the current file (an indent is removed and a long line is truncated to fit
|
||||||
in the window).
|
in the window).
|
||||||
|
|
||||||
|
The marker ">" indicates the current position in the jumplist. It may not be
|
||||||
|
shown when filtering the |:jump| command using |:filter|
|
||||||
|
|
||||||
You are currently in line 1167. If you then use the CTRL-O command, the
|
You are currently in line 1167. If you then use the CTRL-O command, the
|
||||||
cursor is put in line 1154. This results in:
|
cursor is put in line 1154. This results in:
|
||||||
|
|
||||||
|
@@ -871,6 +871,10 @@ ex_jumps(exarg_T *eap UNUSED)
|
|||||||
{
|
{
|
||||||
name = fm_getname(&curwin->w_jumplist[i].fmark, 16);
|
name = fm_getname(&curwin->w_jumplist[i].fmark, 16);
|
||||||
|
|
||||||
|
// Make sure to output the current indicator, even when on an wiped
|
||||||
|
// out buffer. ":filter" may still skip it.
|
||||||
|
if (name == NULL && i == curwin->w_jumplistidx)
|
||||||
|
name = vim_strsave((char_u *)"-invalid-");
|
||||||
// apply :filter /pat/ or file name not available
|
// apply :filter /pat/ or file name not available
|
||||||
if (name == NULL || message_filtered(name))
|
if (name == NULL || message_filtered(name))
|
||||||
{
|
{
|
||||||
|
@@ -170,7 +170,6 @@ NEW_TESTS = \
|
|||||||
test_join \
|
test_join \
|
||||||
test_json \
|
test_json \
|
||||||
test_jumplist \
|
test_jumplist \
|
||||||
test_jumps \
|
|
||||||
test_lambda \
|
test_lambda \
|
||||||
test_langmap \
|
test_langmap \
|
||||||
test_largefile \
|
test_largefile \
|
||||||
|
@@ -17,7 +17,6 @@ source test_fnamemodify.vim
|
|||||||
source test_ga.vim
|
source test_ga.vim
|
||||||
source test_glob2regpat.vim
|
source test_glob2regpat.vim
|
||||||
source test_global.vim
|
source test_global.vim
|
||||||
source test_jumps.vim
|
|
||||||
source test_lispwords.vim
|
source test_lispwords.vim
|
||||||
source test_move.vim
|
source test_move.vim
|
||||||
source test_put.vim
|
source test_put.vim
|
||||||
|
@@ -61,4 +61,43 @@ func Test_getjumplist()
|
|||||||
call delete("Xtest")
|
call delete("Xtest")
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_jumplist_invalid()
|
||||||
|
new
|
||||||
|
clearjumps
|
||||||
|
" put some randome text
|
||||||
|
put ='a'
|
||||||
|
let prev = bufnr('%')
|
||||||
|
setl nomodified bufhidden=wipe
|
||||||
|
e XXJumpListBuffer
|
||||||
|
let bnr = bufnr('%')
|
||||||
|
" 1) empty jumplist
|
||||||
|
let expected = [[
|
||||||
|
\ {'lnum': 2, 'bufnr': prev, 'col': 0, 'coladd': 0}], 1]
|
||||||
|
call assert_equal(expected, getjumplist())
|
||||||
|
let jumps = execute(':jumps')
|
||||||
|
call assert_equal('>', jumps[-1:])
|
||||||
|
" now jump back
|
||||||
|
exe ":norm! \<c-o>"
|
||||||
|
let expected = [[
|
||||||
|
\ {'lnum': 2, 'bufnr': prev, 'col': 0, 'coladd': 0},
|
||||||
|
\ {'lnum': 1, 'bufnr': bnr, 'col': 0, 'coladd': 0}], 0]
|
||||||
|
call assert_equal(expected, getjumplist())
|
||||||
|
let jumps = execute(':jumps')
|
||||||
|
call assert_match('> 0 2 0 -invalid-', jumps)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Test for '' mark in an empty buffer
|
||||||
|
|
||||||
|
func Test_empty_buffer()
|
||||||
|
new
|
||||||
|
insert
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
d
|
||||||
|
.
|
||||||
|
call assert_equal(1, line("''"))
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -1,15 +0,0 @@
|
|||||||
" Test for '' mark in an empty buffer
|
|
||||||
|
|
||||||
func Test_empty_buffer()
|
|
||||||
new
|
|
||||||
insert
|
|
||||||
a
|
|
||||||
b
|
|
||||||
c
|
|
||||||
d
|
|
||||||
.
|
|
||||||
call assert_equal(1, line("''"))
|
|
||||||
bwipe!
|
|
||||||
endfunc
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
|
@@ -746,6 +746,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 */
|
||||||
|
/**/
|
||||||
|
4719,
|
||||||
/**/
|
/**/
|
||||||
4718,
|
4718,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user