patch 8.2.0500: using the same loop in many places

Problem:    Using the same loop in many places.
Solution:   Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)
diff --git a/src/evalvars.c b/src/evalvars.c
index 35d038d..7e40886 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1698,7 +1698,7 @@
 		    l->lv_lock &= ~VAR_LOCKED;
 		if ((deep < 0 || deep > 1) && l->lv_first != &range_list_item)
 		    // recursive: lock/unlock the items the List contains
-		    for (li = l->lv_first; li != NULL; li = li->li_next)
+		    FOR_ALL_LIST_ITEMS(l, li)
 			item_lock(&li->li_tv, deep - 1, lock);
 	    }
 	    break;