summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0472
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0472')
-rw-r--r--data/vim/patches/8.1.0472298
1 files changed, 298 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0472 b/data/vim/patches/8.1.0472
new file mode 100644
index 000000000..e3baaa7a8
--- /dev/null
+++ b/data/vim/patches/8.1.0472
@@ -0,0 +1,298 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0472
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0472
+Problem: Dosinst command has a few flaws.
+Solution: Register DisplayIcon, DisplayVersion and Publisher for the
+ uninstaller. (closes #3485) Don't set 'diffexpr' if internal diff
+ is supported. Allow for using Vi compatible from the command line.
+ Remove needless sleeps. Add comments in the generated _vimrc.
+ (Ken Takata, closes #3525)
+Files: src/dosinst.c
+
+
+*** ../vim-8.1.0471/src/dosinst.c 2018-08-18 19:04:32.458231905 +0200
+--- src/dosinst.c 2018-10-13 17:23:40.545425239 +0200
+***************
+*** 18,23 ****
+--- 18,24 ----
+ */
+ #define DOSINST
+ #include "dosinst.h"
++ #include <io.h>
+
+ #define GVIMEXT64_PATH "GvimExt64\\gvimext.dll"
+ #define GVIMEXT32_PATH "GvimExt32\\gvimext.dll"
+***************
+*** 63,68 ****
+--- 64,70 ----
+ enum
+ {
+ compat_vi = 1,
++ compat_vim,
+ compat_some_enhancements,
+ compat_all_enhancements
+ };
+***************
+*** 70,75 ****
+--- 72,78 ----
+ {
+ "\nChoose the default way to run Vim:",
+ "Vi compatible",
++ "Vim default",
+ "with some Vim enhancements",
+ "with syntax highlighting and other features switched on",
+ };
+***************
+*** 567,573 ****
+ sleep(1); /* wait for uninstaller to start up */
+ num_windows = 0;
+ EnumWindows(window_cb, 0);
+- sleep(1); /* wait for windows to be counted */
+ if (num_windows == 0)
+ {
+ /* Did not find the uninstaller, ask user to press
+--- 570,575 ----
+***************
+*** 583,591 ****
+ {
+ printf(".");
+ fflush(stdout);
+ num_windows = 0;
+ EnumWindows(window_cb, 0);
+- sleep(1); /* wait for windows to be counted */
+ } while (num_windows > 0);
+ }
+ printf("\nDone!\n");
+--- 585,593 ----
+ {
+ printf(".");
+ fflush(stdout);
++ sleep(1); /* wait for the uninstaller to finish */
+ num_windows = 0;
+ EnumWindows(window_cb, 0);
+ } while (num_windows > 0);
+ }
+ printf("\nDone!\n");
+***************
+*** 1159,1170 ****
+--- 1161,1181 ----
+ switch (compat_choice)
+ {
+ case compat_vi:
++ fprintf(fd, "\" Vi compatible\n");
+ fprintf(fd, "set compatible\n");
+ break;
++ case compat_vim:
++ fprintf(fd, "\" Vim's default behavior\n");
++ fprintf(fd, "if &compatible\n");
++ fprintf(fd, " set nocompatible\n");
++ fprintf(fd, "endif\n");
++ break;
+ case compat_some_enhancements:
++ fprintf(fd, "\" Vim with some enhancements\n");
+ fprintf(fd, "source $VIMRUNTIME/defaults.vim\n");
+ break;
+ case compat_all_enhancements:
++ fprintf(fd, "\" Vim with all enhancements\n");
+ fprintf(fd, "source $VIMRUNTIME/vimrc_example.vim\n");
+ break;
+ }
+***************
+*** 1173,1187 ****
+--- 1184,1204 ----
+ case remap_no:
+ break;
+ case remap_win:
++ fprintf(fd, "\n");
++ fprintf(fd, "\" Remap a few keys for Windows behavior\n");
+ fprintf(fd, "source $VIMRUNTIME/mswin.vim\n");
+ break;
+ }
+ switch (mouse_choice)
+ {
+ case mouse_xterm:
++ fprintf(fd, "\n");
++ fprintf(fd, "\" Mouse behavior (the Unix way)\n");
+ fprintf(fd, "behave xterm\n");
+ break;
+ case mouse_mswin:
++ fprintf(fd, "\n");
++ fprintf(fd, "\" Mouse behavior (the Windows way)\n");
+ fprintf(fd, "behave mswin\n");
+ break;
+ case mouse_default:
+***************
+*** 1192,1198 ****
+ /* Use the diff.exe that comes with the self-extracting gvim.exe. */
+ fclose(tfd);
+ fprintf(fd, "\n");
+! fprintf(fd, "set diffexpr=MyDiff()\n");
+ fprintf(fd, "function MyDiff()\n");
+ fprintf(fd, " let opt = '-a --binary '\n");
+ fprintf(fd, " if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif\n");
+--- 1209,1219 ----
+ /* Use the diff.exe that comes with the self-extracting gvim.exe. */
+ fclose(tfd);
+ fprintf(fd, "\n");
+! fprintf(fd, "\" Use the internal diff if available.\n");
+! fprintf(fd, "\" Otherwise use the special 'diffexpr' for Windows.\n");
+! fprintf(fd, "if &diffopt !~# 'internal'\n");
+! fprintf(fd, " set diffexpr=MyDiff()\n");
+! fprintf(fd, "endif\n");
+ fprintf(fd, "function MyDiff()\n");
+ fprintf(fd, " let opt = '-a --binary '\n");
+ fprintf(fd, " if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif\n");
+***************
+*** 1491,1497 ****
+ HKEY hRootKey,
+ const char *appname,
+ const char *display_name,
+! const char *uninstall_string)
+ {
+ LONG lRet = reg_create_key_and_value(hRootKey, appname,
+ "DisplayName", display_name, KEY_WOW64_64KEY);
+--- 1512,1521 ----
+ HKEY hRootKey,
+ const char *appname,
+ const char *display_name,
+! const char *uninstall_string,
+! const char *display_icon,
+! const char *display_version,
+! const char *publisher)
+ {
+ LONG lRet = reg_create_key_and_value(hRootKey, appname,
+ "DisplayName", display_name, KEY_WOW64_64KEY);
+***************
+*** 1499,1504 ****
+--- 1523,1537 ----
+ if (ERROR_SUCCESS == lRet)
+ lRet = reg_create_key_and_value(hRootKey, appname,
+ "UninstallString", uninstall_string, KEY_WOW64_64KEY);
++ if (ERROR_SUCCESS == lRet)
++ lRet = reg_create_key_and_value(hRootKey, appname,
++ "DisplayIcon", display_icon, KEY_WOW64_64KEY);
++ if (ERROR_SUCCESS == lRet)
++ lRet = reg_create_key_and_value(hRootKey, appname,
++ "DisplayVersion", display_version, KEY_WOW64_64KEY);
++ if (ERROR_SUCCESS == lRet)
++ lRet = reg_create_key_and_value(hRootKey, appname,
++ "Publisher", publisher, KEY_WOW64_64KEY);
+ return lRet;
+ }
+
+***************
+*** 1519,1524 ****
+--- 1552,1558 ----
+ char vim_exe_path[BUFSIZE];
+ char display_name[BUFSIZE];
+ char uninstall_string[BUFSIZE];
++ char icon_string[BUFSIZE];
+ int i;
+ int loop_count = is_64bit_os() ? 2 : 1;
+ DWORD flag;
+***************
+*** 1583,1593 ****
+ else
+ sprintf(uninstall_string, "%s\\uninstall-gui.exe", installdir);
+
+ lRet = register_uninstall(
+ HKEY_LOCAL_MACHINE,
+ "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Vim " VIM_VERSION_SHORT,
+ display_name,
+! uninstall_string);
+ if (ERROR_SUCCESS != lRet)
+ return FAIL;
+
+--- 1617,1632 ----
+ else
+ sprintf(uninstall_string, "%s\\uninstall-gui.exe", installdir);
+
++ sprintf(icon_string, "%s\\gvim.exe,0", installdir);
++
+ lRet = register_uninstall(
+ HKEY_LOCAL_MACHINE,
+ "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Vim " VIM_VERSION_SHORT,
+ display_name,
+! uninstall_string,
+! icon_string,
+! VIM_VERSION_SHORT,
+! "Bram Moolenaar et al.");
+ if (ERROR_SUCCESS != lRet)
+ return FAIL;
+
+***************
+*** 2219,2224 ****
+--- 2258,2265 ----
+ printf(" Remap keys when creating a default _vimrc file.\n");
+ printf("-vimrc-behave [unix|mswin|default]\n");
+ printf(" Set mouse behavior when creating a default _vimrc file.\n");
++ printf("-vimrc-compat [vi|vim|defaults|all]\n");
++ printf(" Set Vi compatibility when creating a default _vimrc file.\n");
+ printf("-install-popup\n");
+ printf(" Install the Edit-with-Vim context menu entry\n");
+ printf("-install-openwith\n");
+***************
+*** 2296,2301 ****
+--- 2337,2356 ----
+ else if (strcmp(argv[i], "default") == 0)
+ mouse_choice = mouse_default;
+ }
++ else if (strcmp(argv[i], "-vimrc-compat") == 0)
++ {
++ if (i + 1 == argc)
++ break;
++ i++;
++ if (strcmp(argv[i], "vi") == 0)
++ compat_choice = compat_vi;
++ else if (strcmp(argv[i], "vim") == 0)
++ compat_choice = compat_vim;
++ else if (strcmp(argv[i], "defaults") == 0)
++ compat_choice = compat_some_enhancements;
++ else if (strcmp(argv[i], "all") == 0)
++ compat_choice = compat_all_enhancements;
++ }
+ else if (strcmp(argv[i], "-install-popup") == 0)
+ {
+ init_popup_choice();
+***************
+*** 2546,2552 ****
+
+ /* When nothing found exit quietly. If something found wait for
+ * a little while, so that the user can read the messages. */
+! if (i)
+ sleep(3);
+ exit(0);
+ }
+--- 2601,2607 ----
+
+ /* When nothing found exit quietly. If something found wait for
+ * a little while, so that the user can read the messages. */
+! if (i && _isatty(1))
+ sleep(3);
+ exit(0);
+ }
+*** ../vim-8.1.0471/src/version.c 2018-10-12 22:15:06.597268116 +0200
+--- src/version.c 2018-10-13 17:25:17.988761109 +0200
+***************
+*** 794,795 ****
+--- 794,797 ----
+ { /* Add new patch number below this line */
++ /**/
++ 472,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+194. Your business cards contain your e-mail and home page address.
+
+ /// 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 ///