aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fix.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/fix.cc b/src/fix.cc
index 66ca5f1c2..ef3570334 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);
}