From b788fb9a742a2a5e2b605f1e3dbbf6d21aa27c33 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 19 Dec 2004 14:40:36 +0000 Subject: [PATCH] * lib/m4sugar/m4sugar.m4 (m4_qlen, m4_qdelta): New macros. * lib/autotest/general.m4 (AT_SETUP): Use m4_qdelta. --- ChangeLog | 5 +++++ lib/autotest/general.m4 | 4 ++-- lib/m4sugar/m4sugar.m4 | 17 ++++++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4559f9d1..b2ff8e67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-12-18 Noah Misch + + * lib/m4sugar/m4sugar.m4 (m4_qlen, m4_qdelta): New macros. + * lib/autotest/general.m4 (AT_SETUP): Use m4_qdelta. + 2004-12-18 Noah Misch * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): New macro. diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index 27ade86d..44adef6b 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -1048,8 +1048,8 @@ m4_divert_push([TESTS])dnl AT_ordinal ) @%:@ AT_ordinal. m4_defn([AT_line]): $1 at_setup_line='m4_defn([AT_line])' at_desc='$1' - $at_quiet $ECHO_N "m4_format([[%3d: %-45s]], - AT_ordinal, [$1])[]$ECHO_C" + $at_quiet $ECHO_N "m4_format([%3d: %-]m4_eval(47 - m4_qdelta([$1]))[s], + AT_ordinal, [[$1]])[]$ECHO_C" m4_divert_push([TEST_SCRIPT])dnl ]) diff --git a/lib/m4sugar/m4sugar.m4 b/lib/m4sugar/m4sugar.m4 index 7ebf55eb..3cbed975 100644 --- a/lib/m4sugar/m4sugar.m4 +++ b/lib/m4sugar/m4sugar.m4 @@ -3,7 +3,7 @@ divert(-1)# -*- Autoconf -*- # Base M4 layer. # Requires GNU M4. # -# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, # Inc. # # This program is free software; you can redistribute it and/or modify @@ -1615,6 +1615,21 @@ m4_define([m4_text_box], ]) +# m4_qlen(STRING) +# --------------- +# Expands to the length of STRING after autom4te converts all quadrigraphs. +m4_define([m4_qlen], +[m4_len(m4_bpatsubsts([[$1]], [@\(<:\|:>\|S|\|%:\)@], [P], [@&t@]))]) + + +# m4_qdelta(STRING) +# ----------------- +# Expands to the net change in the length of STRING from autom4te converting the +# quadrigraphs in STRING. This number is always negative or zero. +m4_define([m4_qdelta], +[m4_eval(m4_qlen([$1]) - m4_len([$1]))]) + + ## ----------------------- ## ## 10. Number processing. ##