On 03/03/2011 12:42 PM, Will Woods wrote:
On Wed, 2011-03-02 at 22:55 -0800, Toshio Kuratomi wrote:
> I'd say, report this as a bug and see where it leads. It's certainly not
> expected behaviour even if it is intentional.
One-line reproducer:
case x"" in x) echo matches x;; x?) echo matches x? but not x;; esac
I notice the bash-4.2 CHANGES file[1] mentions something like this in
the changes from alpha to beta:
"b. Fixed a bug that caused partially-quoted words that were not
subject to word splitting to retained quoted NULLs."
Maybe that's not as fixed as they thought?
Yeah, got the following from the bash-bug list that Roman submitted.
Here's a fix. This is very similar to bash42-004.
Chet
*** ../bash-4.2-patched/subst.c 2011-02-25 12:03:58.000000000 -0500
--- subst.c 2011-03-03 14:08:23.000000000 -0500
***************
*** 4609,4614 ****
--- 4611,4617 ----
if (ifs_firstc == 0)
#endif
word->flags |= W_NOSPLIT;
+ word->flags |= W_NOSPLIT2;
result = call_expand_word_internal (word, quoted, 0, (int *)NULL,
(int *)NULL);
expand_no_split_dollar_star = 0;
So I presume it'll make its way into a newer bash eventually?? Not sure
on the process but it looks like the powers that be recognize and have a
fix for it.