patch 8.2.1252: ":marks" may show '< and '> mixed up
Problem: ":marks" may show '< and '> mixed up.
Solution: Show the mark position as where '< and '> would jump.
diff --git a/src/testdir/test_marks.vim b/src/testdir/test_marks.vim
index e4ab562..40242c0 100644
--- a/src/testdir/test_marks.vim
+++ b/src/testdir/test_marks.vim
@@ -105,33 +105,43 @@
new Xtwo
call setline(1, ['ccc', 'ddd'])
norm! $mcGmD
+ exe "norm! GVgg\<Esc>G"
w!
b Xone
let a = split(execute('marks'), "\n")
call assert_equal(9, len(a))
- call assert_equal('mark line col file/text', a[0])
- call assert_equal(" ' 2 0 bbb", a[1])
- call assert_equal(' a 1 0 aaa', a[2])
- call assert_equal(' B 2 2 bbb', a[3])
- call assert_equal(' D 2 0 Xtwo', a[4])
- call assert_equal(' " 1 0 aaa', a[5])
- call assert_equal(' [ 1 0 aaa', a[6])
- call assert_equal(' ] 2 0 bbb', a[7])
- call assert_equal(' . 2 0 bbb', a[8])
+ call assert_equal(['mark line col file/text',
+ \ " ' 2 0 bbb",
+ \ ' a 1 0 aaa',
+ \ ' B 2 2 bbb',
+ \ ' D 2 0 Xtwo',
+ \ ' " 1 0 aaa',
+ \ ' [ 1 0 aaa',
+ \ ' ] 2 0 bbb',
+ \ ' . 2 0 bbb'], a)
b Xtwo
let a = split(execute('marks'), "\n")
- call assert_equal(9, len(a))
- call assert_equal('mark line col file/text', a[0])
- call assert_equal(" ' 1 0 ccc", a[1])
- call assert_equal(' c 1 2 ccc', a[2])
- call assert_equal(' B 2 2 Xone', a[3])
- call assert_equal(' D 2 0 ddd', a[4])
- call assert_equal(' " 2 0 ddd', a[5])
- call assert_equal(' [ 1 0 ccc', a[6])
- call assert_equal(' ] 2 0 ddd', a[7])
- call assert_equal(' . 2 0 ddd', a[8])
+ call assert_equal(11, len(a))
+ call assert_equal(['mark line col file/text',
+ \ " ' 1 0 ccc",
+ \ ' c 1 2 ccc',
+ \ ' B 2 2 Xone',
+ \ ' D 2 0 ddd',
+ \ ' " 2 0 ddd',
+ \ ' [ 1 0 ccc',
+ \ ' ] 2 0 ddd',
+ \ ' . 2 0 ddd',
+ \ ' < 1 0 ccc',
+ \ ' > 2 0 ddd'], a)
+ norm! Gdd
+ w!
+ let a = split(execute('marks <>'), "\n")
+ call assert_equal(3, len(a))
+ call assert_equal(['mark line col file/text',
+ \ ' < 1 0 ccc',
+ \ ' > 2 0 -invalid-'], a)
b Xone
delmarks aB