grep-commit
[Top][All Lists]
Advanced

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

grep branch, master, updated. v2.7-28-g7a71585


From: Jim Meyering
Subject: grep branch, master, updated. v2.7-28-g7a71585
Date: Mon, 28 Feb 2011 08:30:13 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "grep".

The branch, master has been updated
       via  7a71585f7931784ae9938e667511466957a2d728 (commit)
      from  c86b697d55e2cd789d50e398c0baf755175ac4db (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/grep.git/commit/?id=7a71585f7931784ae9938e667511466957a2d728


commit 7a71585f7931784ae9938e667511466957a2d728
Author: Jim Meyering <address@hidden>
Date:   Mon Feb 28 07:50:28 2011 +0100

    maint: update from gnulib
    
    * bootstrap: Update from gnulib.
    * tests/init.sh: Likewise.
    * gnulib: Update to latest.

diff --git a/bootstrap b/bootstrap
index f3e3be2..e9ec11e 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2010-07-06.10; # UTC
+scriptversion=2011-01-21.16; # UTC
 
 # Bootstrap this package from checked-out sources.
 
@@ -42,24 +42,32 @@ local_gl_dir=gl
 bt='._bootmp'
 bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
 bt2=${bt}2
+me=$0
 
 usage() {
   cat <<EOF
-Usage: $0 [OPTION]...
+Usage: $me [OPTION]...
 Bootstrap this package from the checked-out sources.
 
 Options:
- --gnulib-srcdir=DIRNAME  Specify the local directory where gnulib
+ --gnulib-srcdir=DIRNAME  specify the local directory where gnulib
                           sources reside.  Use this if you already
                           have gnulib sources on your machine, and
                           do not want to waste your bandwidth downloading
-                          them again.  Defaults to \$GNULIB_SRCDIR.
- --copy                   Copy files instead of creating symbolic links.
- --force                  Attempt to bootstrap even if the sources seem
-                          not to have been checked out.
- --skip-po                Do not download po files.
-
-If the file $0.conf exists in the same directory as this script, its
+                          them again.  Defaults to \$GNULIB_SRCDIR
+ --bootstrap-sync         if this bootstrap script is not identical to
+                          the version in the local gnulib sources,
+                          update this script, and then restart it with
+                          /bin/sh or the shell \$CONFIG_SHELL
+ --no-bootstrap-sync      do not check whether bootstrap is out of sync
+ --copy                   copy files instead of creating symbolic links
+ --force                  attempt to bootstrap even if the sources seem
+                          not to have been checked out
+ --no-git                 do not use git to update gnulib.  Requires that
+                          --gnulib-srcdir point to a correct gnulib snapshot
+ --skip-po                do not download po files
+
+If the file $me.conf exists in the same directory as this script, its
 contents are read as shell variables to configure the bootstrap.
 
 For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
@@ -80,6 +88,10 @@ gnulib_modules=
 # Any gnulib files needed that are not in modules.
 gnulib_files=
 
+# A function to be called to edit gnulib.mk right after it's created.
+# Override it via your own definition in bootstrap.conf.
+gnulib_mk_hook() { :; }
+
 # A function to be called after everything else in this script.
 # Override it via your own definition in bootstrap.conf.
 bootstrap_epilogue() { :; }
@@ -164,6 +176,13 @@ copy=false
 # on which version control system (if any) is used in the source directory.
 vc_ignore=auto
 
+# Set this to true in bootstrap.conf to enable --bootstrap-sync by
+# default.
+bootstrap_sync=false
+
+# Use git to update gnulib sources
+use_git=true
+
 # find_tool ENVVAR NAMES...
 # -------------------------
 # Search for a required program.  Use the value of ENVVAR, if set,
@@ -188,11 +207,11 @@ find_tool ()
     find_tool_error_prefix="\$$find_tool_envvar: "
   fi
   if test x"$find_tool_res" = x; then
-    echo >&2 "$0: one of these is required: $find_tool_names"
+    echo >&2 "$me: one of these is required: $find_tool_names"
     exit 1
   fi
   ($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
-    echo >&2 "$0: ${find_tool_error_prefix}cannot run $find_tool_res --version"
+    echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res 
--version"
     exit 1
   }
   eval "$find_tool_envvar=\$find_tool_res"
@@ -235,12 +254,25 @@ do
     checkout_only_file=;;
   --copy)
     copy=true;;
+  --bootstrap-sync)
+    bootstrap_sync=true;;
+  --no-bootstrap-sync)
+    bootstrap_sync=false;;
+  --no-git)
+    use_git=false;;
   *)
     echo >&2 "$0: $option: unknown option"
     exit 1;;
   esac
 done
 
+if $use_git || test -d "$GNULIB_SRCDIR"; then
+  :
+else
+  echo "$0: Error: --no-git requires --gnulib-srcdir" >&2
+  exit 1
+fi
+
 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
   echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
   exit 1
@@ -257,6 +289,21 @@ insert_sorted_if_absent() {
     || exit 1
 }
 
+# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
+# insert_sorted_if_absent.
+insert_vc_ignore() {
+  vc_ignore_file="$1"
+  pattern="$2"
+  case $vc_ignore_file in
+  *.gitignore)
+    # A .gitignore entry that does not start with `/' applies
+    # recursively to subdirectories, so prepend `/' to every
+    # .gitignore entry.
+    pattern=`echo "$pattern" | sed s,^,/,`;;
+  esac
+  insert_sorted_if_absent "$vc_ignore_file" "$pattern"
+}
+
 # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
 found_aux_dir=no
 grep '^[        ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
@@ -275,7 +322,7 @@ if test ! -d $build_aux; then
   mkdir $build_aux
   for dot_ig in x $vc_ignore; do
     test $dot_ig = x && continue
-    insert_sorted_if_absent $dot_ig $build_aux
+    insert_vc_ignore $dot_ig $build_aux
   done
 fi
 
@@ -325,17 +372,18 @@ get_version() {
   $app --version >/dev/null 2>&1 || return 1
 
   $app --version 2>&1 |
-  sed -n '# extract version within line
-          s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
-          t done
+  sed -n '# Move version to start of line.
+          s/.*[v ]\([0-9]\)/\1/
+
+          # Skip lines that do not start with version.
+          /^[0-9]/!d
 
-          # extract version at start of line
-          s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
-          t done
+          # Remove characters after the version.
+          s/[^.a-z0-9-].*//
 
-          d
+          # The first component must be digits only.
+          s/^\([0-9]*\)[a-z-].*/\1/
 
-          :done
           #the following essentially does s/5.005/5.5/
           s/\.0*\([1-9]\)/.\1/g
           p
@@ -346,18 +394,26 @@ check_versions() {
   ret=0
 
   while read app req_ver; do
+    # We only need libtoolize from the libtool package.
+    if test "$app" = libtool; then
+      app=libtoolize
+    fi
+    # Exempt git if --no-git is in effect.
+    if test "$app" = git; then
+      $use_git || continue
+    fi
     # Honor $APP variables ($TAR, $AUTOCONF, etc.)
-    appvar=`echo $app | tr '[a-z]' '[A-Z]'`
+    appvar=`echo $app | tr '[a-z]-' '[A-Z]_'`
     test "$appvar" = TAR && appvar=AMTAR
     eval "app=\${$appvar-$app}"
     inst_ver=$(get_version $app)
     if [ ! "$inst_ver" ]; then
-      echo "Error: '$app' not found" >&2
+      echo "$me: Error: '$app' not found" >&2
       ret=1
     elif [ ! "$req_ver" = "-" ]; then
       latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
       if [ ! "$latest_ver" = "$inst_ver" ]; then
-        echo "Error: '$app' version == $inst_ver is too old" >&2
+        echo "$me: Error: '$app' version == $inst_ver is too old" >&2
         echo "       '$app' version >= $req_ver is required" >&2
         ret=1
       fi
@@ -370,16 +426,30 @@ check_versions() {
 print_versions() {
   echo "Program    Min_version"
   echo "----------------------"
-  printf "$buildreq"
+  printf %s "$buildreq"
   echo "----------------------"
   # can't depend on column -t
 }
 
+use_libtool=0
+# We'd like to use grep -E, to see if any of LT_INIT,
+# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
+# but that's not portable enough (e.g., for Solaris).
+grep '^[        ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
+  && use_libtool=1
+grep '^[        ]*LT_INIT' configure.ac >/dev/null \
+  && use_libtool=1
+if test $use_libtool = 1; then
+  find_tool LIBTOOLIZE glibtoolize libtoolize
+fi
+
 if ! printf "$buildreq" | check_versions; then
-  test -f README-prereq &&
-  echo "See README-prereq for notes on obtaining these prerequisite programs:" 
>&2
-  echo
-  print_versions
+  echo >&2
+  if test -f README-prereq; then
+    echo "$0: See README-prereq for how to get the prerequisite programs" >&2
+  else
+    echo "$0: Please install the prerequisite programs" >&2
+  fi
   exit 1
 fi
 
@@ -390,11 +460,11 @@ if test -d .git && (git --version) >/dev/null 2>/dev/null 
; then
   if git config merge.merge-changelog.driver >/dev/null ; then
     :
   elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
-    echo "initializing git-merge-changelog driver"
+    echo "$0: initializing git-merge-changelog driver"
     git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
     git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
   else
-    echo "consider installing git-merge-changelog from gnulib"
+    echo "$0: consider installing git-merge-changelog from gnulib"
   fi
 fi
 
@@ -410,7 +480,7 @@ git_modules_config () {
 }
 
 gnulib_path=`git_modules_config submodule.gnulib.path`
-: ${gnulib_path=gnulib}
+test -z "$gnulib_path" && gnulib_path=gnulib
 
 # Get gnulib files.
 
@@ -463,6 +533,16 @@ case ${GNULIB_SRCDIR--} in
   ;;
 esac
 
+if $bootstrap_sync; then
+  cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
+    echo "$0: updating bootstrap and restarting..."
+    exec sh -c \
+      'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
+      -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
+      "$0" "$@" --no-bootstrap-sync
+  }
+fi
+
 gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
 <$gnulib_tool || exit
 
@@ -471,7 +551,7 @@ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
 download_po_files() {
   subdir=$1
   domain=$2
-  echo "$0: getting translations into $subdir for $domain..."
+  echo "$me: getting translations into $subdir for $domain..."
   cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
   eval "$cmd"
 }
@@ -505,7 +585,7 @@ update_po_files() {
         ! test -f "$po_dir/$po.po" ||
         ! $SHA1SUM -c --status "$cksum_file" \
             < "$new_po" > /dev/null; then
-      echo "updated $po_dir/$po.po..."
+      echo "$me: updated $po_dir/$po.po..."
       cp "$new_po" "$po_dir/$po.po" \
           && $SHA1SUM < "$new_po" > "$cksum_file"
     fi
@@ -543,20 +623,20 @@ symlink_to_dir()
       for dot_ig in x $vc_ignore; do
         test $dot_ig = x && continue
         ig=$parent/$dot_ig
-        insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'`
+        insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
       done
     fi
 
     if $copy; then
       {
         test ! -h "$dst" || {
-          echo "$0: rm -f $dst" &&
+          echo "$me: rm -f $dst" &&
           rm -f "$dst"
         }
       } &&
       test -f "$dst" &&
       cmp -s "$src" "$dst" || {
-        echo "$0: cp -fp $src $dst" &&
+        echo "$me: cp -fp $src $dst" &&
         cp -fp "$src" "$dst"
       }
     else
@@ -570,7 +650,7 @@ symlink_to_dir()
         *)
           case /$dst/ in
           *//* | */../* | */./* | /*/*/*/*/*/)
-             echo >&2 "$0: invalid symlink calculation: $src -> $dst"
+             echo >&2 "$me: invalid symlink calculation: $src -> $dst"
              exit 1;;
           /*/*/*/*/)   dot_dots=../../../;;
           /*/*/*/)     dot_dots=../../;;
@@ -578,7 +658,7 @@ symlink_to_dir()
           esac;;
         esac
 
-        echo "$0: ln -fs $dot_dots$src $dst" &&
+        echo "$me: ln -fs $dot_dots$src $dst" &&
         ln -fs "$dot_dots$src" "$dst"
       }
     fi
@@ -611,7 +691,7 @@ cp_mark_as_generated()
       cmp -s "$cp_src" "$cp_dst" || {
         # Copy the file first to get proper permissions if it
         # doesn't already exist.  Then overwrite the copy.
-        echo "$0: cp -f $cp_src $cp_dst" &&
+        echo "$me: cp -f $cp_src $cp_dst" &&
         rm -f "$cp_dst" &&
         cp "$cp_src" "$cp_dst-t" &&
         sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
@@ -629,7 +709,7 @@ cp_mark_as_generated()
       if cmp -s "$cp_dst-t" "$cp_dst"; then
         rm -f "$cp_dst-t"
       else
-        echo "$0: cp $cp_src $cp_dst # with edits" &&
+        echo "$me: cp $cp_src $cp_dst # with edits" &&
         mv -f "$cp_dst-t" "$cp_dst"
       fi
     fi
@@ -648,7 +728,7 @@ version_controlled_file() {
   elif test -d .svn; then
     svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
   else
-    echo "$0: no version control for $dir/$file?" >&2
+    echo "$me: no version control for $dir/$file?" >&2
   fi
   test $found = yes
 }
@@ -660,7 +740,8 @@ slurp() {
     for file in `ls -a $1/$dir`; do
       case $file in
       .|..) continue;;
-      .*) continue;; # FIXME: should all file names starting with "." be 
ignored?
+      # FIXME: should all file names starting with "." be ignored?
+      .*) continue;;
       esac
       test -d $1/$dir/$file && continue
       for excluded_file in $excluded_files; do
@@ -669,18 +750,20 @@ slurp() {
       if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then
         copied=$copied${sep}$gnulib_mk; sep=$nl
         remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
-        sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null 
|| {
-          echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
+        sed "$remove_intl" $1/$dir/$file |
+        cmp - $dir/$gnulib_mk > /dev/null || {
+          echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
           rm -f $dir/$gnulib_mk &&
-          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
+          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk &&
+          gnulib_mk_hook $dir/$gnulib_mk
         }
       elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
            version_controlled_file $dir $file; then
-        echo "$0: $dir/$file overrides $1/$dir/$file"
+        echo "$me: $dir/$file overrides $1/$dir/$file"
       else
         copied=$copied$sep$file; sep=$nl
         if test $file = gettext.m4; then
-          echo "$0: patching m4/gettext.m4 to remove need for intl/* ..."
+          echo "$me: patching m4/gettext.m4 to remove need for intl/* ..."
           rm -f $dir/$file
           sed '
             /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
@@ -700,18 +783,25 @@ slurp() {
       test $dot_ig = x && continue
       ig=$dir/$dot_ig
       if test -n "$copied"; then
-        insert_sorted_if_absent $ig "$copied"
+        insert_vc_ignore $ig "$copied"
         # If an ignored file name ends with .in.h, then also add
         # the name with just ".h".  Many gnulib headers are generated,
         # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
         # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
-        f=`echo "$copied"|sed 
's/\.in\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'`
-        insert_sorted_if_absent $ig "$f"
+        f=`echo "$copied" |
+          sed '
+            s/\.in\.h$/.h/
+            s/\.sin$/.sed/
+            s/\.y$/.c/
+            s/\.gperf$/.h/
+          '
+        `
+        insert_vc_ignore $ig "$f"
 
         # For files like sys_stat.in.h and sys_time.in.h, record as
         # ignorable the directory we might eventually create: sys/.
         f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'`
-        insert_sorted_if_absent $ig "$f"
+        insert_vc_ignore $ig "$f"
       fi
     done
   done
@@ -736,6 +826,12 @@ gnulib_tool_options="\
  --local-dir $local_gl_dir\
  $gnulib_tool_option_extras\
 "
+if test $use_libtool = 1; then
+  case "$gnulib_tool_options " in
+    *' --libtool '*) ;;
+    *) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
+  esac
+fi
 echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
 $gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
 slurp $bt || exit
@@ -778,20 +874,12 @@ grep -E '^[        ]*AC_CONFIG_HEADERS?\>' configure.ac 
>/dev/null ||
 
 for command in \
   libtool \
-  "${ACLOCAL-aclocal} --force -I m4" \
+  "${ACLOCAL-aclocal} --force -I m4 $ACLOCAL_FLAGS" \
   "${AUTOCONF-autoconf} --force" \
   "${AUTOHEADER-autoheader} --force" \
   "${AUTOMAKE-automake} --add-missing --copy --force-missing"
 do
   if test "$command" = libtool; then
-    use_libtool=0
-    # We'd like to use grep -E, to see if any of LT_INIT,
-    # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
-    # but that's not portable enough (e.g., for Solaris).
-    grep '^[    ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
-      && use_libtool=1
-    grep '^[    ]*LT_INIT' configure.ac >/dev/null \
-      && use_libtool=1
     test $use_libtool = 0 \
       && continue
     command="${LIBTOOLIZE-libtoolize} -c -f"
diff --git a/build-aux/.gitignore b/build-aux/.gitignore
index 38b748c..3bd5023 100644
--- a/build-aux/.gitignore
+++ b/build-aux/.gitignore
@@ -1,22 +1,22 @@
-announce-gen
-arg-nonnull.h
-c++defs.h
-config.guess
-config.rpath
-config.sub
-depcomp
-do-release-commit-and-tag
-gendocs.sh
-git-version-gen
-gitlog-to-changelog
-gnu-web-doc-update
-gnupload
-install-sh
-link-warning.h
-mdate-sh
-missing
-texinfo.tex
-update-copyright
-useless-if-before-free
-vc-list-files
-warn-on-use.h
+/announce-gen
+/arg-nonnull.h
+/c++defs.h
+/config.guess
+/config.rpath
+/config.sub
+/depcomp
+/do-release-commit-and-tag
+/gendocs.sh
+/git-version-gen
+/gitlog-to-changelog
+/gnu-web-doc-update
+/gnupload
+/install-sh
+/link-warning.h
+/mdate-sh
+/missing
+/texinfo.tex
+/update-copyright
+/useless-if-before-free
+/vc-list-files
+/warn-on-use.h
diff --git a/doc/.gitignore b/doc/.gitignore
index dc9e56b..be8a6c1 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1,6 +1,7 @@
-egrep.1
-fgrep.1
-gendocs_template
-grep.info*
-stamp-vti
-version.texi
+/egrep.1
+/fgrep.1
+/gendocs_template
+/grep.info*
+/stamp-vti
+/texinfo.tex
+/version.texi
diff --git a/gnulib b/gnulib
index 1bf9d10..00e7922 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 1bf9d10cc5e78c522b6e28a7dc43a10e6dcfaaed
+Subproject commit 00e79225624b3a52d18c86eb8cfd87c8b604ca5a
diff --git a/po/.gitignore b/po/.gitignore
index 83a0ac9..aac9940 100644
--- a/po/.gitignore
+++ b/po/.gitignore
@@ -2,16 +2,16 @@
 *.po
 *.pot
 .reference
-LINGUAS
-Makefile.in.in
-Makevars
-Makevars.template
-Rules-quot
-boldquot.sed
address@hidden
address@hidden
-insert-header.sed
-insert-header.sin
-quot.sed
-remove-potcdate.sed
-remove-potcdate.sin
+/LINGUAS
+/Makefile.in.in
+/Makevars
+/Makevars.template
+/Rules-quot
+/boldquot.sed
+/address@hidden
+/address@hidden
+/insert-header.sed
+/insert-header.sin
+/quot.sed
+/remove-potcdate.sed
+/remove-potcdate.sin
diff --git a/tests/init.sh b/tests/init.sh
index aed54c4..71c6516 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -74,10 +74,10 @@ Exit () { set +e; (exit $1); exit $1; }
 # the reason for skip/failure to console, rather than to the .log files.
 : ${stderr_fileno_=2}
 
-warn_() { echo "$@" 1>&$stderr_fileno_; }
-fail_() { warn_ "$ME_: failed test: $@"; Exit 1; }
-skip_() { warn_ "$ME_: skipped test: $@"; Exit 77; }
-framework_failure_() { warn_ "$ME_: set-up failure: $@"; Exit 99; }
+warn_ () { echo "$@" 1>&$stderr_fileno_; }
+fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
+skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
+framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
 
 # Sanitize this shell to POSIX mode, if possible.
 DUALCASE=1; export DUALCASE
@@ -111,7 +111,7 @@ fi
 
 # Eval this code in a subshell to determine a shell's suitability.
 # 10 - passes all tests; ok to use
-#  9 - ok, but enabling "set -x" corrupts application stderr; prefer higher 
score
+#  9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score
 #  ? - not ok
 gl_shell_test_script_='
 test $(echo y) = y || exit 1
@@ -193,7 +193,7 @@ fi
 test -n "$EXEEXT" && shopt -s expand_aliases
 
 # Enable glibc's malloc-perturbing option.
-# This is cheap and useful for exposing code that depends on the fact that
+# This is useful for exposing code that depends on the fact that
 # malloc-related functions often return memory that is mostly zeroed.
 # If you have the time and cycles, use valgrind to do an even better job.
 : ${MALLOC_PERTURB_=87}
@@ -202,22 +202,22 @@ export MALLOC_PERTURB_
 # This is a stub function that is run upon trap (upon regular exit and
 # interrupt).  Override it with a per-test function, e.g., to unmount
 # a partition, or to undo any other global state changes.
-cleanup_() { :; }
+cleanup_ () { :; }
 
 if ( diff --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
-  compare() { diff -u "$@"; }
+  compare () { diff -u "$@"; }
 elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
-  compare() { cmp -s "$@"; }
+  compare () { cmp -s "$@"; }
 else
-  compare() { cmp "$@"; }
+  compare () { cmp "$@"; }
 fi
 
 # An arbitrary prefix to help distinguish test directories.
-testdir_prefix_() { printf gt; }
+testdir_prefix_ () { printf gt; }
 
 # Run the user-overridable cleanup_ function, remove the temporary
 # directory and exit with the incoming value of $?.
-remove_tmp_()
+remove_tmp_ ()
 {
   __st=$?
   cleanup_
@@ -233,13 +233,21 @@ remove_tmp_()
 # contains only the specified bytes (see the case stmt below), then print
 # a space-separated list of those names and return 0.  Otherwise, don't
 # print anything and return 1.  Naming constraints apply also to DIR.
-find_exe_basenames_()
+find_exe_basenames_ ()
 {
   feb_dir_=$1
   feb_fail_=0
   feb_result_=
   feb_sp_=
   for feb_file_ in $feb_dir_/*.exe; do
+    # If there was no *.exe file, or there existed a file named "*.exe" that
+    # was deleted between the above glob expansion and the existence test
+    # below, just skip it.
+    test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \
+      && continue
+    # Exempt [.exe, since we can't create a function by that name, yet
+    # we can't invoke [ by PATH search anyways due to shell builtins.
+    test "x$feb_file_" = "x$feb_dir_/[.exe" && continue
     case $feb_file_ in
       *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;;
       *) # Remove leading file name components as well as the .exe suffix.
@@ -257,8 +265,8 @@ find_exe_basenames_()
 # For each file name of the form PROG.exe, create an alias named
 # PROG that simply invokes PROG.exe, then return 0.  If any selected
 # file name or the directory name, $1, contains an unexpected character,
-# define no function and return 1.
-create_exe_shims_()
+# define no alias and return 1.
+create_exe_shims_ ()
 {
   case $EXEEXT in
     '') return 0 ;;
@@ -267,7 +275,7 @@ create_exe_shims_()
   esac
 
   base_names_=`find_exe_basenames_ $1` \
-    || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 1; }
+    || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; }
 
   if test -n "$base_names_"; then
     for base_ in $base_names_; do
@@ -280,7 +288,7 @@ create_exe_shims_()
 
 # Use this function to prepend to PATH an absolute name for each
 # specified, possibly-$initial_cwd_-relative, directory.
-path_prepend_()
+path_prepend_ ()
 {
   while test $# != 0; do
     path_dir_=$1
@@ -303,7 +311,7 @@ path_prepend_()
   export PATH
 }
 
-setup_()
+setup_ ()
 {
   if test "$VERBOSE" = yes; then
     # Test whether set -x may cause the selected shell to corrupt an
@@ -319,12 +327,19 @@ setup_()
   fi
 
   initial_cwd_=$PWD
+  fail=0
 
   pfx_=`testdir_prefix_`
   test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
     || fail_ "failed to create temporary directory in $initial_cwd_"
   cd "$test_dir_"
 
+  # As autoconf-generated configure scripts do, ensure that IFS
+  # is defined initially, so that saving and restoring $IFS works.
+  gl_init_sh_nl_='
+'
+  IFS=" ""     $gl_init_sh_nl_"
+
   # This trap statement, along with a trap on 0 below, ensure that the
   # temporary directory, $test_dir_, is removed upon exit as well as
   # upon receipt of any of the listed signals.
@@ -349,7 +364,7 @@ setup_()
 #  - make only $MAX_TRIES_ attempts
 
 # Helper function.  Print $N pseudo-random bytes from a-zA-Z0-9.
-rand_bytes_()
+rand_bytes_ ()
 {
   n_=$1
 
@@ -381,7 +396,7 @@ rand_bytes_()
     | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
 }
 
-mktempd_()
+mktempd_ ()
 {
   case $# in
   2);;
@@ -402,11 +417,10 @@ mktempd_()
 
   case $template_ in
   *XXXX) ;;
-  *) fail_ "invalid template: $template_ (must have a suffix of at least 4 
X's)";;
+  *) fail_ \
+       "invalid template: $template_ (must have a suffix of at least 4 X's)";;
   esac
 
-  fail=0
-
   # First, try to use mktemp.
   d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \
     || fail=1

-----------------------------------------------------------------------

Summary of changes:
 bootstrap            |  210 +++++++++++++++++++++++++++++++++++---------------
 build-aux/.gitignore |   44 +++++-----
 doc/.gitignore       |   13 ++--
 gnulib               |    2 +-
 po/.gitignore        |   26 +++---
 tests/init.sh        |   60 +++++++++------
 6 files changed, 229 insertions(+), 126 deletions(-)


hooks/post-receive
-- 
grep



reply via email to

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