Bram Moolenaar wrote:
> Hmm, I'm not getting the feeling this has been properly tested. I'll
> await comments for a while.
I did't run any regression test.
The only problem on cygwin is the "E303: Unable to open swap file..."
message.
Looking at vim under the ddd/gdb debugger I found that it
was trying to compose the name of the .swp file concatenating
a posix path with a windows one (that was the result of the
symlink exansion not recognized as an absolute path) so
I patched with cygwin_conv_to_posix_path() and recompiled.
I'm using this version now (just changed the position of the patch
as you suggested) and it works here.
> In src/main.c I found this, perhaps it's also needed in os_unix.c:
>
> #ifdef __CYGWIN__
> # ifndef WIN32
> # include <sys/cygwin.h> /* for cygwin_conv_to_posix_path() */
> # endif
> # include <limits.h>
> #endif
It is not strictly needed because gcc compiled without having this snippet.
Maybe having __CYGWIN__ defined cause the inclusion of sys/cygwin.h
in other place.
But from wath I see that can be useful if you compile from cygwin
to windows native and you want to avoid the inclusion of
cygwin_conv_to_posix_path() when WIN32 is defined.
Maybe the better solution is to avoid mixing different
kind of path instead of patching a symlink that was expanded
as a windows path when it should had be expanded as a posix path.
(my current solution).
;-)
Luca.