mirror of
https://github.com/neovim/neovim.git
synced 2025-12-16 03:15:39 +00:00
win: Append process dir to $PATH
This allows executables to be found by :!, system(), and executable() if
they live next to ("sibling" to) nvim.exe. This is what gvim on Windows
does, and also matches the behavior of Win32 SearchPath().
c4a249a736/src/os_win32.c (L354-L370)
This commit is contained in:
@@ -14,15 +14,15 @@ local cimp = cimport('./src/nvim/os/os.h')
|
||||
|
||||
describe('env function', function()
|
||||
local function os_setenv(name, value, override)
|
||||
return cimp.os_setenv((to_cstr(name)), (to_cstr(value)), override)
|
||||
return cimp.os_setenv(to_cstr(name), to_cstr(value), override)
|
||||
end
|
||||
|
||||
local function os_unsetenv(name, _, _)
|
||||
return cimp.os_unsetenv((to_cstr(name)))
|
||||
return cimp.os_unsetenv(to_cstr(name))
|
||||
end
|
||||
|
||||
local function os_getenv(name)
|
||||
local rval = cimp.os_getenv((to_cstr(name)))
|
||||
local rval = cimp.os_getenv(to_cstr(name))
|
||||
if rval ~= NULL then
|
||||
return ffi.string(rval)
|
||||
else
|
||||
@@ -52,6 +52,20 @@ describe('env function', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('os_setenv_append_path', function()
|
||||
it('appends /foo/bar to $PATH', function()
|
||||
local original_path = os.getenv('PATH')
|
||||
eq(true, cimp.os_setenv_append_path(to_cstr('/foo/bar/baz')))
|
||||
eq(original_path..':/foo/bar', os.getenv('PATH'))
|
||||
end)
|
||||
|
||||
it('returns false if `fname` is not absolute', function()
|
||||
local original_path = os.getenv('PATH')
|
||||
eq(false, cimp.os_setenv_append_path(to_cstr('foo/bar/baz')))
|
||||
eq(original_path, os.getenv('PATH'))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('os_getenv', function()
|
||||
it('reads an env variable', function()
|
||||
local name = 'NEOVIM_UNIT_TEST_GETENV_1N'
|
||||
|
||||
Reference in New Issue
Block a user