Remove read_only stuff from env_var_t

This doesn't work.

The real thing that tells if something is read-only is
electric_var_t::readonly().

This wasn't used, and we provide no way to make a variable read-only,
which makes this an unnecessary footgun.
This commit is contained in:
Fabian Homborg 2021-07-30 15:30:17 +02:00
parent dd3cdbcfc9
commit 80888eed57
2 changed files with 1 additions and 13 deletions

View File

@ -1054,8 +1054,7 @@ void env_stack_impl_t::set_in_node(const env_node_ref_t &node, const wcstring &k
var = var.setting_vals(std::move(val))
.setting_exports(res_exports)
.setting_pathvar(res_pathvar)
.setting_read_only(is_read_only(key));
.setting_pathvar(res_pathvar);
// Perhaps mark that this node contains an exported variable, or shadows an exported variable.
// If so regenerate the export list.

View File

@ -128,7 +128,6 @@ class env_var_t {
env_var_t(const wchar_t *name, wcstring val) : env_var_t(std::move(val), flags_for(name)) {}
bool empty() const { return vals_->empty() || (vals_->size() == 1 && vals_->front().empty()); }
bool read_only() const { return flags_ & flag_read_only; }
bool exports() const { return flags_ & flag_export; }
bool is_pathvar() const { return flags_ & flag_pathvar; }
env_var_flags_t get_flags() const { return flags_; }
@ -165,16 +164,6 @@ class env_var_t {
return env_var_t{vals_, flags};
}
env_var_t setting_read_only(bool read_only) const {
env_var_flags_t flags = flags_;
if (read_only) {
flags |= flag_read_only;
} else {
flags &= ~flag_read_only;
}
return env_var_t{vals_, flags};
}
static env_var_flags_t flags_for(const wchar_t *name);
static std::shared_ptr<const wcstring_list_t> empty_list();