From 24059924b142744e3edfd61d31af9dafb27f78e2 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Sun, 8 Jul 2012 18:40:50 -0700 Subject: [PATCH] Fix for https://github.com/fish-shell/fish-shell/issues/50 Unescape characters before calling parser.error --- expand.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/expand.cpp b/expand.cpp index 0d4c84cbe..26b6e2d5b 100644 --- a/expand.cpp +++ b/expand.cpp @@ -715,10 +715,17 @@ void expand_variable_error( parser_t &parser, const wchar_t *token, int token_po default: { + wchar_t token_stop_char = token[stop_pos]; + // Unescape (see http://github.com/fish-shell/fish-shell/issues/50) + if (token_stop_char == ANY_CHAR) + token_stop_char = L'?'; + else if (token_stop_char == ANY_STRING || token_stop_char == ANY_STRING_RECURSIVE) + token_stop_char = L'*'; + parser.error( SYNTAX_ERROR, error_pos, COMPLETE_VAR_DESC, - token[stop_pos] ); + token_stop_char ); break; } }