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/cmdexpand.c b/src/cmdexpand.c
index 1f70dc5..4f9b3ca 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -2587,7 +2587,7 @@
 
     ga_init2(&ga, (int)sizeof(char *), 3);
     // Loop over the items in the list.
-    for (li = retlist->lv_first; li != NULL; li = li->li_next)
+    FOR_ALL_LIST_ITEMS(retlist, li)
     {
 	if (li->li_tv.v_type != VAR_STRING || li->li_tv.vval.v_string == NULL)
 	    continue;  // Skip non-string items and empty strings