2011-05-11 Jim Meyering <meyering@redhat.com>
maint.mk: improve "can not" detection and generalize rule name
- * top/maint.mk (sc_prohibit_misc): Renamed from sc_prohibit_can_not,
- since we'll probably add a few more word pairs here.
+ * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
+ sc_prohibit_can_not, since we'll probably add a few more word pairs here.
Use the same technique as in sc_prohibit_doubled_word, so that
we recognize "can not" also when the words are separated by a newline.
Suggested by Eric Blake.
(perl_filename_lineno_text_): Define. Factored out of...
(prohibit_doubled_word_): ...here. Use the new definition.
- (prohibit_misc_): New var. Use it here, too.
- (prohibit_misc_RE_): New overridable variable.
+ (prohibit_undesirable_word_seq_): New var. Use it here, too.
+ (prohibit_undesirable_word_seq_RE_): New overridable variable.
+ (ignore_undesirable_word_sequence_RE_): New overridable variable.
2011-05-10 Eric Blake <eblake@redhat.com>
# A regular expression matching undesirable combinations of words like
# "can not"; this matches them even when the two words appear on different
# lines, but not when there is an intervening delimiter like "#" or "*".
-prohibit_misc_RE_ ?= \
+prohibit_undesirable_word_seq_RE_ ?= \
/\bcan\s+not\b/gims
-prohibit_misc_ = \
- -e 'while ($(prohibit_misc_RE_))' \
+prohibit_undesirable_word_seq_ = \
+ -e 'while ($(prohibit_undesirable_word_seq_RE_))' \
$(perl_filename_lineno_text_)
+# Define this to a regular expression that matches
+# any filename:dd:match lines you want to ignore.
+# The default is to ignore no matches.
+ignore_undesirable_word_sequence_RE_ ?= ^$$
-sc_prohibit_misc:
- @perl -n -0777 $(prohibit_misc_) $$($(VC_LIST_EXCEPT)) \
- | grep -vE '$(prohibit_misc_RE_)' \
- | grep . && { echo '$(ME): undesirable words' 1>&2; exit 1; } || :
+sc_prohibit_undesirable_word_seq:
+ @perl -n -0777 $(prohibit_undesirable_word_seq_) \
+ $$($(VC_LIST_EXCEPT)) \
+ | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \
+ && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || :
_ptm1 = use "test C1 && test C2", not "test C1 -''a C2"
_ptm2 = use "test C1 || test C2", not "test C1 -''o C2"