patch 8.2.3058: Vim9: cannot use ternary operator in parenthesis

Problem:    Vim9: cannot use ternary operator in parenthesis.
Solution:   Do not use "==" for a default argument value.  (closes #8462)
diff --git a/src/userfunc.c b/src/userfunc.c
index cedd37b..3321f08 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -266,13 +266,18 @@
 	}
 	else
 	{
+	    char_u *np;
+
 	    arg = p;
 	    p = one_function_arg(p, newargs, argtypes, types_optional,
 							 evalarg, FALSE, skip);
 	    if (p == arg)
 		break;
 
-	    if (*skipwhite(p) == '=' && default_args != NULL)
+	    // Recognize " = expr" but not " == expr".  A lambda can have
+	    // "(a = expr" but "(a == expr" is not a lambda.
+	    np = skipwhite(p);
+	    if (*np == '=' && np[1] != '=' && default_args != NULL)
 	    {
 		typval_T	rettv;