From 7e514d2aa5579ef5b0386deb8d6296a87742934e Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Tue, 16 Apr 2019 21:33:09 -0700 Subject: [PATCH] expand_abbreviation(): escape when looking up abbreviation vars This was doing exactly the opposite: unescaping and not hitting the encoded _fish_abbr_X variables when looking up. Fixes #5573 --- src/expand.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/expand.cpp b/src/expand.cpp index 079f0199f..4beb8ede8 100644 --- a/src/expand.cpp +++ b/src/expand.cpp @@ -1180,11 +1180,11 @@ bool fish_xdm_login_hack_hack_hack_hack(std::vector *cmds, int argc maybe_t expand_abbreviation(const wcstring &src, const environment_t &vars) { if (src.empty()) return none(); - wcstring unesc_src; - if (!unescape_string(src, &unesc_src, STRING_STYLE_VAR)) { + wcstring esc_src = escape_string(src, 0, STRING_STYLE_VAR); + if (esc_src.empty()) { return none(); } - wcstring var_name = L"_fish_abbr_" + unesc_src; + wcstring var_name = L"_fish_abbr_" + esc_src; if (auto var_value = vars.get(var_name)) { return var_value->as_string(); }