blob: 75d932964a75dbb2438fff004201e936ecbbc7c3 [file] [log] [blame]
# This file is used via the maint.mk-using rule in Makefile.
# This is a gnulib-specific rule to keep non-ascii characters
# from creeping into our .texi files. There is nothing inherently
# wrong with e.g., UTF-8 characters in texinfo sources, but here,
# we had accumulated some non-ascii apostrophes and hyphens, and
# they were recently replaced with their ascii analogs. This rule
# should help keep things consistent.
sc_keep_gnulib_texi_files_mostly_ascii:
@prohibit='[^][ a-zA-Z0-9'\''`~!\@#$$%^&*(){}=+";:,./<>?|\_-]' \
in_vc_files='\.texi$$' \
halt='invalid bytes in gnulib .texi file' \
$(_sc_search_regexp)
local-checks-to-skip = \
sc_GFDL_version \
sc_GPL_version \
sc_bindtextdomain \
sc_cast_of_alloca_return_value \
sc_cast_of_argument_to_free \
sc_cast_of_x_alloc_return_value \
sc_error_message_period \
sc_error_message_uppercase \
sc_immutable_NEWS \
sc_m4_quote_check \
sc_makefile_TAB_only_indentation \
sc_makefile_at_at_check \
sc_makefile_path_separator_check \
sc_obsolete_symbols \
sc_prohibit_HAVE_MBRTOWC \
sc_prohibit_S_IS_definition \
sc_prohibit_always_true_header_tests \
sc_prohibit_always-defined_macros \
sc_prohibit_atoi_atof \
sc_prohibit_c_ctype_without_use \
sc_prohibit_dirent_without_use \
sc_prohibit_error_without_use \
sc_prohibit_getopt_without_use \
sc_prohibit_have_config_h \
sc_prohibit_inttostr_without_use \
sc_prohibit_magic_number_exit \
sc_prohibit_path_max_allocation \
sc_prohibit_reversed_compare_failure \
sc_prohibit_safe_read_without_use \
sc_prohibit_signal_without_use \
sc_prohibit_stat_st_blocks \
sc_prohibit_stddef_without_use \
sc_prohibit_stdio--_without_use \
sc_prohibit_strcmp \
sc_prohibit_strings_without_use \
sc_prohibit_undesirable_word_seq \
sc_prohibit_xalloc_without_use \
sc_require_config_h \
sc_require_config_h_first \
sc_space_tab \
sc_texinfo_acronym \
sc_two_space_separator_in_usage \
sc_unmarked_diagnostics \
sc_useless_cpp_parens
empty-at-EOF = /fr/LC_MESSAGES/test-quotearg\.mo$$|^doc/INSTALL(\.(ISO|UTF-8))?
exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = \
^modules/|^lib/javaversion\.class$$|$(empty-at-EOF)
exclude_file_name_regexp--sc_prohibit_doubled_word = \
^(tests/test-init\.sh|lib/base(32|64)\.c)$$
exclude_file_name_regexp--sc_prohibit_openat_without_use = ^lib/selinux-at\.c$$
exclude_file_name_regexp--sc_trailing_blank = \
^(.*\.class|build-aux/texinfo\.tex|doc/Copyright/assign\.future\.manual)$$
# Disable strncpy prohibition completely, for now.
exclude_file_name_regexp--sc_prohibit_strncpy = .*
if_before_free_offenders_ = \
clean-temp.c \
csharpcomp.c \
free.c \
fstrcmp.c \
gl_carray_list.c \
glob.c \
glthread/lock.c \
propername.c \
relocatable.c \
vasnprintf.c
if_before_free_basename_re_ = \
$(shell printf '%s\n' '$(if_before_free_offenders_)' \
|sed 's|\.c\>||g'|tr -s '[\n[:space:]]' '|')
exclude_file_name_regexp--sc_avoid_if_before_free = \
^lib/($(if_before_free_basename_re_))\.c$$
exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests = \
^lib/((error|getopt|strtoimax)\.c|(argp-namefrob)\.h)$$