mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-22 04:01:19 +08:00
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:
parent
dd3cdbcfc9
commit
80888eed57
@ -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))
|
var = var.setting_vals(std::move(val))
|
||||||
.setting_exports(res_exports)
|
.setting_exports(res_exports)
|
||||||
.setting_pathvar(res_pathvar)
|
.setting_pathvar(res_pathvar);
|
||||||
.setting_read_only(is_read_only(key));
|
|
||||||
|
|
||||||
// Perhaps mark that this node contains an exported variable, or shadows an exported variable.
|
// Perhaps mark that this node contains an exported variable, or shadows an exported variable.
|
||||||
// If so regenerate the export list.
|
// If so regenerate the export list.
|
||||||
|
11
src/env.h
11
src/env.h
@ -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)) {}
|
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 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 exports() const { return flags_ & flag_export; }
|
||||||
bool is_pathvar() const { return flags_ & flag_pathvar; }
|
bool is_pathvar() const { return flags_ & flag_pathvar; }
|
||||||
env_var_flags_t get_flags() const { return flags_; }
|
env_var_flags_t get_flags() const { return flags_; }
|
||||||
@ -165,16 +164,6 @@ class env_var_t {
|
|||||||
return env_var_t{vals_, flags};
|
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 env_var_flags_t flags_for(const wchar_t *name);
|
||||||
static std::shared_ptr<const wcstring_list_t> empty_list();
|
static std::shared_ptr<const wcstring_list_t> empty_list();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user