patch 7.4.2139
Problem:    :delfunction causes illegal memory access.
Solution:   Correct logic when deciding to free a function.
diff --git a/src/testdir/test_lambda.vim b/src/testdir/test_lambda.vim
index 721c47d..1df1f1c 100644
--- a/src/testdir/test_lambda.vim
+++ b/src/testdir/test_lambda.vim
@@ -267,7 +267,6 @@
   call assert_equal(2, g:Count())
   call assert_equal(3, g:Count2())
 
-  " This causes memory access errors.
-  " delfunc LambdaFoo
-  " delfunc LambdaBar
+  delfunc LambdaFoo
+  delfunc LambdaBar
 endfunc
diff --git a/src/userfunc.c b/src/userfunc.c
index a9dc4e8..b742046 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -2711,7 +2711,7 @@
 	     * Numbered functions and lambdas snould be kept if the refcount is
 	     * one or more. */
 	    if (fp->uf_refcount > (isdigit(fp->uf_name[0])
-					     || fp->uf_name[0] == '<') ? 0 : 1)
+					     || fp->uf_name[0] == '<' ? 0 : 1))
 	    {
 		/* Function is still referenced somewhere.  Don't free it but
 		 * do remove it from the hashtable. */
diff --git a/src/version.c b/src/version.c
index f1eb1ff..6f505db 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2139,
+/**/
     2138,
 /**/
     2137,