Bernhard Voelker wrote: > On 11/24/2012 08:11 AM, Jim Meyering wrote: > >> Subject: [PATCH] cut: interpret "-b3-,2-" like "-b2-", not like "-b3-" > > Isn't it the other way round? I.e. "-b3-,2-" has already been working > correctly. > > - Subject: [PATCH] cut: interpret "-b3-,2-" like "-b2-", not like "-b3-" > + Subject: [PATCH] cut: interpret "-b2-,3-" like "-b2-", not like "-b3-"
It most definitely is. Good catch. I've dropped the double quotes, too. They were useful in an earlier version that had a space after each -b, but now they add useless clutter. >> diff --git a/NEWS b/NEWS >> index 15fddd4..284525e 100644 >> --- a/NEWS >> +++ b/NEWS >> @@ -14,6 +14,10 @@ GNU coreutils NEWS -*- outline -*- >> Instead, cut now fails and emits an appropriate diagnostic. >> [This bug was present in "the beginning".] >> >> + cut now handles overlapping right-open-ended ranges properly. Before, >> + it would interpret "-b3-,2-" like "-b3-". Now it's treated like "-b2-". >> + [This bug was present in "the beginning".] >> + > > Likewise. Yep. >> diff --git a/THANKS.in b/THANKS.in >> index 016a41e..3080cd3 100644 >> --- a/THANKS.in >> +++ b/THANKS.in >> @@ -367,6 +367,7 @@ Marc Haber [email protected] >> Marc Mengel [email protected] >> Marc Lehman [email protected] >> Marc Olzheim [email protected] >> +Marcel Böhme [email protected] >> Marco Franzen [email protected] >> Marcus Brinkmann http://www.marcus-brinkmann.de >> Marcus Daniels [email protected] > > That change will conflict with Padraig's pending patch for > http://bugs.gnu.org/12959. Yes. Now that he's pushed that, I've simply removed the above delta from my change set. > Otherwise, the patch looks good. Thanks for the review. > BTW: interestingly, the i18n patch of openSuSE downstream > already had such a fix included for ages (line 215): > https://build.opensuse.org/package/view_file?file=coreutils-i18n.patch&package=coreutils&project=Base%3ASystem Oh. I wish that whoever fixed that had let us know. For reference, here's the actual patch: if (!rhs_specified) { /* 'n-'. From 'initial' to end of line. */ - eol_range_start = initial; + if (eol_range_start == 0 || + (eol_range_start != 0 && eol_range_start > initial)) + eol_range_start = initial; field_found = true; } BTW, I'll bet there's a static analysis tool that would warn about its redundant test, "eol_range_start != 0"
