patch 7.4.1816
Problem:    Looping over a null list throws an error.
Solution:   Skip over the for loop.
diff --git a/src/eval.c b/src/eval.c
index fa2f839..83bac72 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3292,11 +3292,16 @@
 	if (!skip)
 	{
 	    l = tv.vval.v_list;
-	    if (tv.v_type != VAR_LIST || l == NULL)
+	    if (tv.v_type != VAR_LIST)
 	    {
 		EMSG(_(e_listreq));
 		clear_tv(&tv);
 	    }
+	    else if (l == NULL)
+	    {
+		/* a null list is like an empty list: do nothing */
+		clear_tv(&tv);
+	    }
 	    else
 	    {
 		/* No need to increment the refcount, it's already set for the