From e744f4b7b7de9b76fdd314aa406e9fb150b9168d Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 30 Apr 2012 10:37:14 +0200 Subject: [PATCH] maint: prohibit an operator at end of line Many coding standards, including GNU's, advocate that when splitting a line near a binary operator, one should put the operator at the beginning of the continued line, rather than at the end of the preceding one. This is for readability: such operators are relatively important to readability, and they are more apparent at the beginning of a line than at the varying-column end of line, * cfg.mk (sc_prohibit_operator_at_end_of_line): New rule. Exempt test.c and head.c. --- cfg.mk | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/cfg.mk b/cfg.mk index c3ddb424cc..923785e4a2 100644 --- a/cfg.mk +++ b/cfg.mk @@ -200,6 +200,18 @@ sc_no_exec_perl_coreutils: exit 1; } || :; \ fi +# With split lines, don't leave an operator at end of line. +# Instead, put it on the following line, where it is more apparent. +# Don't bother checking for "*" at end of line, since it provokes +# far too many false positives, matching constructs like "TYPE *". +# Similarly, omit "=" (initializers). +binop_re_ ?= [-/+^!<>]|[-/+*^!<>=]=|&&?|\|\|?|<<=?|>>=? +sc_prohibit_operator_at_end_of_line: + @prohibit='. ($(binop_re_))$$' \ + in_vc_files='\.[chly]$$' \ + halt='found operator at end of line' \ + $(_sc_search_regexp) + # Don't use "readlink" or "readlinkat" directly sc_prohibit_readlink: @prohibit='\