--- parse.y +++ parse.y 2009-02-27 16:09:21.720002034 +0100 @@ -3101,7 +3101,7 @@ parse_matched_pair (qc, open, close, len ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen); xfree (nestret); - if ((rflags & P_DQUOTE) == 0) + if (extended_quote || (rflags & P_DQUOTE) == 0) { nestret = sh_single_quote (ttrans); free (ttrans); @@ -3470,7 +3470,7 @@ eof_error: ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen); xfree (nestret); - if ((rflags & P_DQUOTE) == 0) + if (extended_quote || (rflags & P_DQUOTE) == 0) { nestret = sh_single_quote (ttrans); free (ttrans);