[PATCH] list.h: don't evaluate macro args multiple times