don't add underscore names to extras
This commit is contained in:
parent
e5eebda194
commit
d0d5890445
1 changed files with 25 additions and 9 deletions
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue