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.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/
*** ../bash-4.2/lib/glob/gmisc.c 2011-02-05 16:11:17.000000000 -0500
--- lib/glob/gmisc.c 2011-02-15 20:50:43.000000000 -0500
***************
*** 126,129 ****
--- 126,130 ----
{
matlen += wpat - wbrack - 1; /* incremented below */
+ wpat--; /* back up to NUL */
break;
}
***************
*** 262,265 ****
--- 263,267 ----
{
matlen += pat - brack - 1; /* incremented below */
+ pat--; /* back up to NUL */
break;
}