adding all the value names from env.values[0]

This commit is contained in:
Ben Burdette 2021-08-25 11:19:09 -06:00
parent bd3b5329f9
commit d8a977a22e
2 changed files with 12 additions and 14 deletions

View file

@ -103,7 +103,7 @@ extern std::function<void(const Error & error, const Env & env)> debuggerHook;
ref<EvalState> EvalCommand::getEvalState() ref<EvalState> EvalCommand::getEvalState()
{ {
std::cout << " EvalCommand::getEvalState()" << startReplOnEvalErrors << std::endl; std::cout << "EvalCommand::getEvalState()" << startReplOnEvalErrors << std::endl;
if (!evalState) { if (!evalState) {
evalState = std::make_shared<EvalState>(searchPath, getStore()); evalState = std::make_shared<EvalState>(searchPath, getStore());
if (startReplOnEvalErrors) if (startReplOnEvalErrors)

View file

@ -698,21 +698,19 @@ void mapEnvBindings(const Env &env, valmap & vm)
} }
// merge - and write over - higher level bindings. // merge - and write over - higher level bindings.
if (env.valuemap) if (env.values[0]->type() == nAttrs) {
vm.merge(*env.valuemap); auto map = valmap();
Bindings::iterator j = env.values[0]->attrs->begin();
while (j != env.values[0]->attrs->end()) {
map[j->name] = j->value;
j++;
}
vm.merge(map);
}
} }
// void mapEnvBindings(const Env &env, valmap & vm)
// {
// // add bindings for the next level up first.
// if (env.up) {
// mapEnvBindings(*env.up, vm);
// }
// // merge - and write over - higher level bindings.
// if (env.valuemap)
// vm.merge(*env.valuemap);
// }
valmap * mapEnvBindings(const Env &env) valmap * mapEnvBindings(const Env &env)
{ {