patch 8.0.0734: the script to check translations can be improved

Problem:    The script to check translations can be improved.
Solution:   Restore the view when no errors are found.  Check for matching
            line break at the end of the message. (Christian Brabandt)
diff --git a/src/po/check.vim b/src/po/check.vim
index 256c538..ba98ae7 100644
--- a/src/po/check.vim
+++ b/src/po/check.vim
@@ -35,6 +35,7 @@
 set nowrapscan
 
 " Start at the first "msgid" line.
+let wsv = winsaveview()
 1
 /^msgid\>
 
@@ -110,7 +111,43 @@
   endif
 endif
 
+func! CountNl(first, last)
+  let nl = 0
+  for lnum in range(a:first, a:last)
+    if getline(lnum) =~ '\\n'
+      let nl += 1
+    endif
+  endfor
+  return nl
+endfunc
+
+" Check that the \n at the end of the msid line is also present in the msgstr
+" line.  Skip over the header.
+/^"MIME-Version:
+while 1
+  let lnum = search('^msgid\>')
+  if lnum <= 0
+    break
+  endif
+  let strlnum = search('^msgstr\>')
+  let end = search('^$')
+  if end <= 0
+    let end = line('$') + 1
+  endif
+  let origcount = CountNl(lnum, strlnum - 1)
+  let transcount = CountNl(strlnum, end - 1)
+  " Allow for a few more or less line breaks when there are 2 or more
+  if origcount != transcount && (origcount <= 2 || transcount <= 2)
+    echomsg 'Mismatching "\\n" in line ' . line('.')
+    if error == 0
+      let error = lnum
+    endif
+  endif
+endwhile
+
 if error == 0
+  " If all was OK restore the view.
+  call winrestview(wsv)
   echomsg "OK"
 else
   exe error
diff --git a/src/version.c b/src/version.c
index 49092c6..08d3656 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    734,
+/**/
     733,
 /**/
     732,