On Thu, 26 Apr 2007 02:32:06 +0200 Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Thursday 26 April 2007, Andrew Morton wrote: > > It would be neat if someone could create and maintain a new > > scripts/spot-common-mistakes. Feed it a unified diff and it would complain > > about newly-added code (and only newly-added code) which has busted > > whitespace, adds new semaphores, adds new kernel_thread calls, etc, etc. > > http://patchstylecheck.googlecode.com/svn/trunk/patchstylecheckemail.pl > Might serve as a starting point for this. It doesn't have any semantic > checks right now, but I guess they can be added. oh man, every patch I review, every bug I fix, I dream of this. Wishlist: - wire it up to a robot which monitors all Linux mailing lists and sends machine-review comments back to originators. This will be a huge win by eliminating so much stupid crap. - auto-detect wordwrapped and tab-replaced emails (oh glory) - auto-detect code wider than 80-cols (swoon) - auto-detect missing Signed-off-by: - auto-check patch format and protocol, as per http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt and http://linux.yyz.us/patch-format.html - teach it about semantics: - kthread instead of kernel_thread - mutexes instead of semaphores - the whole plethora of whitespace uckfuppednesses - needlessly-initialised-to-zero-static-variables - extern-decls-in-C - EXPORT_SYMBOL(foo) is placed immediately after foo()'s closing brace Hard to do? Could just whine about all EXPORT_SYMBOL's which aren't immediately preceded by ^}$ or by ;$ - new typedefs - use of uint32_t and friends - use of BUG_ON and BUG, frankly. The thing's a damn pest. Suggest WARN_ON+recover-from-it. - use of `if ((var = expr()))' and similar - large inlined functions? - braces around single statements (advanced topic ;)) - StudlyCaps? - anything called "tmp" or "temp" - old-style struct initialisers - non-ascii characters(?) - lots more to come, I'm sure. - To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html