]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
avoid problems when _AS_BASENAME_EXPR are invoked before _AS_EXPR_PREPARE
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 9 Oct 2008 13:28:06 +0000 (15:28 +0200)
committerPaolo Bonzini <bonzini@gnu.org>
Thu, 9 Oct 2008 13:41:14 +0000 (15:41 +0200)
2008-10-09  Paolo Bonzini  <bonzini@gnu.org>

* m4sugar/m4sh.m4 (_AS_BASENAME_EXPR, _AS_DIRNAME_EXPR): Do not
require _AS_EXPR_PREPARE.
(_AS_BASENAME_PREPARE, _AS_DIRNAME_PREPARE): Do it here.
(_AS_PREPARE): Add _AS_BASENAME_PREPARE.

ChangeLog
lib/m4sugar/m4sh.m4

index 61c6c3942739f2a63261c61674d3cb8ce956532e..25865bd6d9958980aa97dd994f9126d41d05245e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
+
+       * m4sugar/m4sh.m4 (_AS_BASENAME_EXPR, _AS_DIRNAME_EXPR): Do not
+       require _AS_EXPR_PREPARE.
+       (_AS_BASENAME_PREPARE, _AS_DIRNAME_PREPARE): Do it here.
+       (_AS_PREPARE): Add _AS_BASENAME_PREPARE.
+
 2008-10-08  Eric Blake  <ebb9@byu.net>
 
        Resync from gnulib.
index 4cdf5913c183c6ae5839b264fed81c5ebfe10eec..234587964caf754cf66814553194ff5fdb23a2b7 100644 (file)
@@ -259,6 +259,7 @@ m4_defun([_AS_PREPARE],
 [_AS_LINENO_PREPARE
 
 _AS_DIRNAME_PREPARE
+_AS_BASENAME_PREPARE
 _AS_ECHO_N_PREPARE[]dnl We do not need this ourselves but user code might.
 _AS_EXPR_PREPARE
 _AS_LN_S_PREPARE
@@ -708,8 +709,7 @@ m4_define([AS_ERROR],
 # Also see the comments for AS_DIRNAME.
 
 m4_defun([_AS_BASENAME_EXPR],
-[AS_REQUIRE([_AS_EXPR_PREPARE])dnl
-$as_expr X/[]$1 : '.*/\([[^/][^/]*]\)/*$' \| \
+[$as_expr X/[]$1 : '.*/\([[^/][^/]*]\)/*$' \| \
         X[]$1 : 'X\(//\)$' \| \
         X[]$1 : 'X\(/\)' \| .])
 
@@ -739,9 +739,12 @@ _AS_BASENAME_SED([$1])])
 # _AS_BASENAME_PREPARE
 # --------------------
 # Avoid Solaris 9 /usr/ucb/basename, as `basename /' outputs an empty line.
-# Also, traditional basename mishandles --.
+# Also, traditional basename mishandles --.  Require here _AS_EXPR_PREPARE,
+# to avoid problems when _AS_BASENAME is called from the M4SH-INIT diversion
+# (AS_REQUIRE is nowhere near being as sophisticated as AC_REQUIRE).
 m4_defun([_AS_BASENAME_PREPARE],
-[if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+[AS_REQUIRE([_AS_EXPR_PREPARE])dnl
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -797,7 +800,8 @@ _AS_DIRNAME_SED([$1])])
 # _AS_DIRNAME_PREPARE
 # --------------------
 m4_defun([_AS_DIRNAME_PREPARE],
-[if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+[AS_REQUIRE([_AS_EXPR_PREPARE])dnl
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
   as_dirname=dirname
 else
   as_dirname=false