Hi,
2013/06/16 San 23:01:39 UTC+9 Bram Moolenaar wrote:
> Ajit Thakkar wrote:
>
> > Setting backupcopy=yes does seem to solve the problem, at least on three
> > tries.
> >
> > Without it, the behavior is erratic. Just now, in the last 5 minutes, I got
> > on different occasions an E510, an E222, an E211, and a backup file named
> > yyyy (but all the y's had an umlaut on them) left behind in the current
> > directory.
> >
> > It gives me the impression that some random access to memory is taking
> > place, as if there were an attempt to use an uninitialized value or an
> > array element with an index outside the declared range.
>
> I hope someone with a good Windows debugger can find out what's going
> wrong.
>
> Can you specify what links are on these files exactly? Preferably by
> listing the sequence of commands used to create the file and the links.
I had a report from Yukihiro Nakadaira that mch_is_symbolic_link() has
a bug when 'encoding' is same as the current codepage. I didn't notice
because I mainly used enc=utf-8 which is different form the current codepage.
Attached patch fixes this bug, but I'm not sure this is the cause of the hang.
Best regards,
Ken Takata
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
# HG changeset patch
# Parent ada5696068bebb4548cf4048433390149bf740a5
diff --git a/src/os_win32.c b/src/os_win32.c
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -2855,14 +2855,16 @@
reparseTag = findDataW.dwReserved0;
}
}
-#else
- hFind = FindFirstFile(fname, &findDataA);
- if (hFind != INVALID_HANDLE_VALUE)
+ else
+#endif
{
- fileFlags = findDataA.dwFileAttributes;
- reparseTag = findDataA.dwReserved0;
+ hFind = FindFirstFile(fname, &findDataA);
+ if (hFind != INVALID_HANDLE_VALUE)
+ {
+ fileFlags = findDataA.dwFileAttributes;
+ reparseTag = findDataA.dwReserved0;
+ }
}
-#endif
if (hFind != INVALID_HANDLE_VALUE)
FindClose(hFind);