m4-commit
[Top][All Lists]
Advanced

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

[SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.16-40-g


From: Gary V. Vaughan
Subject: [SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.16-40-g551f11c
Date: Sun, 15 Sep 2013 07:06:37 +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 "GNU M4 source repository".

http://git.sv.gnu.org/gitweb/?p=m4.git;a=commitdiff;h=551f11c903d2e67c1c26b016b56181bcb08a3000

The branch, branch-1.4 has been updated
       via  551f11c903d2e67c1c26b016b56181bcb08a3000 (commit)
      from  cab8066f06db215ab25558038efc07b0e6a4d84f (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 -----------------------------------------------------------------
commit 551f11c903d2e67c1c26b016b56181bcb08a3000
Author: Gary V. Vaughan <address@hidden>
Date:   Sun Sep 15 14:04:21 2013 +0700

    bootstrap: sync with upstream.
    
    * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace,
    gl/build-aux/funclib.sh, gl/build-aux/options-parser: Update from
    upstream to pick up recent improvements.
    * bootstrap: Regenerate.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

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

Summary of changes:
 bootstrap                   |  463 +++++++++++++++++++++++++++++++------------
 gl/build-aux/bootstrap.in   |  369 +++++++++++++++++++++++++----------
 gl/build-aux/extract-trace  |   16 +-
 gl/build-aux/funclib.sh     |   64 +++++--
 gl/build-aux/options-parser |   14 +-
 5 files changed, 670 insertions(+), 256 deletions(-)

diff --git a/bootstrap b/bootstrap
index 77dd68a..e123a8b 100755
--- a/bootstrap
+++ b/bootstrap
@@ -9,7 +9,7 @@
 
 # Source required external libraries:
 # Set a version string for this script.
-scriptversion=2013-03-08.12; # UTC
+scriptversion=2013-08-23.20; # UTC
 
 # General shell script boiler plate, and helper functions.
 # Written by Gary V. Vaughan, 2004
@@ -92,7 +92,47 @@ done
 sp=' '
 nl='
 '
-IFS="  $sp$nl"
+IFS="$sp       $nl"
+
+# There are still modern systems that have problems with 'echo' mis-
+# handling backslashes, among others, so make sure $bs_echo is set to a
+# command that correctly interprets backslashes.
+# (this code from Autoconf 2.68)
+
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+bs_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+bs_echo=$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo
+bs_echo=$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $bs_echo`" = "X$bs_echo") 2>/dev/null; then
+  bs_echo='print -r --'
+  bs_echo_n='print -rn --'
+elif (test "X`printf %s $bs_echo`" = "X$bs_echo") 2>/dev/null; then
+  bs_echo='printf %s\n'
+  bs_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $bs_echo) 2>/dev/null`" = "X-n $bs_echo"; 
then
+    bs_echo_body='eval /usr/ucb/echo -n "$1$nl"'
+    bs_echo_n='/usr/ucb/echo -n'
+  else
+    bs_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    bs_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$nl"*)
+       expr "X$arg" : "X\\(.*\\)$nl";
+       arg=`expr "X$arg" : ".*$nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$nl"
+    '
+    export bs_echo_n_body
+    bs_echo_n='sh -c $bs_echo_n_body bs_echo'
+  fi
+  export bs_echo_body
+  bs_echo='sh -c $bs_echo_body bs_echo'
+fi
 
 
 ## ------------------------------- ##
@@ -105,7 +145,7 @@ IFS="       $sp$nl"
 # in the command search PATH.
 
 : ${CP="cp -f"}
-: ${ECHO='printf %s\n'}
+: ${ECHO="$bs_echo"}
 : ${EGREP="grep -E"}
 : ${FGREP="grep -F"}
 : ${GREP="grep"}
@@ -137,7 +177,7 @@ sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
 sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
 
 # Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
+# that contains forward slashes, into one that contains
 # (escaped) backslashes.  A very naive implementation.
 sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
 
@@ -205,13 +245,13 @@ exit_status=$EXIT_SUCCESS
 progpath=$0
 
 # The name of this program.
-progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+progname=`$bs_echo "$progpath" |$SED "$sed_basename"`
 
 # Make sure we have an absolute progpath for reexecution:
 case $progpath in
   [\\/]*|[A-Za-z]:\\*) ;;
   *[\\/]*)
-     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+     progdir=`$bs_echo "$progpath" |$SED "$sed_dirname"`
      progdir=`cd "$progdir" && pwd`
      progpath=$progdir/$progname
      ;;
@@ -405,7 +445,7 @@ func_append_uniq ()
 {
     $debug_cmd
 
-    eval _G_current_value='`$ECHO $'$1'`'
+    eval _G_current_value='`$bs_echo $'$1'`'
     _G_delim=`expr "$2" : '\(.\)'`
 
     case $_G_delim$_G_current_value$_G_delim in
@@ -518,7 +558,7 @@ func_echo ()
     IFS=$nl
     for _G_line in $_G_message; do
       IFS=$func_echo_IFS
-      $ECHO "$progname: $_G_line"
+      $bs_echo "$progname: $_G_line"
     done
     IFS=$func_echo_IFS
 }
@@ -552,8 +592,8 @@ func_echo_infix_1 ()
     for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" 
"$tc_blue" "$tc_cyan"
     do
       test -n "$_G_tc" && {
-        _G_esc_tc=`$ECHO "$_G_tc" | sed "$sed_make_literal_regex"`
-        _G_indent=`$ECHO "$_G_indent" | sed "s|$_G_esc_tc||g"`
+        _G_esc_tc=`$bs_echo "$_G_tc" | sed "$sed_make_literal_regex"`
+        _G_indent=`$bs_echo "$_G_indent" | sed "s|$_G_esc_tc||g"`
       }
     done
     _G_indent="$progname: "`echo "$_G_indent" | sed 's|.| |g'`"  " ## exclude 
from sc_prohibit_nested_quotes
@@ -562,7 +602,7 @@ func_echo_infix_1 ()
     IFS=$nl
     for _G_line in $_G_message; do
       IFS=$func_echo_infix_1_IFS
-      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+      $bs_echo "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
       _G_prefix=$_G_indent
     done
     IFS=$func_echo_infix_1_IFS
@@ -895,7 +935,7 @@ func_relative_path ()
 #   i) func_quote_for_eval_result
 #      double-quoted, suitable for a subsequent eval
 #  ii) func_quote_for_eval_unquoted_result
-#      has just all characters which are still active within double
+#      has all characters that are still active within double
 #      quotes backslashified.
 func_quote_for_eval ()
 {
@@ -1281,7 +1321,7 @@ func_remove_hook ()
 {
     $debug_cmd
 
-    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+    eval ${1}_hooks='`$bs_echo "\$'$1'_hooks" |$SED "s| '$2'||"`'
 }
 
 
@@ -1574,8 +1614,8 @@ func_fatal_help ()
 {
     $debug_cmd
 
-    eval \$ECHO \""Usage: $usage"\"
-    eval \$ECHO \""$fatal_help"\"
+    eval \$bs_echo \""Usage: $usage"\"
+    eval \$bs_echo \""$fatal_help"\"
     func_error ${1+"$@"}
     exit $EXIT_FAILURE
 }
@@ -1589,7 +1629,7 @@ func_help ()
     $debug_cmd
 
     func_usage_message
-    $ECHO "$long_help_message"
+    $bs_echo "$long_help_message"
     exit 0
 }
 
@@ -1676,7 +1716,7 @@ func_usage ()
     $debug_cmd
 
     func_usage_message
-    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+    $bs_echo "Run '$progname --help |${PAGER-more}' for full usage"
     exit 0
 }
 
@@ -1688,7 +1728,7 @@ func_usage_message ()
 {
     $debug_cmd
 
-    eval \$ECHO \""Usage: $usage"\"
+    eval \$bs_echo \""Usage: $usage"\"
     echo
     $SED -n 's|^# ||
         /^Written by/{
@@ -1697,7 +1737,7 @@ func_usage_message ()
        h
        /^Written by/q' < "$progpath"
     echo
-    eval \$ECHO \""$usage_message"\"
+    eval \$bs_echo \""$usage_message"\"
 }
 
 
@@ -1755,7 +1795,7 @@ test -z "$progpath" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/funclib.sh
 test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/options-parser
 
 # Set a version string.
-scriptversion=2012-10-07.10; # UTC
+scriptversion=2013-08-22.10; # UTC
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -1798,7 +1838,7 @@ scriptversion=2012-10-07.10; # UTC
 # func_autoconf_configure MAYBE-CONFIGURE-FILE
 # --------------------------------------------
 # Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current
-# directory which contains an uncommented call to AC_INIT.
+# directory that contains an uncommented call to AC_INIT.
 func_autoconf_configure ()
 {
     $debug_cmd
@@ -1921,7 +1961,7 @@ func_tool_version_output ()
 # require_configure_ac
 # --------------------
 # Ensure that there is a 'configure.ac' or 'configure.in' file in the
-# current directory which contains an uncommented call to AC_INIT, and
+# current directory that contains an uncommented call to AC_INIT, and
 # that '$configure_ac' contains its name.
 require_configure_ac=func_require_configure_ac
 func_require_configure_ac ()
@@ -1985,8 +2025,8 @@ func_extract_trace ()
     $require_configure_ac
     $require_gnu_m4
 
-    _G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'`
-    _G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'`
+    _G_m4_traces=`$bs_echo "--trace=$1" |$SED 's%,% --trace=%g'`
+    _G_re_macros=`$bs_echo "($1)" |$SED 's%,%|%g'`
     _G_macros="$1"; shift
     test $# -gt 0 || {
       set dummy $configure_ac
@@ -2088,7 +2128,7 @@ func_extract_trace ()
 
     # Save the command pipeline results for further use by callers of
     # this function.
-    func_extract_trace_result=`$ECHO "$_G_mini" \
+    func_extract_trace_result=`$bs_echo "$_G_mini" \
       |$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \
       |$SED -n -e "$_G_transform"`
 }
@@ -2104,7 +2144,7 @@ func_extract_trace_first ()
     $debug_cmd
 
     func_extract_trace ${1+"$@"}
-    func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \
+    func_extract_trace_first_result=`$bs_echo "$func_extract_trace_result" \
       |$SED -e 's|:.*$||g' -e 1q`
 }
 
@@ -2140,7 +2180,7 @@ on a separate line.'
 
     # Display results.
     test -n "$func_extract_trace_result" \
-        && $ECHO "$func_extract_trace_result"
+        && $bs_echo "$func_extract_trace_result"
 
     # The End.
     exit $EXIT_SUCCESS
@@ -2163,7 +2203,7 @@ test extract-trace = "$progname" && func_main "$@"
 # End:
 
 # Set a version string for *this* script.
-scriptversion=2012-10-21.12; # UTC
+scriptversion=2013-09-15.06; # UTC
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -2332,7 +2372,7 @@ gnulib_tool_options="
 "
 
 # bootstrap removes any macro-files that are not included by aclocal.m4,
-# except for files listed in this variable which are always kept.
+# except for files listed in this variable that are always kept.
 gnulib_precious="
         gnulib-tool.m4
 "
@@ -2377,8 +2417,8 @@ copy=false
 
 # Set this to ".cvsignore .gitignore" in 'bootstrap.conf' if you want
 # those files to be generated in directories like 'lib/', 'm4/', and 'po/',
-# or set it to "auto" to make this script select which to use based
-# on which version control system (if any) is used in the source directory.
+# or set it to "auto" to make this script select what to use based
+# on what version control system (if any) is used in the source directory.
 # Or set it to "none" to ignore VCS ignore files entirely.  Default is
 # "auto".
 vc_ignore=
@@ -2391,7 +2431,7 @@ vc_ignore=
 # After 'bootstrap.conf' has been sourced, execution proceeds by calling
 # 'func_bootstrap'.  Wherever a function is decorated with
 # 'func_hookable func_name', you will find a matching 'func_run_hooks
-# func_name' which executes all functions added with 'func_add_hook
+# func_name', which executes all functions added with 'func_add_hook
 # func_name my_func'.
 #
 # You might notice that many of these functions begin with a series of
@@ -2546,35 +2586,29 @@ func_gnulib_tool ()
     $require_libtoolize
 
     test true = "$gnulib_tool" || {
+      # bootstrap.conf written for gnulib bootstrap expects
+      # gnulib_tool_option_extras to which --no-changelog is appended,
+      # but libtool bootstrap expects you to append to gnulib_tool_options
+      # so that you can override the --no-changelog default: make sure we
+      # support both styles so users can migrate between them easily.
+      gnulib_tool_all_options="$gnulib_tool_options $gnulib_tool_option_extras"
+
       if test -n "$gnulib_modules"; then
         $require_gnulib_cache
-        $require_build_aux
-        $require_macro_dir
+        $require_gnulib_tool_base_options
+
+        gnulib_mode=--import
 
         # Try not to pick up any stale values from 'gnulib-cache.m4'.
         rm -f "$gnulib_cache"
 
-        gnulib_mode=--import
-
-        # 'gnulib_modules' and others are maintained in 'bootstrap.conf':
-        # Use 'gnulib --import' to fetch gnulib modules.
-        test -n "$build_aux" \
-            && func_append_uniq gnulib_tool_options " --aux-dir=$build_aux"
-        test -n "$macro_dir" \
-            && func_append_uniq gnulib_tool_options " --m4-base=$macro_dir"
-        test -n "$doc_base" \
-            && func_append_uniq gnulib_tool_options " --doc-base=$doc_base"
-        test -n "$gnulib_name" \
-            && func_append_uniq gnulib_tool_options " --lib=$gnulib_name"
-        test -n "$local_gl_dir" \
-            && func_append_uniq gnulib_tool_options " 
--local-dir=$local_gl_dir"
-        test -n "$source_base" \
-            && func_append_uniq gnulib_tool_options " 
--source-base=$source_base"
+        test -n "$gnulib_tool_base_options" \
+            && func_append_uniq gnulib_tool_all_options " 
$gnulib_tool_base_options"
         test -n "$gnulib_mk" \
-            && func_append_uniq gnulib_tool_options " 
--makefile-name=$gnulib_mk"
+            && func_append_uniq gnulib_tool_all_options " 
--makefile-name=$gnulib_mk"
         test -n "$tests_base" && {
-          func_append_uniq gnulib_tool_options " --tests-base=$tests_base"
-          func_append_uniq gnulib_tool_options " --with-tests"
+          func_append_uniq gnulib_tool_all_options " --tests-base=$tests_base"
+          func_append_uniq gnulib_tool_all_options " --with-tests"
         }
       else
 
@@ -2585,23 +2619,23 @@ func_gnulib_tool ()
 
       # Add a sensible default libtool option to gnulib_tool_options.
       # The embedded echo is to squash whitespace before globbing.
-      case `echo " "$gnulib_tool_options" "` in
+      case `echo " "$gnulib_tool_all_options" "` in
         *" --no-libtool "*|*" --libtool "*) ;;
         *)  if test true = "$LIBTOOLIZE"; then
-              func_append_uniq gnulib_tool_options " --no-libtool"
+              func_append_uniq gnulib_tool_all_options " --no-libtool"
             else
-              func_append_uniq gnulib_tool_options " --libtool"
+              func_append_uniq gnulib_tool_all_options " --libtool"
             fi
             ;;
       esac
 
-      $opt_copy || func_append_uniq gnulib_tool_options " --symlink"
+      $opt_copy || func_append_uniq gnulib_tool_all_options " --symlink"
 
-      func_append_uniq gnulib_tool_options " $gnulib_mode"
-      func_append gnulib_tool_options " $gnulib_modules"
+      func_append_uniq gnulib_tool_all_options " $gnulib_mode"
+      func_append gnulib_tool_all_options " $gnulib_modules"
 
       # The embedded echo is to squash whitespace before display.
-      gnulib_cmd=`echo $gnulib_tool $gnulib_tool_options`
+      gnulib_cmd=`echo $gnulib_tool $gnulib_tool_all_options`
 
       func_show_eval "$gnulib_cmd" 'exit $?'
 
@@ -2732,6 +2766,9 @@ func_gnulib_tool_copy_file ()
 {
     $debug_cmd
 
+    $require_gnulib_tool
+    $require_patch
+
     if test true = "$gnulib_tool"; then
       # If gnulib-tool is not available (e.g. bootstrapping in a
       # distribution tarball), make sure that at least we have some
@@ -2745,22 +2782,14 @@ or else specify the location of your 'git' binary by
 setting 'GIT' in the environment so that a fresh
 'gnulib' submodule can be cloned."
     else
-      $require_gnulib_path
-      $require_gnulib_tool
-      $require_local_gl_dir
-      $require_patch
-
-      gnulib_copy_cmd="$gnulib_tool --copy-file"
-      $opt_copy || func_append gnulib_copy_cmd " --symlink"
-      test -n "$local_gl_dir" \
-          && func_append gnulib_copy_cmd " --local-dir=$local_gl_dir"
+      $require_gnulib_copy_cmd
 
       $gnulib_copy_cmd $1 $2 2>/dev/null || {
+        $require_gnulib_path
+
         func_error "'$gnulib_path/$1' does not exist"
         return 1
       }
-
-      $gnulib_copy_cmd $1 $2
     fi
 }
 
@@ -2889,7 +2918,7 @@ $2"
 # the usual portability constraints of this script, that may seem a very
 # demanding requirement, but it should be ok.  Ignore any failure,
 # which is fine, since this is only a convenience to help developers
-# avoid the relatively unusual case in which a symlinked-to .m4 file is
+# avoid the relatively unusual case where a symlinked-to .m4 file is
 # git-removed from gnulib between successive runs of this script.
 func_clean_dangling_symlinks ()
 {
@@ -3179,7 +3208,7 @@ func_require_build_aux ()
       func_show_eval "mkdir '$build_aux'"
 
       test -n "$vc_ignore_files" \
-          || func_insert_sorted_if_absent "$build_aux" $vc_ignore_files
+          || func_insert_if_absent "$build_aux" $vc_ignore_files
     fi
 
     require_build_aux=:
@@ -3269,7 +3298,7 @@ func_require_buildreq_automake ()
 
       # ...and AM_INIT_AUTOMAKE is declared...
       test -n "$func_extract_trace_result" && {
-        automake_version=`$ECHO "$func_extract_trace_result" \
+        automake_version=`$bs_echo "$func_extract_trace_result" \
            |$SED -e 's|[^0-9]*||' -e 's| .*$||'`
         test -n "$automake_version" || automake_version=-
 
@@ -3294,14 +3323,14 @@ func_require_buildreq_patch ()
 {
     $debug_cmd
 
+    $require_local_gl_dir
+
     # This ensures PATCH is set appropriately by the time
     # func_check_versions enforces $buildreq.
     $require_patch
 
     # If patch is not already listed in $buildreq...
     printf '%s\n' "$buildreq" |func_grep_q '^[  ]*patch' || {
-      $require_local_gl_dir
-
       # The ugly find invocation is necessary to exit with non-zero
       # status for old find binaries that don't support -exec fully.
       if test ! -d "$local_gl_dir" \
@@ -3371,6 +3400,28 @@ defaulting to '$copyright_holder'."
 }
 
 
+# require_doc_base
+# ----------------
+# Ensure doc_base has a sensible value, extracted from 'gnulib-cache.m4'
+# if possible, otherwise letting 'gnulib-tool' pick a default.
+require_doc_base=func_require_doc_base
+func_require_doc_base ()
+{
+    $debug_cmd
+
+    $require_gnulib_cache
+
+    test -f "$gnulib_cache" && test -z "$doc_base" && {
+      func_extract_trace_first "gl_DOC_BASE" "$gnulib_cache"
+      doc_base=$func_extract_trace_first_result
+
+      test -n "$doc_base" && func_verbose "doc_base='$doc_base'"
+    }
+
+    require_doc_base=:
+}
+
+
 # require_dotgitmodules
 # ---------------------
 # Ensure we have a '.gitmodules' file, with appropriate 'gnulib' settings.
@@ -3402,7 +3453,7 @@ func_require_dotgitmodules ()
         } >> .gitmodules
 
         test -n "$vc_ignore_files" \
-          || func_insert_sorted_if_absent ".gitmodules" $vc_ignore_files
+          || func_insert_if_absent ".gitmodules" $vc_ignore_files
       }
     }
 
@@ -3466,6 +3517,25 @@ func_require_gnulib_cache ()
 }
 
 
+# require_gnulib_copy_cmd
+# -----------------------
+# Only calculate the options for copying files with gnulib once.
+require_gnulib_copy_cmd=func_require_gnulib_copy_cmd
+func_require_gnulib_copy_cmd ()
+{
+    $debug_cmd
+
+    $require_gnulib_tool
+    $require_gnulib_tool_base_options
+
+    gnulib_copy_cmd="$gnulib_tool $gnulib_tool_base_options --copy-file"
+    $opt_copy || func_append gnulib_copy_cmd " --symlink"
+    $opt_quiet || func_append gnulib_copy_cmd " --verbose"
+
+    require_gnulib_copy_cmd=:
+}
+
+
 # require_gnulib_merge_changelog
 # ------------------------------
 # See if we can use gnulib's git-merge-changelog merge driver.
@@ -3504,10 +3574,9 @@ func_require_gnulib_mk ()
 {
     $debug_cmd
 
-    test -f "$gnulib_cache" && test -z "$gnulib_mk" && {
-      $require_gnulib_cache
-      $require_macro_dir
+    $require_gnulib_cache
 
+    test -f "$gnulib_cache" && test -z "$gnulib_mk" && {
       func_extract_trace_first "gl_MAKEFILE_NAME" "$gnulib_cache"
       gnulib_mk=$func_extract_trace_first_result
 
@@ -3518,6 +3587,28 @@ func_require_gnulib_mk ()
 }
 
 
+# require_gnulib_name
+# -------------------
+# Ensure gnulib_name has a sensible value, extracted from 'gnulib-cache.m4'
+# if possible, otherwise letting 'gnulib-tool' pick a default.
+require_gnulib_name=func_require_gnulib_name
+func_require_gnulib_name ()
+{
+    $debug_cmd
+
+    $require_gnulib_cache
+
+    test -f "$gnulib_cache" && test -z "$gnulib_name" && {
+      func_extract_trace_first "gl_LIB" "$gnulib_cache"
+      gnulib_name=$func_extract_trace_first_result
+
+      test -n "$gnulib_name" && func_verbose "gnulib_name='$gnulib_name'"
+    }
+
+    require_gnulib_name=:
+}
+
+
 # require_gnulib_path
 # require_gnulib_url
 # -------------------
@@ -3632,9 +3723,8 @@ func_require_gnulib_tool ()
 {
     $debug_cmd
 
-    $require_gnulib_submodule
-
     test true = "$gnulib_tool" || {
+      $require_gnulib_submodule
       $require_gnulib_path
 
       test -n "$gnulib_tool" \
@@ -3654,6 +3744,46 @@ func_require_gnulib_tool ()
 }
 
 
+# require_gnulib_tool_base_options
+# --------------------------------
+# Ensure that '$gnulib_tool_base_options' contains all the base options
+# required according to user configuration from bootstrap.conf.
+require_gnulib_tool_base_options=func_require_gnulib_tool_base_options
+func_require_gnulib_tool_base_options ()
+{
+    $debug_cmd
+
+    $require_gnulib_tool
+
+    gnulib_tool_base_options=
+
+    test true = "$gnulib_tool" || {
+      # 'gnulib_modules' and others are maintained in 'bootstrap.conf':
+      # Use 'gnulib --import' to fetch gnulib modules.
+      $require_build_aux
+      test -n "$build_aux" \
+          && func_append_uniq gnulib_tool_base_options " --aux-dir=$build_aux"
+      $require_macro_dir
+      test -n "$macro_dir" \
+          && func_append_uniq gnulib_tool_base_options " --m4-base=$macro_dir"
+      $require_doc_base
+      test -n "$doc_base" \
+          && func_append_uniq gnulib_tool_base_options " --doc-base=$doc_base"
+      $require_gnulib_name
+      test -n "$gnulib_name" \
+          && func_append_uniq gnulib_tool_base_options " --lib=$gnulib_name"
+      $require_local_gl_dir
+      test -n "$local_gl_dir" \
+          && func_append_uniq gnulib_tool_base_options " 
--local-dir=$local_gl_dir"
+      $require_source_base
+      test -n "$source_base" \
+          && func_append_uniq gnulib_tool_base_options " 
--source-base=$source_base"
+    }
+
+    require_gnulib_tool_base_options=:
+}
+
+
 # require_libtoolize
 # ------------------
 # Skip libtoolize if it's not needed.
@@ -3690,22 +3820,22 @@ func_require_libtoolize ()
 
 # require_local_gl_dir
 # --------------------
+# Ensure local_gl_dir has a sensible value, extracted from 'gnulib-cache.m4'
+# if possible, otherwise letting 'gnulib-tool' pick a default.
 require_local_gl_dir=func_require_local_gl_dir
 func_require_local_gl_dir ()
 {
     $debug_cmd
 
-    # Only if local_gl_dir is not set already, and no gnulib_modules are
-    # listed is gnulib-cache.m4 the definitive value for local_gl_dir.
-    test -n "$local_gl_diri$gnulib_modules" || {
-      $require_gnulib_cache
+    $require_gnulib_cache
+
+    test -f "$gnulib_cache" && test -z "$local_gl_dir" && {
+      func_extract_trace_first "gl_LOCAL_DIR" "$gnulib_cache"
+      local_gl_dir=$func_extract_trace_first_result
 
-      func_extract_trace gl_LOCAL_DIR $gnulib_cache
-      local_gl_dir=$func_extract_trace_result
+      test -n "$local_gl_dir" && func_verbose "local_gl_dir='$local_gl_dir'"
     }
 
-    func_verbose "found gnulib overrides in '$local_gl_dir'"
-
     require_local_gl_dir=:
 }
 
@@ -3759,7 +3889,7 @@ func_require_macro_dir ()
       mkdir "$macro_dir" || func_permissions_error "$macro_dir"
 
       test -n "$vc_ignore_files" \
-        || func_insert_sorted_if_absent "$macro_dir" $vc_ignore_files
+        || func_insert_if_absent "$macro_dir" $vc_ignore_files
     fi
 
     require_macro_dir=:
@@ -3912,7 +4042,7 @@ func_require_patch ()
     $debug_cmd
 
     test -n "$PATCH" || {
-      # Find a patch program, preferring gpatch which is usually better
+      # Find a patch program, preferring gpatch, which is usually better
       # than the vendor patch.
       func_find_tool PATCH gpatch patch
     }
@@ -3938,8 +4068,6 @@ func_require_source_base ()
     $require_gnulib_cache
 
     test -f "$gnulib_cache" && test -z "$source_base" && {
-      $require_macro_dir
-
       func_extract_trace_first "gl_SOURCE_BASE" "$gnulib_cache"
 
       source_base=$func_extract_trace_first_result
@@ -4057,7 +4185,7 @@ func_ifcontains ()
     $debug_cmd
 
     # The embedded echo is to squash whitespace before globbing.
-    _G_wslist=`$ECHO " "$1" "`
+    _G_wslist=`$bs_echo " "$1" "`
     _G_member=$2
     _G_yes_cmd=$3
     _G_no_cmd=${4-":"}
@@ -4085,7 +4213,7 @@ func_strpad ()
     $debug_cmd
 
     _G_width=`expr "$2" - 1`
-    func_strpad_result=`$ECHO "$1" |$SED '
+    func_strpad_result=`$bs_echo "$1" |$SED '
         :a
         s|^.\{0,'"$_G_width"'\}$|&'"$3"'|
         ta
@@ -4102,7 +4230,7 @@ func_strrpad ()
     $debug_cmd
 
     _G_width=`expr "$2" - 1`
-    func_strrpad_result=`$ECHO "$1" |$SED '
+    func_strrpad_result=`$bs_echo "$1" |$SED '
         :a
         s|^.\{0,'"$_G_width"'\}$|'"$3"'&|
         ta
@@ -4187,7 +4315,7 @@ func_strtable ()
 
     # Strip off the indent, and make a divider with '-' chars, then
     # reindent.
-    _G_divider=`$ECHO "$func_strrow_result" \
+    _G_divider=`$bs_echo "$func_strrow_result" \
         |$SED 's|[^ ]|-|g
             :a
             s|- |--|g
@@ -4307,11 +4435,25 @@ func_truncate_cmd ()
 }
 
 
-# func_insert_sorted_if_absent STR FILE...
-# ----------------------------------------
-# If $STR is not already on a line by itself in $FILE, insert it,
+# func_gitignore_entries FILE...
+# ------------------------------
+# Strip blank and comment lines to leave significant entries.
+func_gitignore_entries ()
+{
+    $debug_cmd
+
+    sed -e '/^#/d' -e '/^$/d' "$@"
+}
+
+
+# func_insert_if_absent STR FILE...
+# ---------------------------------
+# If $STR is not already on a line by itself in $FILE, insert it, at the
+# start.  Entries are inserted at the start of the ignore list to ensure
+# existing entries starting with ! are not overridden.  Such entries
+# support whilelisting exceptions after a more generic blacklist pattern.
 # sorting the new contents of the file and replacing $FILE with the result.
-func_insert_sorted_if_absent ()
+func_insert_if_absent ()
 {
     $debug_cmd
 
@@ -4322,11 +4464,18 @@ func_insert_sorted_if_absent ()
     do
       test -f "$file" || touch "$file"
 
-      func_grep_q "$str" "$file" \
-          && func_verbose "inserting '$str' into '$file'"
+      duplicate_entries=`func_gitignore_entries "$file" |sort |uniq -d`
+      test -n "$duplicate_entries" \
+          && func_error "duplicate entries in $file: " $duplicate_entries
 
-      $ECHO "$str" |sort -u - "$file" |func_cmp_s - "$file" \
-        || $ECHO "$str" |sort -u - "$file" -o "$file" \
+      func_grep_q "^$str\$" "$file" \
+          || func_verbose "inserting '$str' into '$file'"
+
+      linesold=`func_gitignore_entries "$file" |wc -l`
+      linesnew=`{ $bs_echo "$str"; cat "$file"; } \
+                |func_gitignore_entries |sort -u |wc -l`
+      test "$linesold" -eq "$linesnew" \
+        || { sed "1i\\$nl$str$nl" "$file" >"$file"T && mv "$file"T "$file"; } \
         || func_permissions_error "$file"
     done
 }
@@ -4391,7 +4540,7 @@ func_get_version ()
 
     # Rather than uncomment the sed script in-situ, strip the comments
     # programatically before passing the result to $SED for evaluation.
-    sed_get_version=`$ECHO '# extract version within line
+    sed_get_version=`$bs_echo '# extract version within line
           s|.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1|
           t done
 
@@ -4418,6 +4567,35 @@ func_get_version ()
 }
 
 
+# func_check_tool APP
+# -------------------
+# Search PATH for an executable at APP.
+func_check_tool ()
+{
+    $debug_cmd
+
+    func_check_tool_result=
+
+    case $1 in
+    *[\\/]*)
+      test -x "$1" && func_check_tool_result=$1
+      ;;
+    *)
+      save_IFS=$IFS
+      IFS=:
+      for _G_check_tool_path in $PATH; do
+        IFS=$save_IFS
+       if test -x "$_G_check_tool_path/$1"; then
+         func_check_tool_result=$_G_check_tool_path/$1
+         break
+       fi
+      done
+      IFS=$save_IFS
+      ;;
+    esac
+}
+
+
 # func_check_versions APP1 VER1 URL1 ...[APPN VERN URLN]
 # ------------------------------------------------------
 func_check_versions ()
@@ -4431,30 +4609,54 @@ func_check_versions ()
       _G_reqver=$1; shift
       _G_url=$1; shift
 
+      # Diagnose bad buildreq formatting.
+      case $_G_url in
+      [a-z]*://*) ;; # looks like a url
+      *) func_fatal_error "\
+'$_G_url' from the buildreq table in
+'bootstrap.conf' does not look like the URL for downloading
+$_G_app. Please ensure that buildreq is a strict newline
+delimited list of triples; 'program min-version url'."
+        ;;
+      esac
+
       # Honor $APP variables ($TAR, $AUTOCONF, etc.)
       _G_appvar=`echo $_G_app |tr '[a-z]' '[A-Z]'`
       test TAR = "$_G_appvar" && _G_appvar=AMTAR
       eval "_G_app=\${$_G_appvar-$_G_app}"
-      _G_instver=`func_get_version $_G_app`
 
-      test -z "$_G_instver" \
-          || func_verbose "found '$_G_app' version $_G_instver."
+      # Fail if no version specified, but the program can't be found.
+      if test x- = "x$_G_reqver"; then
+        func_check_tool $_G_app
+       if test -z "$func_check_tool_result"; then
+         func_error "Prerequisite '$_G_app' not not found. Please install it, 
or
+'export $_G_appvar=/path/to/$_G_app'."
+          func_check_versions_result=false
+       else
+         func_verbose "found '$func_check_tool_result' for $_G_appvar."
+       fi
+      else
+        _G_instver=`func_get_version $_G_app`
+
+        test -z "$_G_instver" \
+            || func_verbose "found '$_G_app' version $_G_instver."
 
-      # Fail if --version didn't work.
-      if test -z "$_G_instver"; then
-        func_error "Prerequisite '$_G_app' not found. Please install it, or
+        # Fail if --version didn't work.
+        if test -z "$_G_instver"; then
+          func_error "Prerequisite '$_G_app' not found. Please install it, or
 'export $_G_appvar=/path/to/$_G_app'."
-        func_check_versions_result=false
-
-      # Fail if a new version than what we have is required.
-      elif test x- != "x$_G_reqver"; then
-        _G_newer=`func_sort_ver $_G_reqver $_G_instver |cut -d' ' -f2`
-        test "$_G_newer" != "$_G_instver" && {
-          func_error "\
-'$_G_app' version == $_G_instver is too old
-'$_G_app' version >= $_G_reqver is required"
           func_check_versions_result=false
-        }
+
+        # Fail if a newer version than what we have is required.
+        else
+          _G_newer=`func_sort_ver $_G_reqver $_G_instver |cut -d' ' -f2`
+          test "$_G_newer" != "$_G_instver" && {
+            func_error "\
+  '$_G_app' version == $_G_instver is too old
+  '$_G_app' version >= $_G_reqver is required"
+            func_check_versions_result=false
+          }
+        fi
       fi
     done
 }
@@ -4511,7 +4713,7 @@ func_update_po_files ()
          |$SED -e 's|.*/||' -e 's|\.po$||' > "$_G_po_dir/LINGUAS" || return
 
     # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6+.
-    func_find_tool SHA1SUM sha1sum gsha1sum shasum
+    func_find_tool SHA1SUM sha1sum gsha1sum shasum sha1
 
     _G_langs=`cd $_G_ref_po_dir && echo *.po|$SED 's|\.po||g'`
     test '*' = "$_G_langs" && _G_langs=x
@@ -4521,11 +4723,11 @@ func_update_po_files ()
       _G_cksum_file=$_G_ref_po_dir/$_G_po.s1
       if ! test -f "$_G_cksum_file" ||
           ! test -f "$_G_po_dir/$_G_po.po" ||
-          ! $SHA1SUM -c --status "$_G_cksum_file" \
+          ! $SHA1SUM -c "$_G_cksum_file" \
               < "$_G_new_po" > /dev/null; then
         echo "updated $_G_po_dir/$_G_po.po..."
         cp "$_G_new_po" "$_G_po_dir/$_G_po.po" \
-          && $SHA1SUM < "$_G_new_po" > "$_G_cksum_file"
+          && $SHA1SUM < "$_G_new_po" > "$_G_cksum_file" || return
       fi
     done
 }
@@ -4632,8 +4834,13 @@ bootstrap_parse_options ()
                       shift
                       ;;
 
-        --skip-git)   opt_skip_git=: ;;
-        --skip-po)    opt_skip_po=: ;;
+        --skip-git|--no-git)
+                      opt_skip_git=:
+                      ;;
+
+        --skip-po|--no-po)
+                      opt_skip_po=:
+                      ;;
 
         # Separate non-argument short options:
         -c*|-f*|-n*)
diff --git a/gl/build-aux/bootstrap.in b/gl/build-aux/bootstrap.in
index 1a8f940..e58cde5 100755
--- a/gl/build-aux/bootstrap.in
+++ b/gl/build-aux/bootstrap.in
@@ -13,7 +13,7 @@
 . `echo "$0" |${SED-sed} 's|[^/]*$||'`"extract-trace"
 
 # Set a version string for *this* script.
-scriptversion=2012-10-21.12; # UTC
+scriptversion=2013-09-15.06; # UTC
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -182,7 +182,7 @@ gnulib_tool_options="
 "
 
 # bootstrap removes any macro-files that are not included by aclocal.m4,
-# except for files listed in this variable which are always kept.
+# except for files listed in this variable that are always kept.
 gnulib_precious="
         gnulib-tool.m4
 "
@@ -227,8 +227,8 @@ copy=false
 
 # Set this to ".cvsignore .gitignore" in 'bootstrap.conf' if you want
 # those files to be generated in directories like 'lib/', 'm4/', and 'po/',
-# or set it to "auto" to make this script select which to use based
-# on which version control system (if any) is used in the source directory.
+# or set it to "auto" to make this script select what to use based
+# on what version control system (if any) is used in the source directory.
 # Or set it to "none" to ignore VCS ignore files entirely.  Default is
 # "auto".
 vc_ignore=
@@ -241,7 +241,7 @@ vc_ignore=
 # After 'bootstrap.conf' has been sourced, execution proceeds by calling
 # 'func_bootstrap'.  Wherever a function is decorated with
 # 'func_hookable func_name', you will find a matching 'func_run_hooks
-# func_name' which executes all functions added with 'func_add_hook
+# func_name', which executes all functions added with 'func_add_hook
 # func_name my_func'.
 #
 # You might notice that many of these functions begin with a series of
@@ -396,35 +396,29 @@ func_gnulib_tool ()
     $require_libtoolize
 
     test true = "$gnulib_tool" || {
+      # bootstrap.conf written for gnulib bootstrap expects
+      # gnulib_tool_option_extras to which --no-changelog is appended,
+      # but libtool bootstrap expects you to append to gnulib_tool_options
+      # so that you can override the --no-changelog default: make sure we
+      # support both styles so users can migrate between them easily.
+      gnulib_tool_all_options="$gnulib_tool_options $gnulib_tool_option_extras"
+
       if test -n "$gnulib_modules"; then
         $require_gnulib_cache
-        $require_build_aux
-        $require_macro_dir
+        $require_gnulib_tool_base_options
+
+        gnulib_mode=--import
 
         # Try not to pick up any stale values from 'gnulib-cache.m4'.
         rm -f "$gnulib_cache"
 
-        gnulib_mode=--import
-
-        # 'gnulib_modules' and others are maintained in 'bootstrap.conf':
-        # Use 'gnulib --import' to fetch gnulib modules.
-        test -n "$build_aux" \
-            && func_append_uniq gnulib_tool_options " --aux-dir=$build_aux"
-        test -n "$macro_dir" \
-            && func_append_uniq gnulib_tool_options " --m4-base=$macro_dir"
-        test -n "$doc_base" \
-            && func_append_uniq gnulib_tool_options " --doc-base=$doc_base"
-        test -n "$gnulib_name" \
-            && func_append_uniq gnulib_tool_options " --lib=$gnulib_name"
-        test -n "$local_gl_dir" \
-            && func_append_uniq gnulib_tool_options " 
--local-dir=$local_gl_dir"
-        test -n "$source_base" \
-            && func_append_uniq gnulib_tool_options " 
--source-base=$source_base"
+        test -n "$gnulib_tool_base_options" \
+            && func_append_uniq gnulib_tool_all_options " 
$gnulib_tool_base_options"
         test -n "$gnulib_mk" \
-            && func_append_uniq gnulib_tool_options " 
--makefile-name=$gnulib_mk"
+            && func_append_uniq gnulib_tool_all_options " 
--makefile-name=$gnulib_mk"
         test -n "$tests_base" && {
-          func_append_uniq gnulib_tool_options " --tests-base=$tests_base"
-          func_append_uniq gnulib_tool_options " --with-tests"
+          func_append_uniq gnulib_tool_all_options " --tests-base=$tests_base"
+          func_append_uniq gnulib_tool_all_options " --with-tests"
         }
       else
 
@@ -435,23 +429,23 @@ func_gnulib_tool ()
 
       # Add a sensible default libtool option to gnulib_tool_options.
       # The embedded echo is to squash whitespace before globbing.
-      case `echo " "$gnulib_tool_options" "` in
+      case `echo " "$gnulib_tool_all_options" "` in
         *" --no-libtool "*|*" --libtool "*) ;;
         *)  if test true = "$LIBTOOLIZE"; then
-              func_append_uniq gnulib_tool_options " --no-libtool"
+              func_append_uniq gnulib_tool_all_options " --no-libtool"
             else
-              func_append_uniq gnulib_tool_options " --libtool"
+              func_append_uniq gnulib_tool_all_options " --libtool"
             fi
             ;;
       esac
 
-      $opt_copy || func_append_uniq gnulib_tool_options " --symlink"
+      $opt_copy || func_append_uniq gnulib_tool_all_options " --symlink"
 
-      func_append_uniq gnulib_tool_options " $gnulib_mode"
-      func_append gnulib_tool_options " $gnulib_modules"
+      func_append_uniq gnulib_tool_all_options " $gnulib_mode"
+      func_append gnulib_tool_all_options " $gnulib_modules"
 
       # The embedded echo is to squash whitespace before display.
-      gnulib_cmd=`echo $gnulib_tool $gnulib_tool_options`
+      gnulib_cmd=`echo $gnulib_tool $gnulib_tool_all_options`
 
       func_show_eval "$gnulib_cmd" 'exit $?'
 
@@ -582,6 +576,9 @@ func_gnulib_tool_copy_file ()
 {
     $debug_cmd
 
+    $require_gnulib_tool
+    $require_patch
+
     if test true = "$gnulib_tool"; then
       # If gnulib-tool is not available (e.g. bootstrapping in a
       # distribution tarball), make sure that at least we have some
@@ -595,22 +592,14 @@ or else specify the location of your 'git' binary by
 setting 'GIT' in the environment so that a fresh
 'gnulib' submodule can be cloned."
     else
-      $require_gnulib_path
-      $require_gnulib_tool
-      $require_local_gl_dir
-      $require_patch
-
-      gnulib_copy_cmd="$gnulib_tool --copy-file"
-      $opt_copy || func_append gnulib_copy_cmd " --symlink"
-      test -n "$local_gl_dir" \
-          && func_append gnulib_copy_cmd " --local-dir=$local_gl_dir"
+      $require_gnulib_copy_cmd
 
       $gnulib_copy_cmd $1 $2 2>/dev/null || {
+        $require_gnulib_path
+
         func_error "'$gnulib_path/$1' does not exist"
         return 1
       }
-
-      $gnulib_copy_cmd $1 $2
     fi
 }
 
@@ -739,7 +728,7 @@ $2"
 # the usual portability constraints of this script, that may seem a very
 # demanding requirement, but it should be ok.  Ignore any failure,
 # which is fine, since this is only a convenience to help developers
-# avoid the relatively unusual case in which a symlinked-to .m4 file is
+# avoid the relatively unusual case where a symlinked-to .m4 file is
 # git-removed from gnulib between successive runs of this script.
 func_clean_dangling_symlinks ()
 {
@@ -1029,7 +1018,7 @@ func_require_build_aux ()
       func_show_eval "mkdir '$build_aux'"
 
       test -n "$vc_ignore_files" \
-          || func_insert_sorted_if_absent "$build_aux" $vc_ignore_files
+          || func_insert_if_absent "$build_aux" $vc_ignore_files
     fi
 
     require_build_aux=:
@@ -1119,7 +1108,7 @@ func_require_buildreq_automake ()
 
       # ...and AM_INIT_AUTOMAKE is declared...
       test -n "$func_extract_trace_result" && {
-        automake_version=`$ECHO "$func_extract_trace_result" \
+        automake_version=`$bs_echo "$func_extract_trace_result" \
            |$SED -e 's|[^0-9]*||' -e 's| .*$||'`
         test -n "$automake_version" || automake_version=-
 
@@ -1144,14 +1133,14 @@ func_require_buildreq_patch ()
 {
     $debug_cmd
 
+    $require_local_gl_dir
+
     # This ensures PATCH is set appropriately by the time
     # func_check_versions enforces $buildreq.
     $require_patch
 
     # If patch is not already listed in $buildreq...
     printf '%s\n' "$buildreq" |func_grep_q '^[  ]*patch' || {
-      $require_local_gl_dir
-
       # The ugly find invocation is necessary to exit with non-zero
       # status for old find binaries that don't support -exec fully.
       if test ! -d "$local_gl_dir" \
@@ -1221,6 +1210,28 @@ defaulting to '$copyright_holder'."
 }
 
 
+# require_doc_base
+# ----------------
+# Ensure doc_base has a sensible value, extracted from 'gnulib-cache.m4'
+# if possible, otherwise letting 'gnulib-tool' pick a default.
+require_doc_base=func_require_doc_base
+func_require_doc_base ()
+{
+    $debug_cmd
+
+    $require_gnulib_cache
+
+    test -f "$gnulib_cache" && test -z "$doc_base" && {
+      func_extract_trace_first "gl_DOC_BASE" "$gnulib_cache"
+      doc_base=$func_extract_trace_first_result
+
+      test -n "$doc_base" && func_verbose "doc_base='$doc_base'"
+    }
+
+    require_doc_base=:
+}
+
+
 # require_dotgitmodules
 # ---------------------
 # Ensure we have a '.gitmodules' file, with appropriate 'gnulib' settings.
@@ -1252,7 +1263,7 @@ func_require_dotgitmodules ()
         } >> .gitmodules
 
         test -n "$vc_ignore_files" \
-          || func_insert_sorted_if_absent ".gitmodules" $vc_ignore_files
+          || func_insert_if_absent ".gitmodules" $vc_ignore_files
       }
     }
 
@@ -1316,6 +1327,25 @@ func_require_gnulib_cache ()
 }
 
 
+# require_gnulib_copy_cmd
+# -----------------------
+# Only calculate the options for copying files with gnulib once.
+require_gnulib_copy_cmd=func_require_gnulib_copy_cmd
+func_require_gnulib_copy_cmd ()
+{
+    $debug_cmd
+
+    $require_gnulib_tool
+    $require_gnulib_tool_base_options
+
+    gnulib_copy_cmd="$gnulib_tool $gnulib_tool_base_options --copy-file"
+    $opt_copy || func_append gnulib_copy_cmd " --symlink"
+    $opt_quiet || func_append gnulib_copy_cmd " --verbose"
+
+    require_gnulib_copy_cmd=:
+}
+
+
 # require_gnulib_merge_changelog
 # ------------------------------
 # See if we can use gnulib's git-merge-changelog merge driver.
@@ -1354,10 +1384,9 @@ func_require_gnulib_mk ()
 {
     $debug_cmd
 
-    test -f "$gnulib_cache" && test -z "$gnulib_mk" && {
-      $require_gnulib_cache
-      $require_macro_dir
+    $require_gnulib_cache
 
+    test -f "$gnulib_cache" && test -z "$gnulib_mk" && {
       func_extract_trace_first "gl_MAKEFILE_NAME" "$gnulib_cache"
       gnulib_mk=$func_extract_trace_first_result
 
@@ -1368,6 +1397,28 @@ func_require_gnulib_mk ()
 }
 
 
+# require_gnulib_name
+# -------------------
+# Ensure gnulib_name has a sensible value, extracted from 'gnulib-cache.m4'
+# if possible, otherwise letting 'gnulib-tool' pick a default.
+require_gnulib_name=func_require_gnulib_name
+func_require_gnulib_name ()
+{
+    $debug_cmd
+
+    $require_gnulib_cache
+
+    test -f "$gnulib_cache" && test -z "$gnulib_name" && {
+      func_extract_trace_first "gl_LIB" "$gnulib_cache"
+      gnulib_name=$func_extract_trace_first_result
+
+      test -n "$gnulib_name" && func_verbose "gnulib_name='$gnulib_name'"
+    }
+
+    require_gnulib_name=:
+}
+
+
 # require_gnulib_path
 # require_gnulib_url
 # -------------------
@@ -1482,9 +1533,8 @@ func_require_gnulib_tool ()
 {
     $debug_cmd
 
-    $require_gnulib_submodule
-
     test true = "$gnulib_tool" || {
+      $require_gnulib_submodule
       $require_gnulib_path
 
       test -n "$gnulib_tool" \
@@ -1504,6 +1554,46 @@ func_require_gnulib_tool ()
 }
 
 
+# require_gnulib_tool_base_options
+# --------------------------------
+# Ensure that '$gnulib_tool_base_options' contains all the base options
+# required according to user configuration from bootstrap.conf.
+require_gnulib_tool_base_options=func_require_gnulib_tool_base_options
+func_require_gnulib_tool_base_options ()
+{
+    $debug_cmd
+
+    $require_gnulib_tool
+
+    gnulib_tool_base_options=
+
+    test true = "$gnulib_tool" || {
+      # 'gnulib_modules' and others are maintained in 'bootstrap.conf':
+      # Use 'gnulib --import' to fetch gnulib modules.
+      $require_build_aux
+      test -n "$build_aux" \
+          && func_append_uniq gnulib_tool_base_options " --aux-dir=$build_aux"
+      $require_macro_dir
+      test -n "$macro_dir" \
+          && func_append_uniq gnulib_tool_base_options " --m4-base=$macro_dir"
+      $require_doc_base
+      test -n "$doc_base" \
+          && func_append_uniq gnulib_tool_base_options " --doc-base=$doc_base"
+      $require_gnulib_name
+      test -n "$gnulib_name" \
+          && func_append_uniq gnulib_tool_base_options " --lib=$gnulib_name"
+      $require_local_gl_dir
+      test -n "$local_gl_dir" \
+          && func_append_uniq gnulib_tool_base_options " 
--local-dir=$local_gl_dir"
+      $require_source_base
+      test -n "$source_base" \
+          && func_append_uniq gnulib_tool_base_options " 
--source-base=$source_base"
+    }
+
+    require_gnulib_tool_base_options=:
+}
+
+
 # require_libtoolize
 # ------------------
 # Skip libtoolize if it's not needed.
@@ -1540,21 +1630,21 @@ func_require_libtoolize ()
 
 # require_local_gl_dir
 # --------------------
+# Ensure local_gl_dir has a sensible value, extracted from 'gnulib-cache.m4'
+# if possible, otherwise letting 'gnulib-tool' pick a default.
 require_local_gl_dir=func_require_local_gl_dir
 func_require_local_gl_dir ()
 {
     $debug_cmd
 
-    # Only if local_gl_dir is not set already, and no gnulib_modules are
-    # listed is gnulib-cache.m4 the definitive value for local_gl_dir.
-    test -n "$local_gl_diri$gnulib_modules" || {
-      $require_gnulib_cache
+    $require_gnulib_cache
 
-      func_extract_trace gl_LOCAL_DIR $gnulib_cache
-      local_gl_dir=$func_extract_trace_result
-    }
+    test -f "$gnulib_cache" && test -z "$local_gl_dir" && {
+      func_extract_trace_first "gl_LOCAL_DIR" "$gnulib_cache"
+      local_gl_dir=$func_extract_trace_first_result
 
-    func_verbose "found gnulib overrides in '$local_gl_dir'"
+      test -n "$local_gl_dir" && func_verbose "local_gl_dir='$local_gl_dir'"
+    }
 
     require_local_gl_dir=:
 }
@@ -1609,7 +1699,7 @@ func_require_macro_dir ()
       mkdir "$macro_dir" || func_permissions_error "$macro_dir"
 
       test -n "$vc_ignore_files" \
-        || func_insert_sorted_if_absent "$macro_dir" $vc_ignore_files
+        || func_insert_if_absent "$macro_dir" $vc_ignore_files
     fi
 
     require_macro_dir=:
@@ -1762,7 +1852,7 @@ func_require_patch ()
     $debug_cmd
 
     test -n "$PATCH" || {
-      # Find a patch program, preferring gpatch which is usually better
+      # Find a patch program, preferring gpatch, which is usually better
       # than the vendor patch.
       func_find_tool PATCH gpatch patch
     }
@@ -1788,8 +1878,6 @@ func_require_source_base ()
     $require_gnulib_cache
 
     test -f "$gnulib_cache" && test -z "$source_base" && {
-      $require_macro_dir
-
       func_extract_trace_first "gl_SOURCE_BASE" "$gnulib_cache"
 
       source_base=$func_extract_trace_first_result
@@ -1907,7 +1995,7 @@ func_ifcontains ()
     $debug_cmd
 
     # The embedded echo is to squash whitespace before globbing.
-    _G_wslist=`$ECHO " "$1" "`
+    _G_wslist=`$bs_echo " "$1" "`
     _G_member=$2
     _G_yes_cmd=$3
     _G_no_cmd=${4-":"}
@@ -1935,7 +2023,7 @@ func_strpad ()
     $debug_cmd
 
     _G_width=`expr "$2" - 1`
-    func_strpad_result=`$ECHO "$1" |$SED '
+    func_strpad_result=`$bs_echo "$1" |$SED '
         :a
         s|^.\{0,'"$_G_width"'\}$|&'"$3"'|
         ta
@@ -1952,7 +2040,7 @@ func_strrpad ()
     $debug_cmd
 
     _G_width=`expr "$2" - 1`
-    func_strrpad_result=`$ECHO "$1" |$SED '
+    func_strrpad_result=`$bs_echo "$1" |$SED '
         :a
         s|^.\{0,'"$_G_width"'\}$|'"$3"'&|
         ta
@@ -2037,7 +2125,7 @@ func_strtable ()
 
     # Strip off the indent, and make a divider with '-' chars, then
     # reindent.
-    _G_divider=`$ECHO "$func_strrow_result" \
+    _G_divider=`$bs_echo "$func_strrow_result" \
         |$SED 's|[^ ]|-|g
             :a
             s|- |--|g
@@ -2157,11 +2245,25 @@ func_truncate_cmd ()
 }
 
 
-# func_insert_sorted_if_absent STR FILE...
-# ----------------------------------------
-# If $STR is not already on a line by itself in $FILE, insert it,
+# func_gitignore_entries FILE...
+# ------------------------------
+# Strip blank and comment lines to leave significant entries.
+func_gitignore_entries ()
+{
+    $debug_cmd
+
+    sed -e '/^#/d' -e '/^$/d' "$@"
+}
+
+
+# func_insert_if_absent STR FILE...
+# ---------------------------------
+# If $STR is not already on a line by itself in $FILE, insert it, at the
+# start.  Entries are inserted at the start of the ignore list to ensure
+# existing entries starting with ! are not overridden.  Such entries
+# support whilelisting exceptions after a more generic blacklist pattern.
 # sorting the new contents of the file and replacing $FILE with the result.
-func_insert_sorted_if_absent ()
+func_insert_if_absent ()
 {
     $debug_cmd
 
@@ -2172,11 +2274,18 @@ func_insert_sorted_if_absent ()
     do
       test -f "$file" || touch "$file"
 
-      func_grep_q "$str" "$file" \
-          && func_verbose "inserting '$str' into '$file'"
+      duplicate_entries=`func_gitignore_entries "$file" |sort |uniq -d`
+      test -n "$duplicate_entries" \
+          && func_error "duplicate entries in $file: " $duplicate_entries
 
-      $ECHO "$str" |sort -u - "$file" |func_cmp_s - "$file" \
-        || $ECHO "$str" |sort -u - "$file" -o "$file" \
+      func_grep_q "^$str\$" "$file" \
+          || func_verbose "inserting '$str' into '$file'"
+
+      linesold=`func_gitignore_entries "$file" |wc -l`
+      linesnew=`{ $bs_echo "$str"; cat "$file"; } \
+                |func_gitignore_entries |sort -u |wc -l`
+      test "$linesold" -eq "$linesnew" \
+        || { sed "1i\\$nl$str$nl" "$file" >"$file"T && mv "$file"T "$file"; } \
         || func_permissions_error "$file"
     done
 }
@@ -2241,7 +2350,7 @@ func_get_version ()
 
     # Rather than uncomment the sed script in-situ, strip the comments
     # programatically before passing the result to $SED for evaluation.
-    sed_get_version=`$ECHO '# extract version within line
+    sed_get_version=`$bs_echo '# extract version within line
           s|.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1|
           t done
 
@@ -2268,6 +2377,35 @@ func_get_version ()
 }
 
 
+# func_check_tool APP
+# -------------------
+# Search PATH for an executable at APP.
+func_check_tool ()
+{
+    $debug_cmd
+
+    func_check_tool_result=
+
+    case $1 in
+    *[\\/]*)
+      test -x "$1" && func_check_tool_result=$1
+      ;;
+    *)
+      save_IFS=$IFS
+      IFS=:
+      for _G_check_tool_path in $PATH; do
+        IFS=$save_IFS
+       if test -x "$_G_check_tool_path/$1"; then
+         func_check_tool_result=$_G_check_tool_path/$1
+         break
+       fi
+      done
+      IFS=$save_IFS
+      ;;
+    esac
+}
+
+
 # func_check_versions APP1 VER1 URL1 ...[APPN VERN URLN]
 # ------------------------------------------------------
 func_check_versions ()
@@ -2281,30 +2419,54 @@ func_check_versions ()
       _G_reqver=$1; shift
       _G_url=$1; shift
 
+      # Diagnose bad buildreq formatting.
+      case $_G_url in
+      [a-z]*://*) ;; # looks like a url
+      *) func_fatal_error "\
+'$_G_url' from the buildreq table in
+'bootstrap.conf' does not look like the URL for downloading
+$_G_app. Please ensure that buildreq is a strict newline
+delimited list of triples; 'program min-version url'."
+        ;;
+      esac
+
       # Honor $APP variables ($TAR, $AUTOCONF, etc.)
       _G_appvar=`echo $_G_app |tr '[a-z]' '[A-Z]'`
       test TAR = "$_G_appvar" && _G_appvar=AMTAR
       eval "_G_app=\${$_G_appvar-$_G_app}"
-      _G_instver=`func_get_version $_G_app`
 
-      test -z "$_G_instver" \
-          || func_verbose "found '$_G_app' version $_G_instver."
+      # Fail if no version specified, but the program can't be found.
+      if test x- = "x$_G_reqver"; then
+        func_check_tool $_G_app
+       if test -z "$func_check_tool_result"; then
+         func_error "Prerequisite '$_G_app' not not found. Please install it, 
or
+'export $_G_appvar=/path/to/$_G_app'."
+          func_check_versions_result=false
+       else
+         func_verbose "found '$func_check_tool_result' for $_G_appvar."
+       fi
+      else
+        _G_instver=`func_get_version $_G_app`
+
+        test -z "$_G_instver" \
+            || func_verbose "found '$_G_app' version $_G_instver."
 
-      # Fail if --version didn't work.
-      if test -z "$_G_instver"; then
-        func_error "Prerequisite '$_G_app' not found. Please install it, or
+        # Fail if --version didn't work.
+        if test -z "$_G_instver"; then
+          func_error "Prerequisite '$_G_app' not found. Please install it, or
 'export $_G_appvar=/path/to/$_G_app'."
-        func_check_versions_result=false
-
-      # Fail if a new version than what we have is required.
-      elif test x- != "x$_G_reqver"; then
-        _G_newer=`func_sort_ver $_G_reqver $_G_instver |cut -d' ' -f2`
-        test "$_G_newer" != "$_G_instver" && {
-          func_error "\
-'$_G_app' version == $_G_instver is too old
-'$_G_app' version >= $_G_reqver is required"
           func_check_versions_result=false
-        }
+
+        # Fail if a newer version than what we have is required.
+        else
+          _G_newer=`func_sort_ver $_G_reqver $_G_instver |cut -d' ' -f2`
+          test "$_G_newer" != "$_G_instver" && {
+            func_error "\
+  '$_G_app' version == $_G_instver is too old
+  '$_G_app' version >= $_G_reqver is required"
+            func_check_versions_result=false
+          }
+        fi
       fi
     done
 }
@@ -2361,7 +2523,7 @@ func_update_po_files ()
          |$SED -e 's|.*/||' -e 's|\.po$||' > "$_G_po_dir/LINGUAS" || return
 
     # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6+.
-    func_find_tool SHA1SUM sha1sum gsha1sum shasum
+    func_find_tool SHA1SUM sha1sum gsha1sum shasum sha1
 
     _G_langs=`cd $_G_ref_po_dir && echo *.po|$SED 's|\.po||g'`
     test '*' = "$_G_langs" && _G_langs=x
@@ -2371,11 +2533,11 @@ func_update_po_files ()
       _G_cksum_file=$_G_ref_po_dir/$_G_po.s1
       if ! test -f "$_G_cksum_file" ||
           ! test -f "$_G_po_dir/$_G_po.po" ||
-          ! $SHA1SUM -c --status "$_G_cksum_file" \
+          ! $SHA1SUM -c "$_G_cksum_file" \
               < "$_G_new_po" > /dev/null; then
         echo "updated $_G_po_dir/$_G_po.po..."
         cp "$_G_new_po" "$_G_po_dir/$_G_po.po" \
-          && $SHA1SUM < "$_G_new_po" > "$_G_cksum_file"
+          && $SHA1SUM < "$_G_new_po" > "$_G_cksum_file" || return
       fi
     done
 }
@@ -2482,8 +2644,13 @@ bootstrap_parse_options ()
                       shift
                       ;;
 
-        --skip-git)   opt_skip_git=: ;;
-        --skip-po)    opt_skip_po=: ;;
+        --skip-git|--no-git)
+                      opt_skip_git=:
+                      ;;
+
+        --skip-po|--no-po)
+                      opt_skip_po=:
+                      ;;
 
         # Separate non-argument short options:
         -c*|-f*|-n*)
diff --git a/gl/build-aux/extract-trace b/gl/build-aux/extract-trace
index 5d6fd25..5e42ea7 100755
--- a/gl/build-aux/extract-trace
+++ b/gl/build-aux/extract-trace
@@ -12,7 +12,7 @@ test -z "$progpath" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/funclib.sh
 test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/options-parser
 
 # Set a version string.
-scriptversion=2012-10-07.10; # UTC
+scriptversion=2013-08-22.10; # UTC
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -55,7 +55,7 @@ scriptversion=2012-10-07.10; # UTC
 # func_autoconf_configure MAYBE-CONFIGURE-FILE
 # --------------------------------------------
 # Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current
-# directory which contains an uncommented call to AC_INIT.
+# directory that contains an uncommented call to AC_INIT.
 func_autoconf_configure ()
 {
     $debug_cmd
@@ -178,7 +178,7 @@ func_tool_version_output ()
 # require_configure_ac
 # --------------------
 # Ensure that there is a 'configure.ac' or 'configure.in' file in the
-# current directory which contains an uncommented call to AC_INIT, and
+# current directory that contains an uncommented call to AC_INIT, and
 # that '$configure_ac' contains its name.
 require_configure_ac=func_require_configure_ac
 func_require_configure_ac ()
@@ -242,8 +242,8 @@ func_extract_trace ()
     $require_configure_ac
     $require_gnu_m4
 
-    _G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'`
-    _G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'`
+    _G_m4_traces=`$bs_echo "--trace=$1" |$SED 's%,% --trace=%g'`
+    _G_re_macros=`$bs_echo "($1)" |$SED 's%,%|%g'`
     _G_macros="$1"; shift
     test $# -gt 0 || {
       set dummy $configure_ac
@@ -345,7 +345,7 @@ func_extract_trace ()
 
     # Save the command pipeline results for further use by callers of
     # this function.
-    func_extract_trace_result=`$ECHO "$_G_mini" \
+    func_extract_trace_result=`$bs_echo "$_G_mini" \
       |$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \
       |$SED -n -e "$_G_transform"`
 }
@@ -361,7 +361,7 @@ func_extract_trace_first ()
     $debug_cmd
 
     func_extract_trace ${1+"$@"}
-    func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \
+    func_extract_trace_first_result=`$bs_echo "$func_extract_trace_result" \
       |$SED -e 's|:.*$||g' -e 1q`
 }
 
@@ -397,7 +397,7 @@ on a separate line.'
 
     # Display results.
     test -n "$func_extract_trace_result" \
-        && $ECHO "$func_extract_trace_result"
+        && $bs_echo "$func_extract_trace_result"
 
     # The End.
     exit $EXIT_SUCCESS
diff --git a/gl/build-aux/funclib.sh b/gl/build-aux/funclib.sh
index 415ac50..fbaa8d0 100644
--- a/gl/build-aux/funclib.sh
+++ b/gl/build-aux/funclib.sh
@@ -1,5 +1,5 @@
 # Set a version string for this script.
-scriptversion=2013-03-08.12; # UTC
+scriptversion=2013-08-23.20; # UTC
 
 # General shell script boiler plate, and helper functions.
 # Written by Gary V. Vaughan, 2004
@@ -82,7 +82,47 @@ done
 sp=' '
 nl='
 '
-IFS="  $sp$nl"
+IFS="$sp       $nl"
+
+# There are still modern systems that have problems with 'echo' mis-
+# handling backslashes, among others, so make sure $bs_echo is set to a
+# command that correctly interprets backslashes.
+# (this code from Autoconf 2.68)
+
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+bs_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+bs_echo=$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo
+bs_echo=$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $bs_echo`" = "X$bs_echo") 2>/dev/null; then
+  bs_echo='print -r --'
+  bs_echo_n='print -rn --'
+elif (test "X`printf %s $bs_echo`" = "X$bs_echo") 2>/dev/null; then
+  bs_echo='printf %s\n'
+  bs_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $bs_echo) 2>/dev/null`" = "X-n $bs_echo"; 
then
+    bs_echo_body='eval /usr/ucb/echo -n "$1$nl"'
+    bs_echo_n='/usr/ucb/echo -n'
+  else
+    bs_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    bs_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$nl"*)
+       expr "X$arg" : "X\\(.*\\)$nl";
+       arg=`expr "X$arg" : ".*$nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$nl"
+    '
+    export bs_echo_n_body
+    bs_echo_n='sh -c $bs_echo_n_body bs_echo'
+  fi
+  export bs_echo_body
+  bs_echo='sh -c $bs_echo_body bs_echo'
+fi
 
 
 ## ------------------------------- ##
@@ -95,7 +135,7 @@ IFS="        $sp$nl"
 # in the command search PATH.
 
 : ${CP="cp -f"}
-: ${ECHO='printf %s\n'}
+: ${ECHO="$bs_echo"}
 : ${EGREP="grep -E"}
 : ${FGREP="grep -F"}
 : ${GREP="grep"}
@@ -127,7 +167,7 @@ sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
 sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
 
 # Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
+# that contains forward slashes, into one that contains
 # (escaped) backslashes.  A very naive implementation.
 sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
 
@@ -195,13 +235,13 @@ exit_status=$EXIT_SUCCESS
 progpath=$0
 
 # The name of this program.
-progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+progname=`$bs_echo "$progpath" |$SED "$sed_basename"`
 
 # Make sure we have an absolute progpath for reexecution:
 case $progpath in
   [\\/]*|[A-Za-z]:\\*) ;;
   *[\\/]*)
-     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+     progdir=`$bs_echo "$progpath" |$SED "$sed_dirname"`
      progdir=`cd "$progdir" && pwd`
      progpath=$progdir/$progname
      ;;
@@ -395,7 +435,7 @@ func_append_uniq ()
 {
     $debug_cmd
 
-    eval _G_current_value='`$ECHO $'$1'`'
+    eval _G_current_value='`$bs_echo $'$1'`'
     _G_delim=`expr "$2" : '\(.\)'`
 
     case $_G_delim$_G_current_value$_G_delim in
@@ -508,7 +548,7 @@ func_echo ()
     IFS=$nl
     for _G_line in $_G_message; do
       IFS=$func_echo_IFS
-      $ECHO "$progname: $_G_line"
+      $bs_echo "$progname: $_G_line"
     done
     IFS=$func_echo_IFS
 }
@@ -542,8 +582,8 @@ func_echo_infix_1 ()
     for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" 
"$tc_blue" "$tc_cyan"
     do
       test -n "$_G_tc" && {
-        _G_esc_tc=`$ECHO "$_G_tc" | sed "$sed_make_literal_regex"`
-        _G_indent=`$ECHO "$_G_indent" | sed "s|$_G_esc_tc||g"`
+        _G_esc_tc=`$bs_echo "$_G_tc" | sed "$sed_make_literal_regex"`
+        _G_indent=`$bs_echo "$_G_indent" | sed "s|$_G_esc_tc||g"`
       }
     done
     _G_indent="$progname: "`echo "$_G_indent" | sed 's|.| |g'`"  " ## exclude 
from sc_prohibit_nested_quotes
@@ -552,7 +592,7 @@ func_echo_infix_1 ()
     IFS=$nl
     for _G_line in $_G_message; do
       IFS=$func_echo_infix_1_IFS
-      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+      $bs_echo "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
       _G_prefix=$_G_indent
     done
     IFS=$func_echo_infix_1_IFS
@@ -885,7 +925,7 @@ func_relative_path ()
 #   i) func_quote_for_eval_result
 #      double-quoted, suitable for a subsequent eval
 #  ii) func_quote_for_eval_unquoted_result
-#      has just all characters which are still active within double
+#      has all characters that are still active within double
 #      quotes backslashified.
 func_quote_for_eval ()
 {
diff --git a/gl/build-aux/options-parser b/gl/build-aux/options-parser
index f504851..13cd39b 100644
--- a/gl/build-aux/options-parser
+++ b/gl/build-aux/options-parser
@@ -146,7 +146,7 @@ func_remove_hook ()
 {
     $debug_cmd
 
-    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+    eval ${1}_hooks='`$bs_echo "\$'$1'_hooks" |$SED "s| '$2'||"`'
 }
 
 
@@ -439,8 +439,8 @@ func_fatal_help ()
 {
     $debug_cmd
 
-    eval \$ECHO \""Usage: $usage"\"
-    eval \$ECHO \""$fatal_help"\"
+    eval \$bs_echo \""Usage: $usage"\"
+    eval \$bs_echo \""$fatal_help"\"
     func_error ${1+"$@"}
     exit $EXIT_FAILURE
 }
@@ -454,7 +454,7 @@ func_help ()
     $debug_cmd
 
     func_usage_message
-    $ECHO "$long_help_message"
+    $bs_echo "$long_help_message"
     exit 0
 }
 
@@ -541,7 +541,7 @@ func_usage ()
     $debug_cmd
 
     func_usage_message
-    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+    $bs_echo "Run '$progname --help |${PAGER-more}' for full usage"
     exit 0
 }
 
@@ -553,7 +553,7 @@ func_usage_message ()
 {
     $debug_cmd
 
-    eval \$ECHO \""Usage: $usage"\"
+    eval \$bs_echo \""Usage: $usage"\"
     echo
     $SED -n 's|^# ||
         /^Written by/{
@@ -562,7 +562,7 @@ func_usage_message ()
        h
        /^Written by/q' < "$progpath"
     echo
-    eval \$ECHO \""$usage_message"\"
+    eval \$bs_echo \""$usage_message"\"
 }
 
 


hooks/post-receive
-- 
GNU M4 source repository



reply via email to

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