patch 8.2.4897: comment inside an expression in lambda ignores the rest

Problem:    Comment inside an expression in lambda ignores the rest of the
            expression.
Solution:   Truncate the line at the comment. (closes #10367)
diff --git a/src/eval.c b/src/eval.c
index 317446c..41094cd 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2208,8 +2208,15 @@
     garray_T	*gap = &evalarg->eval_ga;
     char_u	*line;
 
-    if (arg != NULL && *arg == NL)
-	return skipwhite(arg + 1);
+    if (arg != NULL)
+    {
+	if (*arg == NL)
+	    return skipwhite(arg + 1);
+	// Truncate before a trailing comment, so that concatenating the lines
+	// won't turn the rest into a comment.
+	if (*skipwhite(arg) == '#')
+	    *arg = NUL;
+    }
 
     if (evalarg->eval_cookie != NULL)
 	line = evalarg->eval_getline(0, evalarg->eval_cookie, 0,