don't add underscore names to extras

This commit is contained in:
Ben Burdette 2021-12-27 13:47:35 -07:00
parent e5eebda194
commit d0d5890445

View file

@ -716,18 +716,34 @@ void mapStaticEnvBindings(const StaticEnv &se, const Env &env, valmap & vm)
// add bindings for the next level up first, so that the bindings for this level
// override the higher levels.
if (env.up && se.up) {
mapStaticEnvBindings( *se.up, *env.up,vm);
}
mapStaticEnvBindings( *se.up, *env.up,vm);
// iterate through staticenv bindings and add them.
auto map = valmap();
for (auto iter = se.vars.begin(); iter != se.vars.end(); ++iter)
// iterate through staticenv bindings and add them.
auto map = valmap();
for (auto iter = se.vars.begin(); iter != se.vars.end(); ++iter)
{
map[iter->first] = env.values[iter->second];
}
vm.merge(map);
}
else
{
map[iter->first] = env.values[iter->second];
std::cout << " -------------------- " << std::endl;
// iterate through staticenv bindings and add them,
// except for the __* ones.
auto map = valmap();
for (auto iter = se.vars.begin(); iter != se.vars.end(); ++iter)
{
std::cout << iter->first << std::endl;
std::string s = iter->first;
if (s.substr(0,2) != "__") {
map[iter->first] = env.values[iter->second];
}
}
vm.merge(map);
}
vm.merge(map);
}