Mirror of the Vim source from https://github.com/vim/vim
リビジョン | 9800e126eaa23307109cb171f8ec4a78c1e8f8b1 (tree) |
---|---|
日時 | 2020-02-18 07:00:04 |
作者 | Bram Moolenaar <Bram@vim....> |
コミッター | Bram Moolenaar |
patch 8.2.0273: MS-Windows uninstall may delete wrong batch file
Commit: https://github.com/vim/vim/commit/1fa8d2c33d7290eda7dc2a94d4ec6a599a2d61dd
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Feb 17 22:53:14 2020 +0100
@@ -1359,7 +1359,7 @@ | ||
1359 | 1359 | $(OUTDIR): |
1360 | 1360 | if not exist $(OUTDIR)/nul mkdir $(OUTDIR) |
1361 | 1361 | |
1362 | -CFLAGS_INST = /nologo -DNDEBUG -DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) $(CFLAGS_DEPR) | |
1362 | +CFLAGS_INST = /nologo /O2 -DNDEBUG -DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) $(CFLAGS_DEPR) | |
1363 | 1363 | |
1364 | 1364 | install.exe: dosinst.c dosinst.h version.h |
1365 | 1365 | $(CC) $(CFLAGS_INST) dosinst.c kernel32.lib shell32.lib \ |
@@ -841,6 +841,7 @@ | ||
841 | 841 | |
842 | 842 | fprintf(fd, "@echo off\n"); |
843 | 843 | fprintf(fd, "rem -- Run Vim --\n"); |
844 | + fprintf(fd, VIMBAT_UNINSTKEY "\n"); | |
844 | 845 | fprintf(fd, "\n"); |
845 | 846 | fprintf(fd, "setlocal\n"); |
846 | 847 |
@@ -354,6 +354,9 @@ | ||
354 | 354 | "vimtutor.bat", "vimtutor.bat", ""}, |
355 | 355 | }; |
356 | 356 | |
357 | +/* Uninstall key for vim.bat, etc. */ | |
358 | +#define VIMBAT_UNINSTKEY "rem # uninstall key: " VIM_VERSION_NODOT " #" | |
359 | + | |
357 | 360 | #define ICON_COUNT 3 |
358 | 361 | char *(icon_names[ICON_COUNT]) = |
359 | 362 | {"gVim " VIM_VERSION_SHORT, |
@@ -200,8 +200,7 @@ | ||
200 | 200 | { |
201 | 201 | FILE *fd; |
202 | 202 | char line[BUFSIZE]; |
203 | - char *p; | |
204 | - int ver_len = strlen(VIM_VERSION_NODOT); | |
203 | + int key_len = strlen(VIMBAT_UNINSTKEY); | |
205 | 204 | int found = FALSE; |
206 | 205 | |
207 | 206 | fd = fopen(path, "r"); |
@@ -209,17 +208,11 @@ | ||
209 | 208 | { |
210 | 209 | while (fgets(line, sizeof(line), fd) != NULL) |
211 | 210 | { |
212 | - for (p = line; *p != 0; ++p) | |
213 | - // don't accept "vim60an" when looking for "vim60". | |
214 | - if (strnicmp(p, VIM_VERSION_NODOT, ver_len) == 0 | |
215 | - && !isdigit(p[ver_len]) | |
216 | - && !isalpha(p[ver_len])) | |
217 | - { | |
218 | - found = TRUE; | |
219 | - break; | |
220 | - } | |
221 | - if (found) | |
211 | + if (strncmp(line, VIMBAT_UNINSTKEY, key_len) == 0) | |
212 | + { | |
213 | + found = TRUE; | |
222 | 214 | break; |
215 | + } | |
223 | 216 | } |
224 | 217 | fclose(fd); |
225 | 218 | } |
@@ -739,6 +739,8 @@ | ||
739 | 739 | static int included_patches[] = |
740 | 740 | { /* Add new patch number below this line */ |
741 | 741 | /**/ |
742 | + 273, | |
743 | +/**/ | |
742 | 744 | 272, |
743 | 745 | /**/ |
744 | 746 | 271, |