]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Handle version numbers as decimal, even if they start with 0.
authorEric Blake <ebb9@byu.net>
Fri, 21 Nov 2008 04:02:22 +0000 (21:02 -0700)
committerEric Blake <ebb9@byu.net>
Fri, 21 Nov 2008 04:02:22 +0000 (21:02 -0700)
* lib/m4sugar/m4sugar.m4 (_m4_version_unletter): Avoid
interpreting leading zeros as octal.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
lib/m4sugar/m4sugar.m4
tests/m4sugar.at

index b14c98dfbe45d7dcfbbf7c6e134d359daa5e16b0..24b8091a09022f7e6a17de9dea4c2f01527a2a6f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-20  Eric Blake  <ebb9@byu.net>
+
+       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  <ebb9@byu.net>
 
        Speed up AT_CHECK.
index 46579953ee378c4bbb0a381d3c20eb65bac0f302..fd443ca9987201181e3c471b9d47d073cc2b7744 100644 (file)
@@ -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)
index e3387f62cd52a3b05b4dc4530014145548c608d3..4bdc06c3b2eb63f89cc01f9c1407a3540f28c04a 100644 (file)
@@ -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