patch 8.1.2168: heredoc assignment not skipped in if block

Problem:    Heredoc assignment not skipped in if block.
Solution:   Check if "skip" is set. (closes #5063)
diff --git a/src/evalvars.c b/src/evalvars.c
index 08a9cc2..eb198fd 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -756,10 +756,13 @@
 	if (l != NULL)
 	{
 	    rettv_list_set(&rettv, l);
-	    op[0] = '=';
-	    op[1] = NUL;
-	    (void)ex_let_vars(eap->arg, &rettv, FALSE, semicolon, var_count,
+	    if (!eap->skip)
+	    {
+		op[0] = '=';
+		op[1] = NUL;
+		(void)ex_let_vars(eap->arg, &rettv, FALSE, semicolon, var_count,
 								is_const, op);
+	    }
 	    clear_tv(&rettv);
 	}
     }
diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim
index 3bb5748..64d178c 100644
--- a/src/testdir/test_let.vim
+++ b/src/testdir/test_let.vim
@@ -295,4 +295,12 @@
   app
   END
   call assert_equal(['something', 'app'], var1)
+
+  let check = []
+  if 0
+     let check =<< trim END
+       from heredoc
+     END
+  endif
+  call assert_equal([], check)
 endfunc
diff --git a/src/version.c b/src/version.c
index 3bcd910..4f0e6fa 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2168,
+/**/
     2167,
 /**/
     2166,