2009/2/17 Loui Chang <louipc....@gmail.com>: > On Mon, Feb 16, 2009 at 10:45:33PM +0800, Gergely Imreh wrote: >> How about this new version? Handles FS#13122 and FS#13173 well - by >> which I mean that it does not remove anything that is not comment. The >> # characters intended for bash parameter replacement are kept (so not >> breaking the upload), though not handled yet within the replacement >> section. That is for another day. > > I pushed a modded version of your patch, so it's attributed to you. > It only neutralises the parameter substitution, though. > >
You shouldn't attribute that commit to me, because it has absolutely nothing to do with the patch I sent in, it's totally yours... I'm not even sure what "neutralises" mean in this situation, yet.... Got to figure out the changes now. :) As for your previous comment about foo=bar;#none, that could be handled with my version with some change, using this regular expression replacement: $line = preg_replace('/(;*)(^|\s+)#.*/', "$1", $line); This version handles things as: #none -> (empty line) foo=bar;#none -> foo=bar; foo=bar #none -> foo=bar foo=bar #none -> foo=bar foo=${bar#none} -> foo=${bar#none} foo=${bar##none} -> foo=${bar##none} foo=${bar #none} -> foo=${bar The last one would result we handle in the parameter substitution (although wrong), but that's fine since it breaks bash, so it's a wrong PKGBUILD. Is there any other case that is not handled? You obviously know more about bash than I have known before, so please let me know, and I can handle them in the same time. Well, even if it won't make it into a patch, I'd really wanna know. Greg