Use full path in undofile().  Updated docs.
diff --git a/src/eval.c b/src/eval.c
index 6ad71d5..e777d32 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -17639,8 +17639,13 @@
 {
     rettv->v_type = VAR_STRING;
 #ifdef FEAT_PERSISTENT_UNDO
-    rettv->vval.v_string = u_get_undo_file_name(get_tv_string(&argvars[0]),
-								       FALSE);
+    {
+	char_u *ffname = FullName_save(get_tv_string(&argvars[0]), FALSE);
+
+	if (ffname != NULL)
+	    rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE);
+	vim_free(ffname);
+    }
 #else
     rettv->vval.v_string = NULL;
 #endif