diff options
author | Ding Xiang Fei <dingxiangfei2009@gmail.com> | 2018-09-10 15:07:50 +0800 |
---|---|---|
committer | Ding Xiang Fei <dingxiangfei2009@gmail.com> | 2018-09-10 15:43:17 +0800 |
commit | d6ac762bf7dcc844db28dcc2f2864d8cebbb5cf6 (patch) | |
tree | 70d5a23285ebcb0f643ca91f9ff20fc18cc22e9d /src/nix/repl.cc | |
parent | bba3f0a308cceb56bad4aa1efe13927360ae463f (diff) |
auto args on repl
Diffstat (limited to 'src/nix/repl.cc')
-rw-r--r-- | src/nix/repl.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nix/repl.cc b/src/nix/repl.cc index b71e6f905..1bbe256b2 100644 --- a/src/nix/repl.cc +++ b/src/nix/repl.cc @@ -31,6 +31,7 @@ struct NixRepl { string curDir; EvalState state; + Bindings * autoArgs; Strings loadedFiles; @@ -446,8 +447,7 @@ void NixRepl::loadFile(const Path & path) loadedFiles.push_back(path); Value v, v2; state.evalFile(lookupFileArg(state, path), v); - Bindings & bindings(*state.allocBindings(0)); - state.autoCallFunction(bindings, v, v2); + state.autoCallFunction(*autoArgs, v, v2); addAttrsToScope(v2); } @@ -699,6 +699,7 @@ struct CmdRepl : StoreCommand, MixEvalArgs void run(ref<Store> store) override { auto repl = std::make_unique<NixRepl>(searchPath, openStore()); + repl->autoArgs = getAutoArgs(repl->state); repl->mainLoop(files); } }; |