summaryrefslogtreecommitdiff
path: root/src/undo.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-03-12 16:51:55 +0100
committerBram Moolenaar <Bram@vim.org>2014-03-12 16:51:55 +0100
commit206f011829920e41c4d3782af7591da6e1b86655 (patch)
treee244183206e3bcf82829738bf2d0eca05c7f4baf /src/undo.c
parentf7dc2b551708315a833fcb19c288759c277dcfe1 (diff)
downloadvim-git-206f011829920e41c4d3782af7591da6e1b86655.tar.gz
updated for version 7.4.197v7.4.197
Problem: Various problems on VMS. Solution: Fix several VMS problems. (Zoltan Arpadffy)
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 9e72d1f74..94918e0f6 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
{