diff --git a/src/builtin_fg.cpp b/src/builtin_fg.cpp index 7733b34c1..e7cdbe05c 100644 --- a/src/builtin_fg.cpp +++ b/src/builtin_fg.cpp @@ -102,7 +102,7 @@ int builtin_fg(parser_t &parser, io_streams_t &streams, wchar_t **argv) { } const wcstring ft = tok_first(j->command()); - if (!ft.empty()) env_set_one(L"_", ENV_EXPORT, ft); + if (!ft.empty()) env_set_one(L"fish_title", ENV_EXPORT, ft); reader_write_title(j->command()); job_promote(j); diff --git a/src/env.cpp b/src/env.cpp index f80efdd6d..a1e4f15ef 100644 --- a/src/env.cpp +++ b/src/env.cpp @@ -322,7 +322,7 @@ bool string_set_contains(const T &set, const wchar_t *val) { /// Check if a variable may not be set using the set command. static bool is_read_only(const wchar_t *val) { - const string_set_t env_read_only = {L"PWD", L"SHLVL", L"_", L"history", L"status", L"version", L"pid", L"hostname"}; + const string_set_t env_read_only = {L"PWD", L"SHLVL", L"history", L"status", L"version", L"pid", L"hostname", L"fish_title"}; return string_set_contains(env_read_only, val); } diff --git a/src/reader.cpp b/src/reader.cpp index 8e8e185f6..904ee004a 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -1620,7 +1620,7 @@ static void reader_interactive_init() { invalidate_termsize(); - env_set_one(L"_", ENV_GLOBAL, L"fish"); + env_set_one(L"fish_title", ENV_GLOBAL, L"fish"); } /// Destroy data for interactive use. @@ -1897,7 +1897,7 @@ void reader_run_command(parser_t &parser, const wcstring &cmd) { wcstring ft = tok_first(cmd); - if (!ft.empty()) env_set_one(L"_", ENV_GLOBAL, ft); + if (!ft.empty()) env_set_one(L"fish_title", ENV_GLOBAL, ft); reader_write_title(cmd); @@ -1913,7 +1913,7 @@ void reader_run_command(parser_t &parser, const wcstring &cmd) { term_steal(); - env_set_one(L"_", ENV_GLOBAL, program_name); + env_set_one(L"fish_title", ENV_GLOBAL, program_name); #ifdef HAVE__PROC_SELF_STAT proc_update_jiffies();