patch 8.1.1352: undofile() reports wrong name

Problem:    Undofile() reports wrong name. (Francisco Giordano)
Solution:   Clean up the name before changing path separators. (closes #4392,
            closes #4394)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index b5a6d68..4c02e15 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -15128,7 +15128,7 @@
 	}
 	else
 	{
-	    char_u *ffname = FullName_save(fname, FALSE);
+	    char_u *ffname = FullName_save(fname, TRUE);
 
 	    if (ffname != NULL)
 		rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE);
diff --git a/src/testdir/test_undo.vim b/src/testdir/test_undo.vim
index 7c93e23..ba1c861 100644
--- a/src/testdir/test_undo.vim
+++ b/src/testdir/test_undo.vim
@@ -440,5 +440,10 @@
   " Test undofile() with 'undodir' set to a non-existing directory.
   call assert_equal('', undofile('Xundofoo'))
 
+  if isdirectory('/tmp')
+    set undodir=/tmp
+    call assert_equal('/tmp/%tmp%file', undofile('///tmp/file'))
+  endif
+
   set undodir&
 endfunc
diff --git a/src/version.c b/src/version.c
index 8bf07e3..f349d7b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1352,
+/**/
     1351,
 /**/
     1350,