diff options
Diffstat (limited to 'src/nix-instantiate/nix-instantiate.cc')
-rw-r--r-- | src/nix-instantiate/nix-instantiate.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/nix-instantiate/nix-instantiate.cc b/src/nix-instantiate/nix-instantiate.cc index afd16b3a52bb..7cdabcb92402 100644 --- a/src/nix-instantiate/nix-instantiate.cc +++ b/src/nix-instantiate/nix-instantiate.cc @@ -52,14 +52,19 @@ void processExpr(EvalState & state, const Strings & attrPaths, state.forceValue(v); PathSet context; - if (evalOnly) + if (evalOnly) { + Value vRes; + if (autoArgs.empty()) + vRes = v; + else + state.autoCallFunction(autoArgs, v, vRes); if (xmlOutput) - printValueAsXML(state, strict, location, v, std::cout, context); + printValueAsXML(state, strict, location, vRes, std::cout, context); else { - if (strict) state.strictForceValue(v); - std::cout << v << std::endl; + if (strict) state.strictForceValue(vRes); + std::cout << vRes << std::endl; } - else { + } else { DrvInfos drvs; getDerivations(state, v, "", autoArgs, drvs, false); foreach (DrvInfos::iterator, i, drvs) { |