about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/fix.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/fix.cc b/src/fix.cc
index 66ca5f1c2186..ef35703342bf 100644
--- a/src/fix.cc
+++ b/src/fix.cc
@@ -169,6 +169,18 @@ static string processBinding(EvalState & state, Expr e, FState & fs)
     if (ATmatch(e, "True")) return "1";
     
     if (ATmatch(e, "False")) return "";
+
+    ATermList l;
+    if (ATmatch(e, "[<list>]", &l)) {
+	string s;
+	bool first = true;
+        while (!ATisEmpty(l)) {
+	    if (!first) s = s + " "; else first = false;
+	    s += processBinding(state, evalExpr(state, ATgetFirst(l)), fs);
+            l = ATgetNext(l);
+        }
+	return s;
+    }
     
     throw badTerm("invalid package binding", e);
 }