I'm not sure if this is the right way to submit a patch.
Anyway the attached patch should solve the problem with symbolic links.
For ex. when editing /etc/hosts we get the warning
E303: Unable to open swap file for "hosts", recovery impossible
(/etc/hosts is a symlink in cygwin)
Regards.
Luca.
diff --recursive --unified vim-7.0.223-1/src/window.c vim-7.0.223-1-patched/src/window.c
--- vim-7.0.223-1/src/window.c 2007-03-27 17:46:56.000000000 +0200
+++ vim-7.0.223-1-patched/src/window.c 2007-04-15 03:30:44.056467200 +0200
@@ -5874,6 +5874,9 @@
#if defined(MACOS_CLASSIC) || defined(OS2) || defined(MSDOS) || defined(MSWIN)
slash_adjust(buf);
#endif
+#if defined(__CYGWIN__)
+ cygwin_conv_to_posix_path( buf, buf );
+#endif
return retval;
}