On 21 Okt, 17:13, James Vega <james...@jamessan.com> wrote: > On Wed, Oct 21, 2009 at 10:52 AM, Arve Knudsen <arve.knud...@gmail.com> wrote: > > > On 21 Okt, 13:58, James Vega <james...@jamessan.com> wrote: > >> On Wed, Oct 21, 2009 at 02:33:46AM -0700, Arve Knudsen wrote: > >> > I have a very annoying problem with the x64 build of Vim 7.2 on > >> > Windows 7, for some reason it creates files named "4913" during > >> > editing. Is this a bug, or maybe triggered by a problem with my > >> > system? > > >> As a quick Google would tell you, Vim creates this file in an attempt to > >> verify it can create a file in the directory in which you see the file > >> and set the uid/gid. It's just a temporary file used during the process > >> of creating a backup file. > > > I did Google it, and found that it could be a problem on network- > > filesystems? The problem is that it *isn't* temporary, it persists. > > Here's the code: > > 3486 for (i = 4913; ; i += 123) > 3487 { > 3488 sprintf((char *)gettail(IObuff), "%d", i); > 3489 if (mch_lstat((char *)IObuff, &st) < 0) > 3490 break; > 3491 } > 3492 fd = mch_open((char *)IObuff, > 3493 > O_CREAT|O_WRONLY|O_EXCL|O_NOFOLLOW, perm); > 3494 if (fd < 0) /* can't write in directory */ > 3495 backup_copy = TRUE; > 3496 else > 3497 { > 3498 # ifdef UNIX > 3499 # ifdef HAVE_FCHOWN > 3500 ignored = fchown(fd, st_old.st_uid, st_old.st_gid); > 3501 # endif > 3502 if (mch_stat((char *)IObuff, &st) < 0 > 3503 || st.st_uid != st_old.st_uid > 3504 || st.st_gid != st_old.st_gid > 3505 || (long)st.st_mode != perm) > 3506 backup_copy = TRUE; > 3507 # endif > 3508 /* Close the file before removing it, on MS-Windows > we > 3509 * can't delete an open file. */ > 3510 close(fd); > 3511 mch_remove(IObuff); > 3512 } > > If mch_open (line 3492) returns a file descriptor, then we get into > the following else which always calls mch_remove on the file (line > 3511). So, Vim is removing the file but your filesystem isn't > properly handling that.
Thanks for the explanation. It's just plain old NTFS, so I guess there's something wrong in my system. Arve --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---