0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.0.0419: test for v:progpath fails on MS-Windows

Problem:    Test for v:progpath fails on MS-Windows.
Solution:   Expand to full path.  Also add ".exe" when the path is an absolute
            path.
This commit is contained in:
Bram Moolenaar
2017-03-05 15:19:32 +01:00
parent a382868115
commit 066029ef92
3 changed files with 21 additions and 15 deletions

View File

@@ -3533,31 +3533,30 @@ time_msg(
set_progpath(char_u *argv0)
{
char_u *val = argv0;
#ifdef WIN32
char_u *path = NULL;
#else
char_u buf[MAXPATHL];
#endif
/* A relative path containing a "/" will become invalid when using ":cd",
* turn it into a full path.
* On MS-Windows "vim.exe" is found in the current directory, thus also do
* it when there is no path and the file exists. */
* On MS-Windows "vim" should be expanded to "vim.exe", thus always do
* this. */
# ifdef WIN32
char_u *path = NULL;
if (mch_can_exe(argv0, &path, FALSE) && path != NULL)
val = path;
# else
char_u buf[MAXPATHL];
if (!mch_isFullName(argv0))
{
# ifdef WIN32
if (mch_can_exe(argv0, &path, FALSE) && path != NULL)
val = path;
# else
if (gettail(argv0) != argv0
&& vim_FullName(argv0, buf, MAXPATHL, TRUE) != FAIL)
val = buf;
# endif
}
# endif
set_vim_var_string(VV_PROGPATH, val, -1);
#ifdef WIN32
# ifdef WIN32
vim_free(path);
#endif
# endif
}
#endif /* NO_VIM_MAIN */