From 3f10da0d0109ca5bb80f0322ddd8446d225d071a Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Wed, 11 Dec 2019 11:08:19 +0100 Subject: [PATCH] Persist new zero-length universal variables Because of default initialization to an empty list, code that relies on set -U __fish_init_3_x was run every time. --- src/env_universal_common.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/env_universal_common.cpp b/src/env_universal_common.cpp index 5e71a0248..2f6b23d21 100644 --- a/src/env_universal_common.cpp +++ b/src/env_universal_common.cpp @@ -268,8 +268,9 @@ maybe_t env_universal_t::get_flags(const wcstring &n void env_universal_t::set_internal(const wcstring &key, const env_var_t &var) { ASSERT_IS_LOCKED(lock); + bool new_entry = vars.count(key) == 0; env_var_t &entry = vars[key]; - if (entry != var) { + if (new_entry || entry != var) { entry = var; this->modified.insert(key); if (entry.exports()) export_generation += 1;