From 2008415106144a3809b3b84a40f551d2ffe39472 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Tue, 19 May 2015 22:13:55 -0700 Subject: Unescape the token returned by builtin_commandline Fixes #2075 --- builtin_commandline.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/builtin_commandline.cpp b/builtin_commandline.cpp index 339cb0d1..01bc123a 100644 --- a/builtin_commandline.cpp +++ b/builtin_commandline.cpp @@ -206,7 +206,9 @@ static void write_part(const wchar_t *begin, { case TOK_STRING: { - out.append(escape_string(tok_last(&tok), UNESCAPE_INCOMPLETE)); + wcstring tmp = tok_last(&tok); + unescape_string_in_place(&tmp, UNESCAPE_INCOMPLETE); + out.append(tmp); out.push_back(L'\n'); break; } @@ -230,8 +232,9 @@ static void write_part(const wchar_t *begin, } // debug( 0, L"woot2 %ls -> %ls", buff, esc ); - - stdout_buffer.append(begin, end - begin); + wcstring tmp = wcstring(begin, end - begin); + unescape_string_in_place(&tmp, UNESCAPE_INCOMPLETE); + stdout_buffer.append(tmp); stdout_buffer.append(L"\n"); } -- cgit v1.2.3