From: Akim Demaille Date: Thu, 13 Sep 2001 06:57:45 +0000 (+0000) Subject: * lib/m4sugar/m4sugar.m4 (m4_append_uniq): New. X-Git-Tag: AUTOCONF-2.52f~152 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0638570e79054affb61de7c5d324773a8eecbdc8;p=thirdparty%2Fautoconf.git * lib/m4sugar/m4sugar.m4 (m4_append_uniq): New. * lib/autotest/general.m4 (AT_VICTIMS, AT_KEYWORDS, _AT_CLEANUP_FILE): Use it. --- diff --git a/ChangeLog b/ChangeLog index 27a174964..1e4d3df7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2001-09-13 Akim Demaille + + * lib/m4sugar/m4sugar.m4 (m4_append_uniq): New. + * lib/autotest/general.m4 (AT_VICTIMS, AT_KEYWORDS, _AT_CLEANUP_FILE): + Use it. + 2001-09-13 Akim Demaille * lib/m4sugar/m4sugar.m4 (_AS_QUOTE_IFELSE, _AS_BOX_INDIR): Use diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index 3116d0ffe..b35e90983 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -614,7 +614,7 @@ at_data_files="AT_data_files "])])dnl # must correspond to the version of the package.. The PATH should be # already preset so the proper executable will be selected. m4_define([AT_VICTIMS], -[m4_append([AT_victims], [$1], [ ])]) +[m4_append_uniq([AT_victims], [$1], [ ])]) # AT_SETUP(DESCRIPTION) @@ -642,25 +642,14 @@ m4_divert_push([TESTS])dnl # --------------------- # Declare a list of keywords associated to the current test group. m4_define([AT_KEYWORDS], -[m4_append([AT_keywords], [$1], [,])]) - - - -# _AT_CLEANUP_FILE_IF(FILE, IF-REGISTERED, IF-NOT-REGISTERED) -# ----------------------------------------------------------- -# We try to build a regular expression matching `[', `]', `*', and -# `.', i.e., the regexp active characters. -m4_define([_AT_CLEANUP_FILE_IF], -[m4_match(AT_data_files, m4_re_escape([ $1 ]), - [$2], [$3])]) +[m4_append_uniq([AT_keywords], [$1], [,])]) # _AT_CLEANUP_FILE(FILE) # ---------------------- # Register FILE for AT_CLEANUP. m4_define([_AT_CLEANUP_FILE], -[_AT_CLEANUP_FILE_IF([$1], [], - [m4_append([AT_data_files], [$1 ])])]) +[m4_append_uniq([AT_data_files], [$1], [ ])]) # AT_CLEANUP_FILES(FILES) diff --git a/lib/m4sugar/m4sugar.m4 b/lib/m4sugar/m4sugar.m4 index 80f97f4c9..a60cc4c25 100644 --- a/lib/m4sugar/m4sugar.m4 +++ b/lib/m4sugar/m4sugar.m4 @@ -1520,6 +1520,16 @@ m4_define([m4_append], m4_ifdef([$1], [m4_defn([$1])$3])[$2])]) +# m4_append_uniq(MACRO-NAME, STRING, [SEPARATOR]) +# ----------------------------------------------- +# As `m4_append', but append only if not yet present. +m4_define([m4_append_uniq], +[m4_ifdef([$1], + [m4_match([$3]m4_defn([$1])[$3], m4_re_escape([$3$2$3]), [], + [m4_append($@)])], + [m4_append($@)])]) + + # m4_foreach_quoted(VARIABLE, LIST, EXPRESSION) # --------------------------------------------- # FIXME: This macro should not exists. Currently it's used only in