On Sunday, 2017-03-19 13:44:30 +0000, Jan Beich wrote: > Vinson Lee <v...@freedesktop.org> writes: > > > - -e 's/[[[:space:]]]+-DNDEBUG\>//g' \ > > - -e 's/[[[:space:]]]+-D_GNU_SOURCE\>//g' \ > > - -e 's/[[[:space:]]]+-pedantic\>//g' \ > > + -e 's/[[[:space:]]]+-DNDEBUG[[[:space:]]]//g' \ > > + -e 's/[[[:space:]]]+-D_GNU_SOURCE[[[:space:]]]//g' \ > > + -e 's/[[[:space:]]]+-pedantic[[[:space:]]]//g' \ > > If you always expect whitespace on both sides but trim it the RE > may not match with more than one occurence in sequence e.g., > > $ echo ' -D_GNU_SOURCE -DNDEBUG ' | > sed -E -e 's/[[:space:]]+-DNDEBUG[[:space:]]//g' \ > -e 's/[[:space:]]+-D_GNU_SOURCE[[:space:]]//g' > -D_GNU_SOURCE > > vs. (restore some whitespace) > > $ echo ' -D_GNU_SOURCE -DNDEBUG ' | > sed -E -e 's/[[:space:]]+-DNDEBUG[[:space:]]/ /g' \ > -e 's/[[:space:]]+-D_GNU_SOURCE[[:space:]]/ /g' >
Oh yes, very good point there! My r-b now stands with this fix applied :) This will lead to a bunch of unnecessary whitespace in the middle, but I'm not sure I'd recommend addressing this: A simple 's/[[[:space:]]]+/ /g' at the end should trivially fix this, but I'm not sure we can rely on multi-spaces being always no-ops. One example that comes to mind (but I have no idea where this would be used) is to have something like `-DFOO="^I "` (ie. the tab and the space chars) in a string passed in a parameter. Too easy to break. Too hard to get right. Hard to notice when it breaks far away (code-wise). Just don't try :) Cheers, Eric _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev