--- parse.y +++ parse.y 2006-03-27 12:15:25.000000000 +0000 @@ -3106,7 +3106,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); @@ -3517,7 +3517,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);