Simplify function_info_t and function_data_t

Work towards cleaning up function definition. Migrate inherit_vars into
props and capture their values at the point of definition.
This commit is contained in:
ridiculousfish
2019-11-12 09:53:10 -08:00
parent b0cf94e3ba
commit b51edcfcac
5 changed files with 40 additions and 67 deletions

View File

@@ -799,9 +799,8 @@ static block_t *function_prepare_environment(parser_t &parser, const process_t *
idx++;
}
std::map<wcstring, env_var_t> inherit_vars = function_get_inherit_vars(func_name);
for (const auto &kv : inherit_vars) {
vars.set(kv.first, ENV_LOCAL | ENV_USER, kv.second.as_list());
for (const auto &kv : props.inherit_vars) {
vars.set(kv.first, ENV_LOCAL | ENV_USER, kv.second);
}
vars.set_argv(std::move(argv));