Mercurial > vim
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. */