On 01/27/2011 08:16 AM, Jim Meyering wrote: >>>> @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ >> >> Is there a way to tighten it, by passing the grep output through a sed >> script that combines multiple lines (easily determined by the difference >> between file: and file- for matching vs. context lines and the -- >> separator between hunks), then limit the detection of the capital letter >> to one occurring after error( but before ';'? > > That sounds like it'd be an improvement. With that, we could > search a couple more lines of following context, too. > While I haven't been willing to spend any more time on it, > you're welcome to do so. > > One tiny fly in the ointment: ';' inside a string or in a comment > between concatenated strings would cause trouble.
Yes, it means possible false negatives, but that's probably not a practical concern. Really, who writes code this awful, with a ; in a comment prior to the error message? error (0, errno, /* ; */ _("Oops")); Whereas a ';' inside a string is not too likely to cause issues; this (mis-)usage would still be caught: error (0, errno, "%s", _("Oops; you did something wrong")); because we are looking for any instance of "[A-Z] after the open ( but before the first ;, and a ; within the string is after the point we care about. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature