patch 8.0.0039
Problem:    When Vim 8 reads an old viminfo and exits, the next time marks are
            not read from viminfo. (Ned Batchelder)
Solution:   Set a mark when it wasn't set before, even when the timestamp is
            zero. (closes #1170)
diff --git a/src/mark.c b/src/mark.c
index 0627a7c..9c84bc4 100644
--- a/src/mark.c
+++ b/src/mark.c
@@ -1597,7 +1597,8 @@
 
     if (fm != NULL)
     {
-	if (vi_namedfm != NULL || fm->time_set < timestamp || force)
+	if (vi_namedfm != NULL || fm->fmark.mark.lnum == 0
+					  || fm->time_set < timestamp || force)
 	{
 	    fm->fmark.mark.lnum = lnum;
 	    fm->fmark.mark.col = col;