mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
exists(): return false for empty env var #10657
Fixes https://github.com/neovim/neovim/issues/3266 close #10657
This commit is contained in:
parent
5aa97937e7
commit
06d9cc734b
@ -8718,7 +8718,7 @@ static void f_exists(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
const char *p = tv_get_string(&argvars[0]);
|
||||
if (*p == '$') { // Environment variable.
|
||||
// First try "normal" environment variables (fast).
|
||||
if (os_getenv(p + 1) != NULL) {
|
||||
if (os_env_exists(p + 1)) {
|
||||
n = true;
|
||||
} else {
|
||||
// Try expanding things like $VIM and ${HOME}.
|
||||
|
@ -2,11 +2,17 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
local clear = helpers.clear
|
||||
local eq = helpers.eq
|
||||
local environ = helpers.funcs.environ
|
||||
local exists = helpers.funcs.exists
|
||||
|
||||
describe('environ()', function()
|
||||
it('handles empty env variable', function()
|
||||
describe('environment variables', function()
|
||||
it('environ() handles empty env variable', function()
|
||||
clear({env={EMPTY_VAR=""}})
|
||||
eq("", environ()['EMPTY_VAR'])
|
||||
eq(nil, environ()['DOES_NOT_EXIST'])
|
||||
end)
|
||||
it('exists() handles empty env variable', function()
|
||||
clear({env={EMPTY_VAR=""}})
|
||||
eq(1, exists('$EMPTY_VAR'))
|
||||
eq(0, exists('$DOES_NOT_EXIST'))
|
||||
end)
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user