-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Eric Blake on 11/20/2008 8:29 PM: > With current git tip, I'm getting AC_PREREQ failures such as: > > /usr/bin/m4:configure.ac:212: Warning: m4_eval: bad expression (missing > right parenthesis): (03118+0) != (0*4)
Fixed as follows: - -- Don't work too hard, make some time for fun as well! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkkmNEUACgkQ84KuGfSFAYCkMgCgjUvuk4d1HPHKBaH34ZAqirFR 0agAoK1hYMCBO5WpY8RV3Sib8L5sy40d =dZg4 -----END PGP SIGNATURE-----
>From 7811a6d5a908c215fcb838c19667c5c7daf0009f Mon Sep 17 00:00:00 2001 From: Eric Blake <[EMAIL PROTECTED]> Date: Thu, 20 Nov 2008 21:02:22 -0700 Subject: [PATCH] Handle version numbers as decimal, even if they start with 0. * lib/m4sugar/m4sugar.m4 (_m4_version_unletter): Avoid interpreting leading zeros as octal. Signed-off-by: Eric Blake <[EMAIL PROTECTED]> --- ChangeLog | 6 ++++++ lib/m4sugar/m4sugar.m4 | 13 +++++++------ tests/m4sugar.at | 4 ++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index b14c98d..24b8091 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2008-11-20 Eric Blake <[EMAIL PROTECTED]> + Handle version numbers as decimal, even if they start with 0. + * lib/m4sugar/m4sugar.m4 (_m4_version_unletter): Avoid + interpreting leading zeros as octal. + +2008-11-20 Eric Blake <[EMAIL PROTECTED]> + Speed up AT_CHECK. * lib/autotest/general.m4 (AT_CHECK, AT_CHECK_UNQUOTED): Expand third and fourth arguments once. diff --git a/lib/m4sugar/m4sugar.m4 b/lib/m4sugar/m4sugar.m4 index 4657995..fd443ca 100644 --- a/lib/m4sugar/m4sugar.m4 +++ b/lib/m4sugar/m4sugar.m4 @@ -2589,9 +2589,10 @@ m4_define([m4_sign], # Nl -> (N+1).-1.(l#) # # for example: -# [2.14a] -> [2,14+1,-1,[0r36:a]] -> 2.15.-1.10 -# [2.14b] -> [2,15+1,-1,[0r36:b]] -> 2.15.-1.11 -# [2.61aa.b] -> [2.61,1,-1,[0r36:aa],+1,-1,[0r36:b]] -> 2.62.-1.370.1.-1.11 +# [2.14a] -> [0,2,14+1,-1,[0r36:a]] -> 2.15.-1.10 +# [2.14b] -> [0,2,15+1,-1,[0r36:b]] -> 2.15.-1.11 +# [2.61aa.b] -> [0,2.61,1,-1,[0r36:aa],+1,-1,[0r36:b]] -> 2.62.-1.370.1.-1.11 +# [08] -> [0,[0r10:0]8] -> 8 # # This macro expects reasonable version numbers, but can handle double # letters and does not expand any macros. Original version strings can @@ -2602,11 +2603,11 @@ m4_define([m4_sign], # but since [0r36:a] and commas are less readable than 10 and dots, we # provide a wrapper for human use. m4_define([m4_version_unletter], -[m4_substr(m4_map_args([.m4_eval], m4_unquote(_$0([$1]))), [1])]) +[m4_substr(m4_map_args([.m4_eval], m4_unquote(_$0([$1]))), [3])]) m4_define([_m4_version_unletter], -[m4_bpatsubst(m4_translit([[[$1]]], [.-], [,,]),]dnl +[m4_bpatsubst(m4_bpatsubst(m4_translit([[[[0,$1]]]], [.-], [,,]),]dnl m4_dquote(m4_dquote(m4_defn([m4_cr_Letters])))[[+], - [+1,-1,[0r36:\&]])]) + [+1,-1,[0r36:\&]]), [,0], [,[0r10:0]])]) # m4_version_compare(VERSION-1, VERSION-2) diff --git a/tests/m4sugar.at b/tests/m4sugar.at index e3387f6..4bdc06c 100644 --- a/tests/m4sugar.at +++ b/tests/m4sugar.at @@ -809,6 +809,8 @@ m4_version_compare([1.1a], [1.1A]) m4_version_compare([1z], [1aa]) m4_version_compare([2.61a], [2.61a-248-dc51]) m4_version_compare([2.61b], [2.61a-248-dc51]) +m4_version_compare([08], [09]) +m4_version_compare([010], [8]) dnl Test that side effects to m4_list_cmp occur exactly once m4_list_cmp([[0], [0], [0]m4_errprintn([hi])], [[0], [0], [0]m4_errprintn([hi])]) @@ -829,6 +831,8 @@ m4_list_cmp([[0], [0], [0]m4_errprintn([hi])], -1 -1 1 +-1 +1 0 0 ]], [[hi -- 1.6.0.4