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; }