forked from lix-project/lix
* Support singleton values and nested lists again in `args', but print
a warning.
This commit is contained in:
parent
2132d9ddeb
commit
547b119f25
|
@ -269,7 +269,11 @@ static Expr primDerivationStrict(EvalState & state, const ATermVector & args)
|
|||
if (key == "args") {
|
||||
ATermList es;
|
||||
value = evalExpr(state, value);
|
||||
if (!matchList(value, es)) throw Error(format("`args' should be a list %1%") % value);
|
||||
if (!matchList(value, es)) {
|
||||
static bool haveWarned = false;
|
||||
warnOnce(haveWarned, "the `args' attribute should evaluate to a list");
|
||||
es = flattenList(state, value);
|
||||
}
|
||||
for (ATermIterator i(es); i; ++i) {
|
||||
string s;
|
||||
toString(state, *i, context, s);
|
||||
|
|
|
@ -44,13 +44,10 @@ Path makeRootName(const Path & gcRoot, int & counter)
|
|||
|
||||
void printGCWarning()
|
||||
{
|
||||
static bool warned = false;
|
||||
if (!warned) {
|
||||
printMsg(lvlInfo,
|
||||
"warning: you did not specify `--add-root'; "
|
||||
"the result might be removed by the garbage collector");
|
||||
warned = true;
|
||||
}
|
||||
static bool haveWarned = false;
|
||||
warnOnce(haveWarned,
|
||||
"warning: you did not specify `--add-root'; "
|
||||
"the result might be removed by the garbage collector");
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue