# HG changeset patch # User Christian Brabandt # Date 1504205104 -7200 # Node ID 98586656fcaee0a06fb074e587e57007c678a1be # Parent bd603ab3114fc979d4b6497eed324cb460d14edb 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 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:/". diff --git a/src/ex_cmds.c b/src/ex_cmds.c --- 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. */ diff --git a/src/version.c b/src/version.c --- 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,