diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-07-29 22:50:35 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-07-29 22:50:35 +0200 |
commit | 9532fe7fbe1b14531931e83bd9f8054efdcf7509 (patch) | |
tree | 08ebc6f99eb5addae13e2ead7be4dda9fd03445b | |
parent | 10ce39a0d52272a3dfff2feb8c631529f29e6740 (diff) | |
download | vim-git-9532fe7fbe1b14531931e83bd9f8054efdcf7509.tar.gz |
patch 7.4.2121v7.4.2121
Problem: No easy way to check if lambda and closure are supported.
Solution: Add the +lambda feature.
-rw-r--r-- | src/evalfunc.c | 1 | ||||
-rw-r--r-- | src/testdir/test_lambda.vim | 4 | ||||
-rw-r--r-- | src/version.c | 7 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 53783af74..f66584242 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -5205,6 +5205,7 @@ f_has(typval_T *argvars, typval_T *rettv) #ifdef FEAT_KEYMAP "keymap", #endif + "lambda", /* always with FEAT_EVAL, since 7.4.2120 with closure */ #ifdef FEAT_LANGMAP "langmap", #endif diff --git a/src/testdir/test_lambda.vim b/src/testdir/test_lambda.vim index 9eb34e434..511873807 100644 --- a/src/testdir/test_lambda.vim +++ b/src/testdir/test_lambda.vim @@ -1,5 +1,9 @@ " Test for lambda and closure +function! Test_lambda_feature() + call assert_equal(1, has('lambda')) +endfunction + function! Test_lambda_with_filter() let s:x = 2 call assert_equal([2, 3], filter([1, 2, 3], {i, v -> v >= s:x})) diff --git a/src/version.c b/src/version.c index 7e8ca166e..4af1468a7 100644 --- a/src/version.c +++ b/src/version.c @@ -304,6 +304,11 @@ static char *(features[]) = #else "-keymap", #endif +#ifdef FEAT_EVAL + "+lambda", +#else + "-lambda", +#endif #ifdef FEAT_LANGMAP "+langmap", #else @@ -759,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2121, +/**/ 2120, /**/ 2119, |