summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-03-10 16:08:26 +0100
committerBram Moolenaar <Bram@vim.org>2021-03-10 16:08:26 +0100
commit7ad67d1150a1e48371d64e2919591c38b80e7cfc (patch)
treef92b2c58722bb67749c0154a83eb1167af5a623a /src
parentffb7dcdb773c250a6acf45d5670a508be9248cb6 (diff)
downloadvim-git-7ad67d1150a1e48371d64e2919591c38b80e7cfc.tar.gz
patch 8.2.2583: Vim9: cannot compare result of getenv() with nullv8.2.2583
Problem: Vim9: cannot compare result of getenv() with null. Solution: Make the return type of getenv() "any". (closes #7943)
Diffstat (limited to 'src')
-rw-r--r--src/evalfunc.c2
-rw-r--r--src/testdir/test_vim9_builtin.vim13
-rw-r--r--src/version.c2
3 files changed, 16 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index bee76c6ea..29bbe8ab8 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1021,7 +1021,7 @@ static funcentry_T global_functions[] =
{"getcwd", 0, 2, FEARG_1, NULL,
ret_string, f_getcwd},
{"getenv", 1, 1, FEARG_1, NULL,
- ret_string, f_getenv},
+ ret_any, f_getenv},
{"getfontname", 0, 1, 0, NULL,
ret_string, f_getfontname},
{"getfperm", 1, 1, FEARG_1, NULL,
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 3ee8a620f..8ec3db148 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -472,6 +472,19 @@ def Test_getchar()
getchar(true)->assert_equal(0)
enddef
+def Test_getenv()
+ if getenv('does-not_exist') == ''
+ assert_report('getenv() should return null')
+ endif
+ if getenv('does-not_exist') == null
+ else
+ assert_report('getenv() should return null')
+ endif
+ $SOMEENVVAR = 'some'
+ assert_equal('some', getenv('SOMEENVVAR'))
+ unlet $SOMEENVVAR
+enddef
+
def Test_getcompletion()
set wildignore=*.vim,*~
var l = getcompletion('run', 'file', true)
diff --git a/src/version.c b/src/version.c
index 447b6e6e3..2dbf24a64 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2583,
+/**/
2582,
/**/
2581,