showit () {
    cat << "EOF" | sed -e "s/at_flatten$1/at_flatten/" | m4 | sed -e "s/$/<</"
divert(-1)
changequote([, ])

define([_at_percent],[at_flatten([$2])])

# FLATTEN quotes its result.
# Note that the second pattern is `newline, tab or space'.  Don't lose
# the tab!

# Original from Autoconf 2.56 (autom4te)
define([at_flattenA],
[at_patsubst(at_patsubst(at_patsubst([[[$1]]], [\\
]),
                         [[
	 ]+], [ ]),
             [^ *\(.*\) *$], [[\1]])])

# Updated by me
define([at_flattenB],
[at_patsubst(at_patsubst(at_patsubst(at_patsubst([[[[$1]]]], [\\
]),
                                     [[
	 ]+], [ ]),
                         [ *\(.\)$],[\1]),
             [^ *\(.*\)],[[\1]])])

# Updated by you
define([at_flattenC],
[at_patsubst(at_patsubst(at_patsubst(at_patsubst([[[[$1]]]], [\\
]),
                                     [[
	 ]+], [ ]),
                         [ *$]),
             [^ *\(.*\)], [[\1]])])

define([at_args],    [at_shift(at_shift(at_shift(at_shift(at_shift($@)))))])
define([at_percent], [_$0([$1], at_args($@))])

# Copy the builtins.

define([at_patsubst], defn([patsubst]))
define([at_ifelse], defn([ifelse]))
define([at_divert], defn([divert]))
define([at_define], defn([define]))
define([at_shift], defn([shift]))
define([at_dnl], defn([dnl]))

at_define([AT_AC_CONFIG_FILES], [at_dnl])

# Trace AC_CONFIG_FILES:$f:$l::$n::${::}%
at_define([AT_AC_CONFIG_FILES],
[[$1:$2::$4::]at_percent([::], $@)[]])

divert(0)dnl
AT_AC_CONFIG_FILES([],[],[],[],[     123,567    ])
EOF
}

echo "Original Autoconf:"
showit A
echo "My version:"
showit B
echo "Your version:"
showit C
