patch 8.2.0050: after deleting a file mark it is still in viminfo

Problem:    After deleting a file mark it is still in viminfo.
Solution:   When a file mark was deleted more recently than the mark in the
            merged viminfo file was updated, do not store the mark. (Pavol
            Juhas, closes #5401, closes #1339)
diff --git a/src/testdir/test_viminfo.vim b/src/testdir/test_viminfo.vim
index a9dc8fd..78e0f1a 100644
--- a/src/testdir/test_viminfo.vim
+++ b/src/testdir/test_viminfo.vim
@@ -323,6 +323,23 @@
   call assert_equal([bufb, 22, 1, 0], getpos("'3")) " time 30
   call assert_equal([bufb, 12, 1, 0], getpos("'4")) " time 25
 
+  " deleted file marks are removed from viminfo
+  delmark C
+  wviminfo Xviminfo
+  rviminfo Xviminfo
+  call assert_equal([0, 0, 0, 0], getpos("'C"))
+
+  " deleted file marks stay in viminfo if defined in another vim later
+  call test_settime(70)
+  call setpos("'D", [bufb, 8, 1, 0])
+  wviminfo Xviminfo
+  call test_settime(65)
+  delmark D
+  call assert_equal([0, 0, 0, 0], getpos("'D"))
+  call test_settime(75)
+  rviminfo Xviminfo
+  call assert_equal([bufb, 8, 1, 0], getpos("'D"))
+
   call delete('Xviminfo')
   exe 'bwipe ' . bufa
   exe 'bwipe ' . bufb