changeset 9690:4a7a88404076 v7.4.2121

commit https://github.com/vim/vim/commit/9532fe7fbe1b14531931e83bd9f8054efdcf7509 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jul 29 22:50:35 2016 +0200 patch 7.4.2121 Problem: No easy way to check if lambda and closure are supported. Solution: Add the +lambda feature.
author Christian Brabandt <cb@256bit.org>
date Fri, 29 Jul 2016 23:00:06 +0200
parents 75466263dfbd
children 8b7d22c7a9ab
files src/evalfunc.c src/testdir/test_lambda.vim src/version.c
diffstat 3 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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}))
--- 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,