summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.172
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.172')
-rw-r--r--source/ap/vim/patches/7.3.172268
1 files changed, 0 insertions, 268 deletions
diff --git a/source/ap/vim/patches/7.3.172 b/source/ap/vim/patches/7.3.172
deleted file mode 100644
index 66a78521..00000000
--- a/source/ap/vim/patches/7.3.172
+++ /dev/null
@@ -1,268 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.172
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.172
-Problem: MS-Windows: rename() might delete the file if the name differs but
- it's actually the same file.
-Solution: Use the file handle to check if it's the same file. (Yukihiro
- Nakadaira)
-Files: src/if_cscope.c, src/fileio.c, src/os_win32.c,
- src/proto/os_win32.pro, src/vim.h
-
-
-*** ../vim-7.3.171/src/if_cscope.c 2011-03-03 15:01:25.000000000 +0100
---- src/if_cscope.c 2011-05-05 16:16:38.000000000 +0200
-***************
-*** 1412,1428 ****
- {
- short i, j;
- #ifndef UNIX
-- HANDLE hFile;
- BY_HANDLE_FILE_INFORMATION bhfi;
-
-- vim_memset(&bhfi, 0, sizeof(bhfi));
- /* On windows 9x GetFileInformationByHandle doesn't work, so skip it */
- if (!mch_windows95())
- {
-! hFile = CreateFile(fname, FILE_READ_ATTRIBUTES, 0, NULL, OPEN_EXISTING,
-! FILE_ATTRIBUTE_NORMAL, NULL);
-! if (hFile == INVALID_HANDLE_VALUE)
- {
- if (p_csverbose)
- {
- char *cant_msg = _("E625: cannot open cscope database: %s");
---- 1412,1426 ----
- {
- short i, j;
- #ifndef UNIX
- BY_HANDLE_FILE_INFORMATION bhfi;
-
- /* On windows 9x GetFileInformationByHandle doesn't work, so skip it */
- if (!mch_windows95())
- {
-! switch (win32_fileinfo(fname, &bhfi))
- {
-+ case FILEINFO_ENC_FAIL: /* enc_to_utf16() failed */
-+ case FILEINFO_READ_FAIL: /* CreateFile() failed */
- if (p_csverbose)
- {
- char *cant_msg = _("E625: cannot open cscope database: %s");
-***************
-*** 1438,1452 ****
- (void)EMSG2(cant_msg, fname);
- }
- return -1;
-! }
-! if (!GetFileInformationByHandle(hFile, &bhfi))
-! {
-! CloseHandle(hFile);
- if (p_csverbose)
- (void)EMSG(_("E626: cannot get cscope database information"));
- return -1;
- }
-- CloseHandle(hFile);
- }
- #endif
-
---- 1436,1447 ----
- (void)EMSG2(cant_msg, fname);
- }
- return -1;
-!
-! case FILEINFO_INFO_FAIL: /* GetFileInformationByHandle() failed */
- if (p_csverbose)
- (void)EMSG(_("E626: cannot get cscope database information"));
- return -1;
- }
- }
- #endif
-
-*** ../vim-7.3.171/src/fileio.c 2011-04-11 21:35:03.000000000 +0200
---- src/fileio.c 2011-05-05 16:22:22.000000000 +0200
-***************
-*** 6555,6560 ****
---- 6555,6575 ----
- use_tmp_file = TRUE;
- }
- #endif
-+ #ifdef WIN3264
-+ {
-+ BY_HANDLE_FILE_INFORMATION info1, info2;
-+
-+ /* It's possible for the source and destination to be the same file.
-+ * In that case go through a temp file name. This makes rename("foo",
-+ * "./foo") a no-op (in a complicated way). */
-+ if (win32_fileinfo(from, &info1) == FILEINFO_OK
-+ && win32_fileinfo(to, &info2) == FILEINFO_OK
-+ && info1.dwVolumeSerialNumber == info2.dwVolumeSerialNumber
-+ && info1.nFileIndexHigh == info2.nFileIndexHigh
-+ && info1.nFileIndexLow == info2.nFileIndexLow)
-+ use_tmp_file = TRUE;
-+ }
-+ #endif
-
- #if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME)
- if (use_tmp_file)
-*** ../vim-7.3.171/src/os_win32.c 2011-02-01 13:48:47.000000000 +0100
---- src/os_win32.c 2011-05-05 16:24:17.000000000 +0200
-***************
-*** 2645,2669 ****
- int
- mch_is_linked(char_u *fname)
- {
- HANDLE hFile;
-! int res = 0;
-! BY_HANDLE_FILE_INFORMATION inf;
- #ifdef FEAT_MBYTE
- WCHAR *wn = NULL;
-
- if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
- wn = enc_to_utf16(fname, NULL);
- if (wn != NULL)
- {
- hFile = CreateFileW(wn, /* file name */
- GENERIC_READ, /* access mode */
-! 0, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! 0, /* file attributes */
- NULL); /* handle to template file */
- if (hFile == INVALID_HANDLE_VALUE
-! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
- {
- /* Retry with non-wide function (for Windows 98). */
- vim_free(wn);
---- 2645,2688 ----
- int
- mch_is_linked(char_u *fname)
- {
-+ BY_HANDLE_FILE_INFORMATION info;
-+
-+ return win32_fileinfo(fname, &info) == FILEINFO_OK
-+ && info.nNumberOfLinks > 1;
-+ }
-+
-+ /*
-+ * Get the by-handle-file-information for "fname".
-+ * Returns FILEINFO_OK when OK.
-+ * returns FILEINFO_ENC_FAIL when enc_to_utf16() failed.
-+ * Returns FILEINFO_READ_FAIL when CreateFile() failed.
-+ * Returns FILEINFO_INFO_FAIL when GetFileInformationByHandle() failed.
-+ */
-+ int
-+ win32_fileinfo(char_u *fname, BY_HANDLE_FILE_INFORMATION *info)
-+ {
- HANDLE hFile;
-! int res = FILEINFO_READ_FAIL;
- #ifdef FEAT_MBYTE
- WCHAR *wn = NULL;
-
- if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+ {
- wn = enc_to_utf16(fname, NULL);
-+ if (wn == NULL)
-+ res = FILEINFO_ENC_FAIL;
-+ }
- if (wn != NULL)
- {
- hFile = CreateFileW(wn, /* file name */
- GENERIC_READ, /* access mode */
-! FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! FILE_FLAG_BACKUP_SEMANTICS, /* file attributes */
- NULL); /* handle to template file */
- if (hFile == INVALID_HANDLE_VALUE
-! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
- {
- /* Retry with non-wide function (for Windows 98). */
- vim_free(wn);
-***************
-*** 2674,2690 ****
- #endif
- hFile = CreateFile(fname, /* file name */
- GENERIC_READ, /* access mode */
-! 0, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! 0, /* file attributes */
- NULL); /* handle to template file */
-
- if (hFile != INVALID_HANDLE_VALUE)
- {
-! if (GetFileInformationByHandle(hFile, &inf) != 0
-! && inf.nNumberOfLinks > 1)
-! res = 1;
- CloseHandle(hFile);
- }
-
---- 2693,2710 ----
- #endif
- hFile = CreateFile(fname, /* file name */
- GENERIC_READ, /* access mode */
-! FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! FILE_FLAG_BACKUP_SEMANTICS, /* file attributes */
- NULL); /* handle to template file */
-
- if (hFile != INVALID_HANDLE_VALUE)
- {
-! if (GetFileInformationByHandle(hFile, info) != 0)
-! res = FILEINFO_OK;
-! else
-! res = FILEINFO_INFO_FAIL;
- CloseHandle(hFile);
- }
-
-*** ../vim-7.3.171/src/proto/os_win32.pro 2010-10-23 14:02:48.000000000 +0200
---- src/proto/os_win32.pro 2011-05-05 16:17:42.000000000 +0200
-***************
-*** 21,26 ****
---- 21,27 ----
- void mch_hide __ARGS((char_u *name));
- int mch_isdir __ARGS((char_u *name));
- int mch_is_linked __ARGS((char_u *fname));
-+ int win32_fileinfo __ARGS((char_u *name, BY_HANDLE_FILE_INFORMATION *lpFileInfo));
- int mch_writable __ARGS((char_u *name));
- int mch_can_exe __ARGS((char_u *name));
- int mch_nodetype __ARGS((char_u *name));
-*** ../vim-7.3.171/src/vim.h 2011-04-11 21:35:03.000000000 +0200
---- src/vim.h 2011-05-05 16:16:57.000000000 +0200
-***************
-*** 2217,2220 ****
---- 2217,2226 ----
- #define KEYLEN_PART_MAP -2 /* keylen value for incomplete mapping */
- #define KEYLEN_REMOVED 9999 /* keylen value for removed sequence */
-
-+ /* Return values from win32_fileinfo(). */
-+ #define FILEINFO_OK 0
-+ #define FILEINFO_ENC_FAIL 1 /* enc_to_utf16() failed */
-+ #define FILEINFO_READ_FAIL 2 /* CreateFile() failed */
-+ #define FILEINFO_INFO_FAIL 3 /* GetFileInformationByHandle() failed */
-+
- #endif /* VIM__H */
-*** ../vim-7.3.171/src/version.c 2011-05-05 14:26:37.000000000 +0200
---- src/version.c 2011-05-05 16:39:35.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 172,
- /**/
-
---
-Q: What is a patch 22?
-A: A patch you need to include to make it possible to include patches.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///