mirror of
https://github.com/neovim/neovim.git
synced 2025-10-05 01:16:31 +00:00
win: avoid duplicate separators in $PATH #12869
Seems like redundant env var separators (";" on Windows) in $PATH can
cause weird behavior. From #7377:
> After some time, system(['win32yank', '-o']) and system('win32yank -o')
> start returning different results: specifically first returns an
> empty string.
>
> 1. $PATH weirdly contains double semicolon followed by path to the
> “installation directory” (unpacked directory from archive).
> 2. If I run `let $PATH=substitute($PATH, ';;', ';', 'g')` the problem is fixed.
close #7377
ref 224f99b85d
This commit is contained in:
@@ -1176,7 +1176,9 @@ bool os_setenv_append_path(const char *fname)
|
||||
temp[0] = NUL;
|
||||
} else {
|
||||
xstrlcpy(temp, path, newlen);
|
||||
xstrlcat(temp, ENV_SEPSTR, newlen);
|
||||
if (ENV_SEPCHAR != path[pathlen - 1]) {
|
||||
xstrlcat(temp, ENV_SEPSTR, newlen);
|
||||
}
|
||||
}
|
||||
xstrlcat(temp, os_buf, newlen);
|
||||
os_setenv("PATH", temp, 1);
|
||||
|
Reference in New Issue
Block a user