patch 7.4.1007
Problem:    When a symbolic link points to a file in the root directory, the
            swapfile is not correct.
Solution:   Do not try getting the full name of a file in the root directory.
            (Milly, closes #501)
diff --git a/src/os_unix.c b/src/os_unix.c
index 314a906..4c63eeb 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -2507,8 +2507,10 @@
     fname = posix_fname;
 #endif
 
-    /* expand it if forced or not an absolute path */
-    if (force || !mch_isFullName(fname))
+    /* Expand it if forced or not an absolute path.
+     * Do not do it for "/file", the result is always "/". */
+    if ((force || !mch_isFullName(fname))
+	    && ((p = vim_strrchr(fname, '/')) == NULL || p != fname))
     {
 	/*
 	 * If the file name has a path, change to that directory for a moment,
@@ -2517,11 +2519,11 @@
 	 */
 #ifdef OS2
 	only_drive = 0;
-	if (((p = vim_strrchr(fname, '/')) != NULL)
+	if (p != NULL
 		|| ((p = vim_strrchr(fname, '\\')) != NULL)
 		|| (((p = vim_strchr(fname,  ':')) != NULL) && ++only_drive))
 #else
-	if ((p = vim_strrchr(fname, '/')) != NULL)
+	if (p != NULL)
 #endif
 	{
 #ifdef HAVE_FCHDIR
diff --git a/src/version.c b/src/version.c
index 965eec4..089546f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1007,
+/**/
     1006,
 /**/
     1005,