changeset 12297:98586656fcae v8.0.1028

patch 8.0.1028: MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set commit https://github.com/vim/vim/commit/3d593c2dc97c5426316bf343910cad911b2f6b49 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 31 20:42:18 2017 +0200 patch 8.0.1028: MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set Problem: MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set. (Yongwei Wu) Solution: Use vim_getenv() but check it's returning the default "C:/".
author Christian Brabandt <cb@256bit.org>
date Thu, 31 Aug 2017 20:45:04 +0200
parents bd603ab3114f
children cf4149250bce
files src/ex_cmds.c src/version.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2098,11 +2098,16 @@ viminfo_filename(char_u *file)
 	else if ((file = find_viminfo_parameter('n')) == NULL || *file == NUL)
 	{
 #ifdef VIMINFO_FILE2
-	    /* don't use $HOME when not defined (turned into "c:/"!). */
 # ifdef VMS
 	    if (mch_getenv((char_u *)"SYS$LOGIN") == NULL)
 # else
+#  ifdef MSWIN
+	    /* Use $VIM only if $HOME is the default "C:/". */
+	    if (STRCMP(vim_getenv((char_u *)"HOME", NULL), "C:/") == 0
+		    && mch_getenv((char_u *)"HOME") == NULL)
+#  else
 	    if (mch_getenv((char_u *)"HOME") == NULL)
+#  endif
 # endif
 	    {
 		/* don't use $VIM when not available. */
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1028,
+/**/
     1027,
 /**/
     1026,