Mike Frysinger wrote:
> bash-4.0 mishandles this code while bash-3.2_p48 and earlier work fine:
> echo $(echo \;)

Try the attached patch.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer

Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/
*** ../bash-4.0/parse.y 2009-01-08 08:29:12.000000000 -0500
--- parse.y     2009-02-22 16:08:54.000000000 -0500
***************
*** 3307,3311 ****
  
        /* Meta-characters that can introduce a reserved word.  Not perfect 
yet. */
!       if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && 
(tflags & LEX_INCOMMENT) == 0 && shellmeta(ch))
        {
          /* Add this character. */
--- 3307,3311 ----
  
        /* Meta-characters that can introduce a reserved word.  Not perfect 
yet. */
!       if MBTEST((tflags & LEX_PASSNEXT) == 0 && (tflags & LEX_RESWDOK) == 0 
&& (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch))
        {
          /* Add this character. */

Reply via email to