Merge pull request #2412 from dingxiangfei2009/patch-repl-autoargs

nix repl respects --arg and --argstr
This commit is contained in:
Eelco Dolstra 2018-09-10 10:50:51 +02:00 committed by GitHub
commit 5b2fdfdca2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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);
}
};