summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0534
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0534')
-rw-r--r--data/vim/patches/8.1.0534379
1 files changed, 0 insertions, 379 deletions
diff --git a/data/vim/patches/8.1.0534 b/data/vim/patches/8.1.0534
deleted file mode 100644
index 9071561d6..000000000
--- a/data/vim/patches/8.1.0534
+++ /dev/null
@@ -1,379 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0534
-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.0534
-Problem: MS-Windows installer uses different $HOME than Vim.
-Solution: Use the Vim logic also in the MS-Windows installer. (Ken Takata,
- closes #3564)
-Files: src/dosinst.c, src/misc1.c
-
-
-*** ../vim-8.1.0533/src/dosinst.c 2018-10-13 17:25:24.112718312 +0200
---- src/dosinst.c 2018-11-16 19:39:24.551085683 +0100
-***************
-*** 115,128 ****
- vimfiles_dir_vim,
- vimfiles_dir_home
- };
-! static char *(vimfiles_dir_choices[]) =
- {
- "\nCreate plugin directories:",
- "No",
- "In the VIM directory",
- "In your HOME directory",
- };
-- static int vimfiles_dir_choice;
-
- /* non-zero when selected to install the popup menu entry. */
- static int install_popup = 0;
---- 115,127 ----
- vimfiles_dir_vim,
- vimfiles_dir_home
- };
-! static char *(vimfiles_dir_choices[]) =
- {
- "\nCreate plugin directories:",
- "No",
- "In the VIM directory",
- "In your HOME directory",
- };
-
- /* non-zero when selected to install the popup menu entry. */
- static int install_popup = 0;
-***************
-*** 741,747 ****
- choices[choice_count].installfunc = NULL;
- choices[choice_count].active = 0;
- choices[choice_count].changefunc = NULL;
-! choices[choice_count].installfunc = NULL;
- ++choice_count;
- }
-
---- 740,747 ----
- choices[choice_count].installfunc = NULL;
- choices[choice_count].active = 0;
- choices[choice_count].changefunc = NULL;
-! choices[choice_count].text = NULL;
-! choices[choice_count].arg = 0;
- ++choice_count;
- }
-
-***************
-*** 2089,2094 ****
---- 2089,2096 ----
- static void
- set_directories_text(int idx)
- {
-+ int vimfiles_dir_choice = choices[idx].arg;
-+
- if (vimfiles_dir_choice == (int)vimfiles_dir_none)
- alloc_text(idx, "Do NOT create plugin directories%s", "");
- else
-***************
-*** 2097,2102 ****
---- 2099,2189 ----
- }
-
- /*
-+ * To get the "real" home directory:
-+ * - get value of $HOME
-+ * - if not found, get value of $HOMEDRIVE$HOMEPATH
-+ * - if not found, get value of $USERPROFILE
-+ *
-+ * This code is based on init_homedir() in misc1.c, keep in sync!
-+ */
-+ static char *homedir = NULL;
-+
-+ void
-+ init_homedir(void)
-+ {
-+ char *var;
-+ char buf[MAX_PATH];
-+
-+ if (homedir != NULL)
-+ {
-+ free(homedir);
-+ homedir = NULL;
-+ }
-+
-+ var = getenv("HOME");
-+
-+ /*
-+ * Typically, $HOME is not defined on Windows, unless the user has
-+ * specifically defined it for Vim's sake. However, on Windows NT
-+ * platforms, $HOMEDRIVE and $HOMEPATH are automatically defined for
-+ * each user. Try constructing $HOME from these.
-+ */
-+ if (var == NULL || *var == NUL)
-+ {
-+ char *homedrive, *homepath;
-+
-+ homedrive = getenv("HOMEDRIVE");
-+ homepath = getenv("HOMEPATH");
-+ if (homepath == NULL || *homepath == NUL)
-+ homepath = "\\";
-+ if (homedrive != NULL
-+ && strlen(homedrive) + strlen(homepath) < MAX_PATH)
-+ {
-+ sprintf(buf, "%s%s", homedrive, homepath);
-+ if (buf[0] != NUL)
-+ var = buf;
-+ }
-+ }
-+
-+ if (var == NULL)
-+ var = getenv("USERPROFILE");
-+
-+ /*
-+ * Weird but true: $HOME may contain an indirect reference to another
-+ * variable, esp. "%USERPROFILE%". Happens when $USERPROFILE isn't set
-+ * when $HOME is being set.
-+ */
-+ if (var != NULL && *var == '%')
-+ {
-+ char *p;
-+ char *exp;
-+
-+ p = strchr(var + 1, '%');
-+ if (p != NULL)
-+ {
-+ strncpy(buf, var + 1, p - (var + 1));
-+ buf[p - (var + 1)] = NUL;
-+ exp = getenv(buf);
-+ if (exp != NULL && *exp != NUL
-+ && strlen(exp) + strlen(p) < MAX_PATH)
-+ {
-+ _snprintf(buf, MAX_PATH, "%s%s", exp, p + 1);
-+ buf[MAX_PATH - 1] = NUL;
-+ var = buf;
-+ }
-+ }
-+ }
-+
-+ if (var != NULL && *var == NUL) // empty is same as not set
-+ var = NULL;
-+
-+ if (var == NULL)
-+ homedir = NULL;
-+ else
-+ homedir = _strdup(var);
-+ }
-+
-+ /*
- * Change the directory that the vim plugin directories will be created in:
- * $HOME, $VIM or nowhere.
- */
-***************
-*** 2106,2114 ****
- int choice_count = TABLE_SIZE(vimfiles_dir_choices);
-
- /* Don't offer the $HOME choice if $HOME isn't set. */
-! if (getenv("HOME") == NULL)
- --choice_count;
-! vimfiles_dir_choice = get_choice(vimfiles_dir_choices, choice_count);
- set_directories_text(idx);
- }
-
---- 2193,2201 ----
- int choice_count = TABLE_SIZE(vimfiles_dir_choices);
-
- /* Don't offer the $HOME choice if $HOME isn't set. */
-! if (homedir == NULL)
- --choice_count;
-! choices[idx].arg = get_choice(vimfiles_dir_choices, choice_count);
- set_directories_text(idx);
- }
-
-***************
-*** 2120,2125 ****
---- 2207,2213 ----
- install_vimfilesdir(int idx)
- {
- int i;
-+ int vimfiles_dir_choice = choices[idx].arg;
- char *p;
- char vimdir_path[BUFSIZE];
- char vimfiles_path[BUFSIZE];
-***************
-*** 2144,2151 ****
- }
- case vimfiles_dir_home:
- {
-! /* Find the $HOME directory. Its existence was already checked. */
-! p = getenv("HOME");
- if (p == NULL)
- {
- printf("Internal error: $HOME is NULL\n");
---- 2232,2239 ----
- }
- case vimfiles_dir_home:
- {
-! // Find the $HOME directory. Its existence was already checked.
-! p = homedir;
- if (p == NULL)
- {
- printf("Internal error: $HOME is NULL\n");
-***************
-*** 2156,2162 ****
- }
- case vimfiles_dir_none:
- {
-! /* Do not create vim plugin directory */
- return;
- }
- }
---- 2244,2250 ----
- }
- case vimfiles_dir_none:
- {
-! // Do not create vim plugin directory.
- return;
- }
- }
-***************
-*** 2185,2198 ****
- struct stat st;
- char tmp_dirname[BUFSIZE];
- char *p;
-
- choices[choice_count].text = alloc(150);
- choices[choice_count].changefunc = change_directories_choice;
- choices[choice_count].installfunc = install_vimfilesdir;
- choices[choice_count].active = 1;
-
-! /* Check if the "compiler" directory already exists. That's a good
-! * indication that the plugin directories were already created. */
- if (getenv("HOME") != NULL)
- {
- vimfiles_dir_choice = (int)vimfiles_dir_home;
---- 2273,2287 ----
- struct stat st;
- char tmp_dirname[BUFSIZE];
- char *p;
-+ int vimfiles_dir_choice;
-
- choices[choice_count].text = alloc(150);
- choices[choice_count].changefunc = change_directories_choice;
- choices[choice_count].installfunc = install_vimfilesdir;
- choices[choice_count].active = 1;
-
-! // Check if the "compiler" directory already exists. That's a good
-! // indication that the plugin directories were already created.
- if (getenv("HOME") != NULL)
- {
- vimfiles_dir_choice = (int)vimfiles_dir_home;
-***************
-*** 2204,2210 ****
- {
- vimfiles_dir_choice = (int)vimfiles_dir_vim;
- p = getenv("VIM");
-! if (p == NULL) /* No $VIM in path, use the install dir */
- dir_remove_last(installdir, tmp_dirname);
- else
- strcpy(tmp_dirname, p);
---- 2293,2299 ----
- {
- vimfiles_dir_choice = (int)vimfiles_dir_vim;
- p = getenv("VIM");
-! if (p == NULL) // No $VIM in path, use the install dir.
- dir_remove_last(installdir, tmp_dirname);
- else
- strcpy(tmp_dirname, p);
-***************
-*** 2213,2218 ****
---- 2302,2308 ----
- vimfiles_dir_choice = (int)vimfiles_dir_none;
- }
-
-+ choices[choice_count].arg = vimfiles_dir_choice;
- set_directories_text(choice_count);
- ++choice_count;
- }
-***************
-*** 2369,2374 ****
---- 2459,2466 ----
- }
- else if (strcmp(argv[i], "-create-directories") == 0)
- {
-+ int vimfiles_dir_choice;
-+
- init_directories_choice();
- if (argv[i + 1][0] != '-')
- {
-***************
-*** 2377,2384 ****
- vimfiles_dir_choice = (int)vimfiles_dir_vim;
- else if (strcmp(argv[i], "home") == 0)
- {
-! if (getenv("HOME") == NULL) /* No $HOME in environment */
-! vimfiles_dir_choice = (int)vimfiles_dir_vim;
- else
- vimfiles_dir_choice = (int)vimfiles_dir_home;
- }
---- 2469,2476 ----
- vimfiles_dir_choice = (int)vimfiles_dir_vim;
- else if (strcmp(argv[i], "home") == 0)
- {
-! if (homedir == NULL) // No $HOME in environment
-! vimfiles_dir_choice = (int)vimfiles_dir_none;
- else
- vimfiles_dir_choice = (int)vimfiles_dir_home;
- }
-***************
-*** 2391,2396 ****
---- 2483,2489 ----
- }
- else /* No choice specified, default to vim directory */
- vimfiles_dir_choice = (int)vimfiles_dir_vim;
-+ choices[choice_count - 1].arg = vimfiles_dir_choice;
- }
- else if (strcmp(argv[i], "-register-OLE") == 0)
- {
-***************
-*** 2589,2594 ****
---- 2682,2688 ----
-
- /* Initialize this program. */
- do_inits(argv);
-+ init_homedir();
-
- if (argc > 1 && strcmp(argv[1], "-uninstall-check") == 0)
- {
-*** ../vim-8.1.0533/src/misc1.c 2018-10-07 23:16:33.138616197 +0200
---- src/misc1.c 2018-11-16 19:37:57.095655169 +0100
-***************
-*** 3905,3910 ****
---- 3905,3912 ----
- * - do mch_dirname() to get the real name of that directory.
- * This also works with mounts and links.
- * Don't do this for MS-DOS, it will change the "current dir" for a drive.
-+ * For Windows:
-+ * This code is duplicated in init_homedir() in dosinst.c. Keep in sync!
- */
- static char_u *homedir = NULL;
-
-*** ../vim-8.1.0533/src/version.c 2018-11-16 18:50:13.346534543 +0100
---- src/version.c 2018-11-16 19:33:13.893507996 +0100
-***************
-*** 794,795 ****
---- 794,797 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 534,
- /**/
-
---
-Two cows are standing together in a field. One asks the other:
-"So what do you think about this Mad Cow Disease?"
-The other replies: "That doesn't concern me. I'm a helicopter."
-
- /// 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 ///