bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AS_LITERAL_IF


From: Bruno Haible
Subject: Re: AS_LITERAL_IF
Date: Wed, 19 May 2010 23:30:21 +0200
User-agent: KMail/1.9.9

Eric Blake wrote:
> AS_LITERAL_IF has been available since 2.59.  Whether
> or not it was documented that far back, it already had the right
> semantics that far back.

Thanks for this confirmation. So, I'm doing what Paolo suggested:


2010-05-19  Bruno Haible  <address@hidden>

        Clean up dead code in recent commit.
        * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
        body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
        (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
        Suggested by Paolo Bonzini.

--- m4/libunistring-base.m4.orig        Wed May 19 23:25:08 2010
+++ m4/libunistring-base.m4     Wed May 19 23:23:49 2010
@@ -1,4 +1,4 @@
-# libunistring-base.m4 serial 1
+# libunistring-base.m4 serial 2
 dnl Copyright (C) 2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -97,45 +97,43 @@
 dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
 dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION
 dnl is less than the VERSION argument.
-dnl This is the unoptimized variant:
-AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP_ORIG],
-[ { test "$HAVE_LIBUNISTRING" != yes \
-    || {
-         requested_version_major=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_major"`
-         requested_version_minor=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_minor"`
-         requested_version_subminor=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_subminor"`
-         test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
-         || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \
-              && { test $LIBUNISTRING_VERSION_MINOR -lt 
$requested_version_minor \
-                   || { test $LIBUNISTRING_VERSION_MINOR -eq 
$requested_version_minor \
-                        && test $LIBUNISTRING_VERSION_SUBMINOR -lt 
$requested_version_subminor
-                      }
-                 }
-            }
-       }
-  }
-])
-dnl This is the optimized variant, that assumes the argument is a literal:
 AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP],
 [ { test "$HAVE_LIBUNISTRING" != yes \
     || {
-         m4_pushdef([requested_version_major],
-           [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], 
[\1]), [])])
-         m4_pushdef([requested_version_minor],
-           [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], 
[^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
-         m4_pushdef([requested_version_subminor],
-           [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], 
[^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
-         test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
-         || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
-              && { test $LIBUNISTRING_VERSION_MINOR -lt 
requested_version_minor \
-                   || { test $LIBUNISTRING_VERSION_MINOR -eq 
requested_version_minor \
-                        && test $LIBUNISTRING_VERSION_SUBMINOR -lt 
requested_version_subminor
-                      }
-                 }
-            }
-         m4_popdef([requested_version_subminor])
-         m4_popdef([requested_version_minor])
-         m4_popdef([requested_version_major])
+         dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least.
+         AS_LITERAL_IF([$1],
+           [dnl This is the optimized variant, that assumes the argument is a 
literal:
+            m4_pushdef([requested_version_major],
+              [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], 
[\1]), [])])
+            m4_pushdef([requested_version_minor],
+              [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], 
[^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+            m4_pushdef([requested_version_subminor],
+              [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], 
[^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+            test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
+            || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
+                 && { test $LIBUNISTRING_VERSION_MINOR -lt 
requested_version_minor \
+                      || { test $LIBUNISTRING_VERSION_MINOR -eq 
requested_version_minor \
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 
requested_version_subminor
+                         }
+                    }
+               }
+            m4_popdef([requested_version_subminor])
+            m4_popdef([requested_version_minor])
+            m4_popdef([requested_version_major])
+           ],
+           [dnl This is the unoptimized variant:
+            requested_version_major=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_major"`
+            requested_version_minor=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_minor"`
+            requested_version_subminor=`echo '$1' | sed -n -e 
"$gl_libunistring_sed_extract_subminor"`
+            test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
+            || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major 
\
+                 && { test $LIBUNISTRING_VERSION_MINOR -lt 
$requested_version_minor \
+                      || { test $LIBUNISTRING_VERSION_MINOR -eq 
$requested_version_minor \
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 
$requested_version_subminor
+                         }
+                    }
+               }
+           ])
        }
   }
 ])



reply via email to

[Prev in Thread] Current Thread [Next in Thread]