diff --git a/src/dict.c b/src/dict.c
index be3282d..079eb3e 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -805,7 +805,6 @@
     char_u	buf[NUMBUFLEN];
     int		vim9script = current_sctx.sc_version == SCRIPT_VERSION_VIM9;
     int		had_comma;
-    int		getnext;
 
     /*
      * First check if it's not a curly-braces thing: {expr}.
@@ -831,10 +830,7 @@
     tvkey.v_type = VAR_UNKNOWN;
     tv.v_type = VAR_UNKNOWN;
 
-    *arg = skipwhite(*arg + 1);
-    eval_next_non_blank(*arg, evalarg, &getnext);
-    if (getnext)
-	*arg = eval_next_line(evalarg);
+    *arg = skipwhite_and_linebreak(*arg + 1, evalarg);
     while (**arg != '}' && **arg != NUL)
     {
 	if ((literal
@@ -866,10 +862,7 @@
 	    goto failret;
 	}
 
-	*arg = skipwhite(*arg + 1);
-	eval_next_non_blank(*arg, evalarg, &getnext);
-	if (getnext)
-	    *arg = eval_next_line(evalarg);
+	*arg = skipwhite_and_linebreak(*arg + 1, evalarg);
 	if (eval1(arg, &tv, evalarg) == FAIL)	// recursive!
 	{
 	    if (evaluate)
@@ -911,9 +904,7 @@
 	}
 
 	// the "}" can be on the next line
-	eval_next_non_blank(*arg, evalarg, &getnext);
-	if (getnext)
-	    *arg = eval_next_line(evalarg);
+	*arg = skipwhite_and_linebreak(*arg, evalarg);
 	if (**arg == '}')
 	    break;
 	if (!had_comma)
diff --git a/src/eval.c b/src/eval.c
index 86d81fa..ca98d2e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1871,6 +1871,18 @@
     return skipwhite(line);
 }
 
+    char_u *
+skipwhite_and_linebreak(char_u *arg, evalarg_T *evalarg)
+{
+    int	    getnext;
+    char_u  *p = skipwhite(arg);
+
+    eval_next_non_blank(p, evalarg, &getnext);
+    if (getnext)
+	return eval_next_line(evalarg);
+    return p;
+}
+
 /*
  * The "evaluate" argument: When FALSE, the argument is only parsed but not
  * executed.  The function may return OK, but the rettv will be of type
@@ -1998,7 +2010,7 @@
 	/*
 	 * Get the second variable.  Recursive!
 	 */
-	*arg = skipwhite(*arg + 1);
+	*arg = skipwhite_and_linebreak(*arg + 1, evalarg);
 	nested_evalarg.eval_flags = result ? orig_flags
 						 : orig_flags & ~EVAL_EVALUATE;
 	if (eval1(arg, rettv, &nested_evalarg) == FAIL)
@@ -2021,7 +2033,7 @@
 	/*
 	 * Get the third variable.  Recursive!
 	 */
-	*arg = skipwhite(*arg + 1);
+	*arg = skipwhite_and_linebreak(*arg + 1, evalarg);
 	nested_evalarg.eval_flags = !result ? orig_flags
 						 : orig_flags & ~EVAL_EVALUATE;
 	if (eval1(arg, &var2, &nested_evalarg) == FAIL)
@@ -2103,7 +2115,7 @@
 	/*
 	 * Get the second variable.
 	 */
-	*arg = skipwhite(*arg + 2);
+	*arg = skipwhite_and_linebreak(*arg + 2, evalarg);
 	nested_evalarg.eval_flags = !result ? orig_flags
 						 : orig_flags & ~EVAL_EVALUATE;
 	if (eval3(arg, &var2, &nested_evalarg) == FAIL)
@@ -2197,7 +2209,7 @@
 	/*
 	 * Get the second variable.
 	 */
-	*arg = skipwhite(*arg + 2);
+	*arg = skipwhite_and_linebreak(*arg + 2, evalarg);
 	nested_evalarg.eval_flags = result ? orig_flags
 						 : orig_flags & ~EVAL_EVALUATE;
 	if (eval4(arg, &var2, &nested_evalarg) == FAIL)
@@ -2328,7 +2340,7 @@
 	/*
 	 * Get the second variable.
 	 */
-	*arg = skipwhite(p + len);
+	*arg = skipwhite_and_linebreak(p + len, evalarg);
 	if (eval5(arg, &var2, evalarg) == FAIL)
 	{
 	    clear_tv(rettv);
@@ -2452,10 +2464,7 @@
 	 */
 	if (op == '.' && *(*arg + 1) == '.')  // .. string concatenation
 	    ++*arg;
-	*arg = skipwhite(*arg + 1);
-	eval_next_non_blank(*arg, evalarg, &getnext);
-	if (getnext)
-	    *arg = eval_next_line(evalarg);
+	*arg = skipwhite_and_linebreak(*arg + 1, evalarg);
 	if (eval6(arg, &var2, evalarg, op == '.') == FAIL)
 	{
 	    clear_tv(rettv);
@@ -2893,18 +2902,10 @@
      * nested expression: (expression).
      */
     case '(':	{
-		    int getnext;
-
-		    *arg = skipwhite(*arg + 1);
-		    eval_next_non_blank(*arg, evalarg, &getnext);
-		    if (getnext)
-			*arg = eval_next_line(evalarg);
-
+		    *arg = skipwhite_and_linebreak(*arg + 1, evalarg);
 		    ret = eval1(arg, rettv, evalarg);	// recursive!
 
-		    eval_next_non_blank(*arg, evalarg, &getnext);
-		    if (getnext)
-			*arg = eval_next_line(evalarg);
+		    *arg = skipwhite_and_linebreak(*arg, evalarg);
 		    if (**arg == ')')
 			++*arg;
 		    else if (ret == OK)
diff --git a/src/list.c b/src/list.c
index c2c4856..56ed5fc 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1164,7 +1164,6 @@
 {
     int		evaluate = evalarg == NULL ? FALSE
 					 : evalarg->eval_flags & EVAL_EVALUATE;
-    int		getnext;
     list_T	*l = NULL;
     typval_T	tv;
     listitem_T	*item;
@@ -1178,10 +1177,7 @@
 	    return FAIL;
     }
 
-    *arg = skipwhite(*arg + 1);
-    eval_next_non_blank(*arg, evalarg, &getnext);
-    if (getnext)
-	*arg = eval_next_line(evalarg);
+    *arg = skipwhite_and_linebreak(*arg + 1, evalarg);
     while (**arg != ']' && **arg != NUL)
     {
 	if (eval1(arg, &tv, evalarg) == FAIL)	// recursive!
@@ -1212,9 +1208,7 @@
 	}
 
 	// the "]" can be on the next line
-	eval_next_non_blank(*arg, evalarg, &getnext);
-	if (getnext)
-	    *arg = eval_next_line(evalarg);
+	*arg = skipwhite_and_linebreak(*arg, evalarg);
 	if (**arg == ']')
 	    break;
 
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index c66e331..9170385 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -29,6 +29,7 @@
 int pattern_match(char_u *pat, char_u *text, int ic);
 char_u *eval_next_non_blank(char_u *arg, evalarg_T *evalarg, int *getnext);
 char_u *eval_next_line(evalarg_T *evalarg);
+char_u *skipwhite_and_linebreak(char_u *arg, evalarg_T *evalarg);
 int eval0(char_u *arg, typval_T *rettv, exarg_T *eap, evalarg_T *evalarg);
 int eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg);
 void eval_addblob(typval_T *tv1, typval_T *tv2);
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 0d2a2b0..bf4f7d2 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -64,6 +64,15 @@
       assert_equal('no', var)
   END
   CheckScriptSuccess(lines)
+
+  lines =<< trim END
+      vim9script
+      let var = v:false ?
+      		'yes' :
+		'no'
+      assert_equal('no', var)
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 func Test_expr1_fails()
@@ -135,6 +144,15 @@
       assert_equal(1, var)
   END
   CheckScriptSuccess(lines)
+
+  lines =<< trim END
+      vim9script
+      let var = v:false ||
+      		v:true ||
+		v:false
+      assert_equal(1, var)
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 func Test_expr2_fails()
@@ -198,6 +216,15 @@
       assert_equal(1, var)
   END
   CheckScriptSuccess(lines)
+
+  lines =<< trim END
+      vim9script
+      let var = v:true &&
+      		v:true &&
+      		v:true
+      assert_equal(1, var)
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 func Test_expr3_fails()
@@ -549,6 +576,14 @@
 
   lines =<< trim END
       vim9script
+      let var = 123 ==
+      			123
+      assert_equal(1, var)
+  END
+  CheckScriptSuccess(lines)
+
+  lines =<< trim END
+      vim9script
       let list = [1, 2, 3]
       let var = list
       		is list
diff --git a/src/userfunc.c b/src/userfunc.c
index b358ecb..51c437f 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -402,17 +402,17 @@
     partial_T   *pt = NULL;
     int		varargs;
     int		ret;
-    char_u	*start = skipwhite(*arg + 1);
+    char_u	*start;
     char_u	*s, *e;
     int		*old_eval_lavars = eval_lavars_used;
     int		eval_lavars = FALSE;
-    int		getnext;
     char_u	*tofree = NULL;
 
     ga_init(&newargs);
     ga_init(&newlines);
 
     // First, check if this is a lambda expression. "->" must exist.
+    start = skipwhite(*arg + 1);
     ret = get_function_args(&start, '-', NULL, NULL, NULL, NULL, TRUE,
 								   NULL, NULL);
     if (ret == FAIL || *start != '>')
@@ -435,10 +435,7 @@
 	eval_lavars_used = &eval_lavars;
 
     // Get the start and the end of the expression.
-    *arg = skipwhite(*arg + 1);
-    eval_next_non_blank(*arg, evalarg, &getnext);
-    if (getnext)
-	*arg = eval_next_line(evalarg);
+    *arg = skipwhite_and_linebreak(*arg + 1, evalarg);
     s = *arg;
     ret = skip_expr_concatenate(&s, arg, evalarg);
     if (ret == FAIL)
@@ -451,10 +448,7 @@
     }
 
     e = *arg;
-    *arg = skipwhite(*arg);
-    eval_next_non_blank(*arg, evalarg, &getnext);
-    if (getnext)
-	*arg = eval_next_line(evalarg);
+    *arg = skipwhite_and_linebreak(*arg, evalarg);
     if (**arg != '}')
     {
 	semsg(_("E451: Expected }: %s"), *arg);
diff --git a/src/version.c b/src/version.c
index 4184a69..dc05521 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1074,
+/**/
     1073,
 /**/
     1072,
