summaryrefslogtreecommitdiffstats
path: root/src/undo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/undo.c')
-rw-r--r--src/undo.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/undo.c b/src/undo.c
index 9e72d1f74d..94918e0f69 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -790,9 +790,20 @@ u_get_undo_file_name(buf_ffname, reading)
if (undo_file_name == NULL)
break;
p = gettail(undo_file_name);
+#ifdef VMS
+ /* VMS can not handle more than one dot in the filenames
+ * use "dir/name" -> "dir/_un_name" - add _un_
+ * at the beginning to keep the extension */
+ mch_memmove(p + 4, p, STRLEN(p) + 1);
+ mch_memmove(p, "_un_", 4);
+
+#else
+ /* Use same directory as the ffname,
+ * "dir/name" -> "dir/.name.un~" */
mch_memmove(p + 1, p, STRLEN(p) + 1);
*p = '.';
STRCAT(p, ".un~");
+#endif
}
else
{