On Tue, Feb 15, 2011 at 9:54 PM, Dennis Williamson
<dennistwilliam...@gmail.com> wrote:
> On Tue, Feb 15, 2011 at 9:16 PM, Clark J. Wang <dearv...@gmail.com> wrote:
>> On Wed, Feb 16, 2011 at 9:59 AM, Chet Ramey <chet.ra...@case.edu> wrote:
>>
>>> On 2/15/11 6:18 AM, Clark J. Wang wrote:
>>> > For following script:
>>> >
>>> > var='[hello'
>>> > echo "${var//[/}"
>>> >
>>> > With bash 4.1 it outputs hello but with 4.2 it outputs [hello . And bash
>>> 4.2
>>> > with compat41 on still outputs [hello . Bug? Or Bug fixed?
>>>
>>> It's a bug, and I will release a patch.  In the meantime, see if the
>>> attached patch does the right thing on your platform.
>>>
>>> The patch fixed this simple example but it does not work for more
>> complicated scenario:
>>
>> bash# cat foo.sh
>> var='[hello'
>> echo "${var//[/}"
>>
>> red='\[\e[0;31m\]'
>> echo "${red//\\[\\e/}"
>> bash# /usr/local/bash-4.1.9/bin/bash foo.sh
>> hello
>> [0;31m\]
>> bash# /usr/local/bash-4.2.0/bin/bash foo.sh
>> [hello
>> \[\e[0;31m\]
>> bash# /usr/local/bash-4.2.0-fix/bin/bash foo.sh
>> hello
>> \[\e[0;31m\]
>> bash#
>>
>> Chet
>>> --
>>> ``The lyf so short, the craft so long to lerne.'' - Chaucer
>>>                 ``Ars longa, vita brevis'' - Hippocrates
>>> Chet Ramey, ITS, CWRU    c...@case.edu
>>> http://cnswww.cns.cwru.edu/~chet/
>>>
>>
>>
>>
>> --
>> Clark
>>
>
> Also, 4.0.33 and 3.2.0 pass, 2.05b and 4.2.0 fail.
>

I should have been clear that that applies to the more complex example.

Reply via email to