]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20140103 snapshot
authorChet Ramey <chet.ramey@case.edu>
Thu, 16 Jan 2014 19:29:31 +0000 (14:29 -0500)
committerChet Ramey <chet.ramey@case.edu>
Thu, 16 Jan 2014 19:29:31 +0000 (14:29 -0500)
28 files changed:
CWRU/CWRU.chlog
CWRU/POSIX.NOTES.old [new file with mode: 0644]
CWRU/old/set.def.save [new file with mode: 0644]
CWRU/save/unwind_prot.h.save [new file with mode: 0644]
MANIFEST
Makefile.in
autom4te.cache/output.0
autom4te.cache/traces.0
braces.c
builtins/printf.def
configure
configure.ac
cross-build/cygwin32.cache.old [new file with mode: 0644]
doc/FAQ.orig [new file with mode: 0644]
examples/loadables/Makefile.in.save [new file with mode: 0644]
execute_cmd.c
expr.c
externs.h
lib/readline/doc/Makefile.old [new file with mode: 0644]
lib/sh/Makefile.in
lib/sh/itos.c
lib/sh/strdup.c [new file with mode: 0644]
lib/sh/stringvec.c
sig.c
tests/misc/regress/log.orig [new file with mode: 0644]
tests/misc/regress/shx.orig [new file with mode: 0644]
trap.c
trap.h

index 0abfed874de23eab1cbd37c0d125f0f0f45ab8c7..45d39ce1ce376b1da2465a8afd3f8ba80845c123 100644 (file)
@@ -5525,3 +5525,60 @@ lib/readline/undo.c
          reflected in the history entry. We use the guts of
          rl_maybe_replace_line to do the work.  Fixes problem reported by
          gregrwm <backuppc-users@whitleymott.net>
+
+                                  12/30
+                                  -----
+sig.c
+       - sigint_sighandler: if we get a SIGINT (and this signal handler is
+         installed) while the wait builtin is running, note that we received
+         it in the same way as jobs.c:wait_sigint_handler and return.  The
+         various wait_for functions will look for that with CHECK_WAIT_INTR.
+         This fixes the wait builtin not being interruptible in an interactive
+         job control shell
+
+                                  12/31
+                                  -----
+trap.c
+       - set_signal_hard_ignored: rename set_signal_ignored to this, since it
+         both sets original_signals[sig] and sets the HARD_IGNORE flag
+       - set_signal_ignored: new function, now just sets original_signals[sig]
+
+trap.h
+       - set_signal_hard_ignored: new external declaration
+
+sig.c
+       - initialize_terminating_signals: call set_signal_hard_ignored instead
+         of set_signal_ignored for signals with disposition SIG_IGN when the
+         shell starts
+
+execute_cmd.c
+       - setup_async_signals: make sure we get the original dispositions for
+         SIGINT and SIGQUIT before starting the subshell, and don't call
+         set_signal_ignored  because that sets original_signals[sig].  If we
+         don't, subsequent attempts to reset handling using trap will fail
+         because it thinks the original dispositions were SIG_IGN. Posix
+         interpretation 751 (http://austingroupbugs.net/view.php?id=751)
+
+                                1/2/2014
+                                --------
+lib/sh/stringvec.c
+       - strvec_mcreate, strvec_mresize: versions of create and resize that
+         use malloc and realloc, respectively, instead of xmalloc/xrealloc
+
+braces.c
+       - expand_amble,mkseq: use strvec_mcreate/strvec_mresize so we can
+         catch and handle memory allocation failures instead of aborting
+         with the xmalloc/xrealloc interface
+
+lib/sh/strdup.c
+       - strdup replacement function for ancient systems that don't have it
+
+lib/sh/itos.c
+       - mitos: new function, itos that uses strdup instead of savestring
+
+externs.h
+       - strvec_mcreate/strvec_mresize: new extern declarations
+       - mitos: new extern declaration
+
+configure.ac
+       - bash version moved to 4.3-rc2
diff --git a/CWRU/POSIX.NOTES.old b/CWRU/POSIX.NOTES.old
new file mode 100644 (file)
index 0000000..1707ab1
--- /dev/null
@@ -0,0 +1,82 @@
+Starting bash with the `--posix' command-line option or executing
+`set -o posix' while bash is running will cause bash to conform more
+closely to the Posix.2 standard by changing the behavior to match that
+specified by Posix.2 in areas where the bash default differs.
+
+The following list is what's changed when `posix mode' is in effect:
+
+1.  When a command in the hash table no longer exists, bash will re-search
+    $PATH to find the new location.  This is also available with
+    `shopt -s checkhash'.
+
+2.  The >& redirection does not redirect stdout and stderr.
+
+3.  The message printed by the job control code and builtins when a job
+    exits with a non-zero status is `Done(status)'.
+
+4.  Reserved words may not be aliased.
+
+5.  The Posix.2 PS1 and PS2 expansions of `!' -> history number and
+    `!!' -> `!' are enabled, and parameter expansion is performed on
+    the value regardless of the setting of the `promptvars' option.
+
+6.  Interactive comments are enabled by default.  (Note that bash has
+    them on by default anyway.)
+
+7.  The Posix.2 startup files are executed ($ENV) rather than the normal
+    bash files.
+
+8.  Tilde expansion is only performed on assignments preceding a command
+    name, rather than on all assignment statements on the line.
+
+9.  The default history file is ~/.sh_history (default value of $HISTFILE).
+
+10. The output of `kill -l' prints all the signal names on a single line,
+    separated by spaces.
+
+11. Non-interactive shells exit if `file' in `. file' is not found.
+
+12. Redirection operators do not perform pathname expansion on the word
+    in the redirection unless the shell is interactive
+
+13. Function names must be valid shell identifiers.  That is, they may not
+    contain characters other than letters, digits, and underscores, and
+    may not start with a digit.  Declaring a function with an illegal name
+    causes a fatal syntax error in non-interactive shells.
+
+14. Posix.2 `special' builtins are found before shell functions during command
+    lookup.
+
+15. If a Posix.2 special builtin returns an error status, a non-interactive
+    shell exits.  The fatal errors are those listed in the POSIX.2 standard,
+    and include things like passing incorrect options, redirection errors,
+    variable assignment errors for assignments preceding the command name,
+    and so on.
+
+16. The environment passed to executed commands is not sorted.  Neither is
+    the output of `set'.  This is not strictly Posix.2 behavior, but sh
+    does it this way.  Ksh does not.  It's not necessary to sort the
+    environment; no program should rely on it being sorted.
+
+17. If the `cd' builtin finds a directory to change to using $CDPATH, the
+    value it assigns to $PWD does not contain any symbolic links, as if
+    `cd -P' had been executed.
+
+18. A non-interactive shell exits with an error status if a variable
+    assignment error occurs when no command name follows the assignment
+    statements.  A variable assignment error occurs, for example, when
+    trying to assign a value to a read-only variable.
+
+19. A non-interactive shell exits with an error status if the iteration
+    variable in a for statement or the selection variable in a select
+    statement is a read-only variable.
+
+20. Process substitution is not available.
+
+21. Assignment statements preceding POSIX.2 `special' builtins persist in
+    the shell environment after the builtin completes.
+
+There is other Posix.2 behavior that bash does not implement.  Specifically:
+
+1.  Assignment statements affect the execution environment of all builtins,
+    not just special ones.
diff --git a/CWRU/old/set.def.save b/CWRU/old/set.def.save
new file mode 100644 (file)
index 0000000..87b78d7
--- /dev/null
@@ -0,0 +1,544 @@
+This file is set.def, from which is created set.c.
+It implements the "set" and "unset" builtins in Bash.
+
+Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc.
+
+This file is part of GNU Bash, the Bourne Again SHell.
+
+Bash is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 1, or (at your option) any later
+version.
+
+Bash is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License along
+with Bash; see the file COPYING.  If not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+$PRODUCES set.c
+
+#include <stdio.h>
+#include "../shell.h"
+#include "../flags.h"
+
+#include "bashgetopt.h"
+
+extern int interactive;
+extern int noclobber, posixly_correct;
+#if defined (READLINE)
+extern int rl_editing_mode, no_line_editing;
+#endif /* READLINE */
+
+$BUILTIN set
+$FUNCTION set_builtin
+$SHORT_DOC set [--abefhkmnptuvxldBCHP] [-o option] [arg ...]
+    -a  Mark variables which are modified or created for export.
+    -b  Notify of job termination immediately.
+    -e  Exit immediately if a command exits with a non-zero status.
+    -f  Disable file name generation (globbing).
+    -h  Locate and remember function commands as functions are
+        defined.  Function commands are normally looked up when
+        the function is executed.
+    -i  Force the shell to be an "interactive" one.  Interactive shells
+        always read `~/.bashrc' on startup.
+    -k  All keyword arguments are placed in the environment for a
+        command, not just those that precede the command name.
+    -m  Job control is enabled.
+    -n  Read commands but do not execute them.
+    -o option-name
+        Set the variable corresponding to option-name:
+            allexport    same as -a
+            braceexpand  same as -B
+#if defined (READLINE)
+            emacs        use an emacs-style line editing interface
+#endif /* READLINE */
+            errexit      same as -e
+            histexpand   same as -H
+            ignoreeof    the shell will not exit upon reading EOF
+            interactive-comments
+                         allow comments to appear in interactive commands
+            monitor      same as -m
+            noclobber    disallow redirection to existing files
+            noexec       same as -n
+            noglob       same as -f
+            nohash       same as -d
+            notify       save as -b
+            nounset      same as -u
+           physical     same as -P
+           posix        change the behavior of bash where the default
+                        operation differs from the 1003.2 standard to
+                        match the standard
+           privileged   same as -p
+            verbose      same as -v
+#if defined (READLINE)
+            vi           use a vi-style line editing interface
+#endif /* READLINE */
+            xtrace       same as -x
+    -p  Turned on whenever the real and effective user ids do not match.
+        Disables processing of the $ENV file and importing of shell
+        functions.  Turning this option off causes the effective uid and
+       gid to be set to the real uid and gid.
+    -t  Exit after reading and executing one command.
+    -u  Treat unset variables as an error when substituting.
+    -v  Print shell input lines as they are read.
+    -x  Print commands and their arguments as they are executed.
+    -l  Save and restore the binding of the NAME in a FOR command.
+    -d  Disable the hashing of commands that are looked up for execution.
+        Normally, commands are remembered in a hash table, and once
+        found, do not have to be looked up again.
+#if defined (BRACE_EXPANSION)
+    -B  the shell will perform brace expansion
+#endif /* BRACE_EXPANSION */
+#if defined (BANG_HISTORY)
+    -H  Enable ! style history substitution.  This flag is on
+        by default.
+#endif /* BANG_HISTORY */
+    -C  If set, disallow existing regular files to be overwritten
+        by redirection of output.
+    -P  If set, do not follow symbolic links when executing commands
+        such as cd which change the current directory.
+
+Using + rather than - causes these flags to be turned off.  The
+flags can also be used upon invocation of the shell.  The current
+set of flags may be found in $-.  The remaining n ARGs are positional
+parameters and are assigned, in order, to $1, $2, .. $n.  If no
+ARGs are given, all shell variables are printed.
+$END
+
+/* An a-list used to match long options for set -o to the corresponding
+   option letter. */
+struct {
+  char *name;
+  int letter;
+} o_options[] = {
+  { "allexport",  'a' },
+#if defined (BRACE_EXPANSION)
+  { "braceexpand",'B' },
+#endif
+  { "errexit",   'e' },
+  { "histexpand", 'H' },
+  { "monitor",   'm' },
+  { "noexec",    'n' },
+  { "noglob",    'f' },
+  { "nohash",    'd' },
+#if defined (JOB_CONTROL)
+  { "notify",    'b' },
+#endif /* JOB_CONTROL */
+  {"nounset",    'u' },
+  {"physical",    'P' },
+  {"privileged",  'p' },
+  {"verbose",    'v' },
+  {"xtrace",     'x' },
+  {(char *)NULL, 0},
+};
+
+#define MINUS_O_FORMAT "%-15s\t%s\n"
+
+void
+list_minus_o_opts ()
+{
+  register int i;
+  char *on = "on", *off = "off";
+
+  printf (MINUS_O_FORMAT, "noclobber", (noclobber == 1) ? on : off);
+
+  if (find_variable ("ignoreeof") || find_variable ("IGNOREEOF"))
+    printf (MINUS_O_FORMAT, "ignoreeof", on);
+  else
+    printf (MINUS_O_FORMAT, "ignoreeof", off);
+
+  printf (MINUS_O_FORMAT, "interactive-comments",
+         interactive_comments ? on : off);
+
+  printf (MINUS_O_FORMAT, "posix", posixly_correct ? on : off);
+
+#if defined (READLINE)
+  if (no_line_editing)
+    {
+      printf (MINUS_O_FORMAT, "emacs", off);
+      printf (MINUS_O_FORMAT, "vi", off);
+    }
+  else
+    {
+      /* Magic.  This code `knows' how readline handles rl_editing_mode. */
+      printf (MINUS_O_FORMAT, "emacs", (rl_editing_mode == 1) ? on : off);
+      printf (MINUS_O_FORMAT, "vi", (rl_editing_mode == 0) ? on : off);
+    }
+#endif /* READLINE */
+
+  for (i = 0; o_options[i].name; i++)
+    {
+      int *on_or_off, zero = 0;
+
+      on_or_off = find_flag (o_options[i].letter);
+      if (on_or_off == FLAG_UNKNOWN)
+       on_or_off = &zero;
+      printf (MINUS_O_FORMAT, o_options[i].name, (*on_or_off == 1) ? on : off);
+    }
+}
+
+set_minus_o_option (on_or_off, option_name)
+     int on_or_off;
+     char *option_name;
+{
+  int option_char = -1;
+
+  if (STREQ (option_name, "noclobber"))
+    {
+      if (on_or_off == FLAG_ON)
+       bind_variable ("noclobber", "");
+      else
+       unbind_variable ("noclobber");
+      stupidly_hack_special_variables ("noclobber");
+    }
+  else if (STREQ (option_name, "ignoreeof"))
+    {
+      unbind_variable ("ignoreeof");
+      unbind_variable ("IGNOREEOF");
+      if (on_or_off == FLAG_ON)
+       bind_variable ("IGNOREEOF", "10");
+      stupidly_hack_special_variables ("IGNOREEOF");
+    }
+  
+#if defined (READLINE)
+  else if ((STREQ (option_name, "emacs")) || (STREQ (option_name, "vi")))
+    {
+      if (on_or_off == FLAG_ON)
+       {
+         rl_variable_bind ("editing-mode", option_name);
+
+         if (interactive)
+           with_input_from_stdin ();
+         no_line_editing = 0;
+       }
+      else
+       {
+         int isemacs = (rl_editing_mode == 1);
+         if ((isemacs && STREQ (option_name, "emacs")) ||
+             (!isemacs && STREQ (option_name, "vi")))
+           {
+             if (interactive)
+               with_input_from_stream (stdin, "stdin");
+             no_line_editing = 1;
+           }
+         else
+           builtin_error ("not in %s editing mode", option_name);
+       }
+    }
+#endif /* READLINE */
+  else if (STREQ (option_name, "interactive-comments"))
+    interactive_comments = (on_or_off == FLAG_ON);
+  else if (STREQ (option_name, "posix"))
+    {
+      posixly_correct = (on_or_off == FLAG_ON);
+      unbind_variable ("POSIXLY_CORRECT");
+      unbind_variable ("POSIX_PEDANTIC");
+      if (on_or_off == FLAG_ON)
+       {
+         bind_variable ("POSIXLY_CORRECT", "");
+         stupidly_hack_special_variables ("POSIXLY_CORRECT");
+       }
+    }
+  else
+    {
+      register int i;
+      for (i = 0; o_options[i].name; i++)
+       {
+         if (STREQ (option_name, o_options[i].name))
+           {
+             option_char = o_options[i].letter;
+             break;
+           }
+       }
+      if (option_char == -1)
+       {
+         builtin_error ("%s: unknown option name", option_name);
+         return (EXECUTION_FAILURE);
+       }
+      if (change_flag (option_char, on_or_off) == FLAG_ERROR)
+       {
+         bad_option (option_name);
+         return (EXECUTION_FAILURE);
+       }
+    }
+  return (EXECUTION_SUCCESS);
+}
+
+/* Set some flags from the word values in the input list.  If LIST is empty,
+   then print out the values of the variables instead.  If LIST contains
+   non-flags, then set $1 - $9 to the successive words of LIST. */
+set_builtin (list)
+     WORD_LIST *list;
+{
+  int on_or_off, flag_name, force_assignment = 0;
+
+  if (!list)
+    {
+      SHELL_VAR **vars;
+
+      vars = all_shell_variables ();
+      if (vars)
+       {
+         print_var_list (vars);
+         free (vars);
+       }
+
+      vars = all_shell_functions ();
+      if (vars)
+       {
+         print_var_list (vars);
+         free (vars);
+       }
+
+      return (EXECUTION_SUCCESS);
+    }
+
+  /* Check validity of flag arguments. */
+  if (*list->word->word == '-' || *list->word->word == '+')
+    {
+      register char *arg;
+      WORD_LIST *save_list = list;
+
+      while (list && (arg = list->word->word))
+       {
+         char c;
+
+         if (arg[0] != '-' && arg[0] != '+')
+           break;
+
+         /* `-' or `--' signifies end of flag arguments. */
+         if (arg[0] == '-' &&
+             (!arg[1] || (arg[1] == '-' && !arg[2])))
+           break;
+
+         while (c = *++arg)
+           {
+             if (find_flag (c) == FLAG_UNKNOWN && c != 'o')
+               {
+                 char s[2];
+                 s[0] = c; s[1] = '\0';
+                 bad_option (s);
+                 if (c == '?')
+                   builtin_usage ();
+                 return (c == '?' ? EXECUTION_SUCCESS : EXECUTION_FAILURE);
+               }
+           }
+         list = list->next;
+       }
+      list = save_list;
+    }
+
+  /* Do the set command.  While the list consists of words starting with
+     '-' or '+' treat them as flags, otherwise, start assigning them to
+     $1 ... $n. */
+  while (list)
+    {
+      char *string = list->word->word;
+
+      /* If the argument is `--' or `-' then signal the end of the list
+        and remember the remaining arguments. */
+      if (string[0] == '-' && (!string[1] || (string[1] == '-' && !string[2])))
+       {
+         list = list->next;
+
+         /* `set --' unsets the positional parameters. */
+         if (string[1] == '-')
+           force_assignment = 1;
+
+         /* Until told differently, the old shell behaviour of
+            `set - [arg ...]' being equivalent to `set +xv [arg ...]'
+            stands.  Posix.2 says the behaviour is marked as obsolescent. */
+         else
+           {
+             change_flag ('x', '+');
+             change_flag ('v', '+');
+           }
+
+         break;
+       }
+
+      if ((on_or_off = *string) &&
+         (on_or_off == '-' || on_or_off == '+'))
+       {
+         int i = 1;
+         while (flag_name = string[i++])
+           {
+             if (flag_name == '?')
+               {
+                 builtin_usage ();
+                 return (EXECUTION_SUCCESS);
+               }
+             else if (flag_name == 'o') /* -+o option-name */
+               {
+                 char *option_name;
+                 WORD_LIST *opt;
+
+                 opt = list->next;
+
+                 if (!opt)
+                   {
+                     list_minus_o_opts ();
+                     continue;
+                   }
+
+                 option_name = opt->word->word;
+
+                 if (!option_name || !*option_name || (*option_name == '-'))
+                   {
+                     list_minus_o_opts ();
+                     continue;
+                   }
+                 list = list->next; /* Skip over option name. */
+
+                 if (set_minus_o_option (on_or_off, option_name) != EXECUTION_SUCCESS)
+                   return (EXECUTION_FAILURE);
+               }
+             else
+               {
+                 if (change_flag (flag_name, on_or_off) == FLAG_ERROR)
+                   {
+                     char opt[3];
+                     opt[0] = on_or_off;
+                     opt[1] = flag_name;
+                     opt[2] = '\0';
+                     bad_option (opt);
+                     builtin_usage ();
+                     return (EXECUTION_FAILURE);
+                   }
+               }
+           }
+       }
+      else
+       {
+         break;
+       }
+      list = list->next;
+    }
+
+  /* Assigning $1 ... $n */
+  if (list || force_assignment)
+    remember_args (list, 1);
+  return (EXECUTION_SUCCESS);
+}
+
+$BUILTIN unset
+$FUNCTION unset_builtin
+$SHORT_DOC unset [-f] [-v] [name ...]
+For each NAME, remove the corresponding variable or function.  Given
+the `-v', unset will only act on variables.  Given the `-f' flag,
+unset will only act on functions.  With neither flag, unset first
+tries to unset a variable, and if that fails, then tries to unset a
+function.  Some variables (such as PATH and IFS) cannot be unset; also
+see readonly.
+$END
+
+#define NEXT_VARIABLE()        any_failed++; list = list->next; continue;
+
+unset_builtin (list)
+  WORD_LIST *list;
+{
+  int unset_function, unset_variable, unset_array, opt, any_failed;
+  char *name;
+
+  unset_function = unset_variable = unset_array = any_failed = 0;
+
+  reset_internal_getopt ();
+  while ((opt = internal_getopt (list, "fv")) != -1)
+    {
+      switch (opt)
+       {
+       case 'f':
+         unset_function = 1;
+         break;
+       case 'v':
+         unset_variable = 1;
+         break;
+       default:
+         builtin_usage ();
+         return (EXECUTION_FAILURE);
+       }
+    }
+
+  list = loptend;
+
+  if (unset_function && unset_variable)
+    {
+      builtin_error ("cannot simultaneously unset a function and a variable");
+      return (EXECUTION_FAILURE);
+    }
+
+  while (list)
+    {
+      SHELL_VAR *var;
+      int tem;
+#if defined (ARRAY_VARS)
+      char *t;
+#endif
+
+      name = list->word->word;
+
+#if defined (ARRAY_VARS)
+      if (!unset_function && valid_array_reference (name))
+       {
+         t = strchr (name, '[');
+         *t++ = '\0';
+         unset_array++;
+       }
+#endif
+
+      var = unset_function ? find_function (name) : find_variable (name);
+
+      if (var && !unset_function && non_unsettable_p (var))
+       {
+         builtin_error ("%s: cannot unset", name);
+         NEXT_VARIABLE ();
+       }
+
+      /* Posix.2 says that unsetting readonly variables is an error. */
+      if (var && readonly_p (var))
+       {
+         builtin_error ("%s: cannot unset: readonly %s",
+                        name, unset_function ? "function" : "variable");
+         NEXT_VARIABLE ();
+       }
+
+      /* Unless the -f option is supplied, the name refers to a variable. */
+#if defined (ARRAY_VARS)
+      if (var && unset_array)
+       {
+         if (array_p (var) == 0)
+           {
+             builtin_error ("%s: not an array variable", name);
+             NEXT_VARIABLE ();
+           }
+         else
+           tem = unbind_array_element (var, t);
+       }
+      else
+#endif /* ARRAY_VARS */
+      tem = makunbound (name, unset_function ? shell_functions : shell_variables);
+
+      /* This is what Posix.2 draft 11+ says.  ``If neither -f nor -v
+        is specified, the name refers to a variable; if a variable by
+        that name does not exist, a function by that name, if any,
+        shall be unset.'' */
+      if ((tem == -1) && !unset_function && !unset_variable)
+       tem = makunbound (name, shell_functions);
+
+      if (tem == -1)
+       any_failed++;
+      else if (!unset_function)
+       stupidly_hack_special_variables (name);
+
+      list = list->next;
+    }
+
+  if (any_failed)
+    return (EXECUTION_FAILURE);
+  else
+    return (EXECUTION_SUCCESS);
+}
diff --git a/CWRU/save/unwind_prot.h.save b/CWRU/save/unwind_prot.h.save
new file mode 100644 (file)
index 0000000..998fd72
--- /dev/null
@@ -0,0 +1,50 @@
+/* unwind_prot.h - Macros and functions for hacking unwind protection. */
+
+/* Copyright (C) 1993 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software; you can redistribute it and/or modify it under
+   the terms of the GNU General Public License as published by the Free
+   Software Foundation; either version 2, or (at your option) any later
+   version.
+
+   Bash is distributed in the hope that it will be useful, but WITHOUT ANY
+   WARRANTY; without even the implied warranty of MERCHANTABILITY or
+   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+   for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with Bash; see the file COPYING.  If not, write to the Free Software
+   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+#if !defined (_UNWIND_PROT_H)
+#define _UNWIND_PROT_H
+
+/* Run a function without interrupts. */
+extern void begin_unwind_frame ();
+extern void discard_unwind_frame ();
+extern void run_unwind_frame ();
+extern void add_unwind_protect ();
+extern void remove_unwind_protect ();
+extern void run_unwind_protects ();
+extern void unwind_protect_var ();
+
+/* Define for people who like their code to look a certain way. */
+#define end_unwind_frame()
+
+/* How to protect an integer. */
+#define unwind_protect_int(X) unwind_protect_var (&(X), (char *)(X), sizeof (int))
+
+/* How to protect a pointer to a string. */
+#define unwind_protect_string(X) \
+  unwind_protect_var ((int *)&(X), (X), sizeof (char *))
+
+/* How to protect any old pointer. */
+#define unwind_protect_pointer(X) unwind_protect_string (X)
+
+/* How to protect the contents of a jmp_buf. */
+#define unwind_protect_jmp_buf(X) \
+  unwind_protect_var ((int *)(X), (char *)(X), sizeof (procenv_t))
+
+#endif /* _UNWIND_PROT_H */
index 19befcb819a6ab8d8004df90f0db94ee7dbd12c8..0fc7b828099e3c8ea939c73c0e1a28206218c052 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -428,6 +428,7 @@ lib/sh/spell.c              f
 lib/sh/strcasecmp.c    f
 lib/sh/strcasestr.c    f
 lib/sh/strchrnul.c     f
+lib/sh/strdup.c                f
 lib/sh/strerror.c      f
 lib/sh/strftime.c      f
 lib/sh/stringlist.c    f
index 310f0d2c7f829084f2ffa8484b795605d5df217a..d2eba565ab8ae4d59468eed178b332568edbb2cd 100644 (file)
@@ -190,7 +190,8 @@ SH_ABSSRC = ${topdir}/${SH_LIBSRC}
 SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \
                ${SH_LIBSRC}/getenv.c ${SH_LIBSRC}/oslib.c \
                ${SH_LIBSRC}/setlinebuf.c ${SH_LIBSRC}/strchrnul.c \
-               ${SH_LIBSRC}/strcasecmp.c ${SH_LIBSRC}/strerror.c \
+               ${SH_LIBSRC}/strcasecmp.c ${SH_LIBSRC}/strdup.c \
+               ${SH_LIBSRC}/strerror.c \
                ${SH_LIBSRC}/strtod.c ${SH_LIBSRC}/strtol.c \
                ${SH_LIBSRC}/strtoul.c ${SH_LIBSRC}/vprint.c \
                ${SH_LIBSRC}/itos.c ${SH_LIBSRC}/rename.c \
index 75244a8e27aa6c1266b8928cf31de7846e652056..731b38b24cfc62a70dd7f9ced939957653a0becc 100644 (file)
@@ -1,7 +1,7 @@
 @%:@! /bin/sh
-@%:@ From configure.ac for Bash 4.3, version 4.061.
+@%:@ From configure.ac for Bash 4.3, version 4.062.
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.69 for bash 4.3-rc1.
+@%:@ Generated by GNU Autoconf 2.69 for bash 4.3-rc2.
 @%:@
 @%:@ Report bugs to <bug-bash@gnu.org>.
 @%:@ 
@@ -581,8 +581,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='4.3-rc1'
-PACKAGE_STRING='bash 4.3-rc1'
+PACKAGE_VERSION='4.3-rc2'
+PACKAGE_STRING='bash 4.3-rc2'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 PACKAGE_URL=''
 
@@ -1393,7 +1393,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bash 4.3-rc1 to adapt to many kinds of systems.
+\`configure' configures bash 4.3-rc2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1458,7 +1458,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 4.3-rc1:";;
+     short | recursive ) echo "Configuration of bash 4.3-rc2:";;
    esac
   cat <<\_ACEOF
 
@@ -1650,7 +1650,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 4.3-rc1
+bash configure 4.3-rc2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2359,7 +2359,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bash $as_me 4.3-rc1, which was
+It was created by bash $as_me 4.3-rc2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2753,7 +2753,7 @@ ac_config_headers="$ac_config_headers config.h"
 
 
 BASHVERS=4.3
-RELSTATUS=rc1
+RELSTATUS=rc2
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*|maint*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -10026,6 +10026,20 @@ esac
 fi
 
 
+ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup"
+if test "x$ac_cv_func_strdup" = xyes; then :
+  $as_echo "@%:@define HAVE_STRDUP 1" >>confdefs.h
+
+else
+  case " $LIB@&t@OBJS " in
+  *" strdup.$ac_objext "* ) ;;
+  *) LIB@&t@OBJS="$LIB@&t@OBJS strdup.$ac_objext"
+ ;;
+esac
+
+fi
+
+
 
 ac_fn_c_check_decl "$LINENO" "AUDIT_USER_TTY" "ac_cv_have_decl_AUDIT_USER_TTY" "#include <linux/audit.h>
 "
@@ -10889,7 +10903,7 @@ fi
 rm -f conftest.mmap conftest.txt
 
 for ac_func in __argz_count __argz_next __argz_stringify dcgettext mempcpy \
-               munmap stpcpy strcspn strdup
+               munmap stpcpy strcspn
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -16537,7 +16551,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bash $as_me 4.3-rc1, which was
+This file was extended by bash $as_me 4.3-rc2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16603,7 +16617,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-bash config.status 4.3-rc1
+bash config.status 4.3-rc2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index f34c6483b2e50e499d1c98b9570e1b1223d6907a..5224334181656ea5c2795a686b01479ca036ab7e 100644 (file)
@@ -1,4 +1,4 @@
-m4trace:configure.ac:29: -1- AC_INIT([bash], [4.3-rc1], [bug-bash@gnu.org])
+m4trace:configure.ac:29: -1- AC_INIT([bash], [4.3-rc2], [bug-bash@gnu.org])
 m4trace:configure.ac:29: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.ac:29: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.ac:29: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
@@ -1617,62 +1617,63 @@ m4trace:configure.ac:787: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strchrnul.$
 m4trace:configure.ac:787: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
 m4trace:configure.ac:787: -1- m4_pattern_allow([^LIB@&t@OBJS$])
 m4trace:configure.ac:787: -1- AC_LIBSOURCE([strchrnul.c])
-m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_AUDIT_USER_TTY])
-m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_DECL_AUDIT_USER_TTY$])
-m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_DECL_AUDIT_USER_TTY], [/* Define to 1 if you have the declaration of `AUDIT_USER_TTY\', and to 0 if
+m4trace:configure.ac:788: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+@%:@undef HAVE_STRDUP])
+m4trace:configure.ac:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRDUP])
+m4trace:configure.ac:788: -1- m4_pattern_allow([^HAVE_STRDUP$])
+m4trace:configure.ac:788: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strdup.$ac_objext"])
+m4trace:configure.ac:788: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:788: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:788: -1- AC_LIBSOURCE([strdup.c])
+m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_AUDIT_USER_TTY])
+m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_DECL_AUDIT_USER_TTY$])
+m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_DECL_AUDIT_USER_TTY], [/* Define to 1 if you have the declaration of `AUDIT_USER_TTY\', and to 0 if
    you don\'t. */
 @%:@undef HAVE_DECL_AUDIT_USER_TTY])
-m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
-m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
-m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
+m4trace:configure.ac:792: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.ac:792: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.ac:792: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_CONFSTR])
-m4trace:configure.ac:792: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
-m4trace:configure.ac:792: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
-m4trace:configure.ac:792: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t.
+m4trace:configure.ac:793: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.ac:793: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.ac:793: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_PRINTF])
-m4trace:configure.ac:793: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
-m4trace:configure.ac:793: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
-m4trace:configure.ac:793: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t.
+m4trace:configure.ac:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.ac:794: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.ac:794: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_SBRK])
-m4trace:configure.ac:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
-m4trace:configure.ac:794: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
-m4trace:configure.ac:794: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
+m4trace:configure.ac:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.ac:795: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.ac:795: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_SETREGID])
-m4trace:configure.ac:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
-m4trace:configure.ac:795: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
-m4trace:configure.ac:795: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t.
+m4trace:configure.ac:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.ac:796: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.ac:796: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_STRCPY])
-m4trace:configure.ac:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
-m4trace:configure.ac:796: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
-m4trace:configure.ac:796: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
+m4trace:configure.ac:797: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.ac:797: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.ac:797: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_STRSIGNAL])
-m4trace:configure.ac:799: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
-m4trace:configure.ac:799: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
-m4trace:configure.ac:799: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
+m4trace:configure.ac:800: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.ac:800: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.ac:800: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_STRTOLD])
-m4trace:configure.ac:799: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:800: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2880: AC_CHECK_DECLS is expanded from...
-configure.ac:799: the top level])
-m4trace:configure.ac:799: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
-m4trace:configure.ac:799: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
-m4trace:configure.ac:815: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
-aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.ac:815: the top level])
+configure.ac:800: the top level])
+m4trace:configure.ac:800: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
+m4trace:configure.ac:800: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
 m4trace:configure.ac:816: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
@@ -1708,482 +1709,487 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
 configure.ac:820: the top level])
-m4trace:configure.ac:822: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.ac:821: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
+aclocal.m4:103: BASH_CHECK_DECL is expanded from...
+configure.ac:821: the top level])
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 @%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:822: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 @%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:822: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
+m4trace:configure.ac:823: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
 @%:@undef HAVE_ALARM])
-m4trace:configure.ac:822: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
-m4trace:configure.ac:822: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:822: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:822: -1- AC_LIBSOURCE([mktime.c])
-m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+m4trace:configure.ac:823: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
+m4trace:configure.ac:823: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:823: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:823: -1- AC_LIBSOURCE([mktime.c])
+m4trace:configure.ac:830: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
 @%:@undef HAVE_ARGZ_H])
-m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
+m4trace:configure.ac:830: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
 @%:@undef HAVE_ERRNO_H])
-m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
+m4trace:configure.ac:830: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
 @%:@undef HAVE_FCNTL_H])
-m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.ac:830: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 @%:@undef HAVE_MALLOC_H])
-m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
+m4trace:configure.ac:830: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
 @%:@undef HAVE_STDIO_EXT_H])
-m4trace:configure.ac:832: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 @%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:832: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 @%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:832: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 @%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.ac:832: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 @%:@undef HAVE_GETPAGESIZE])
-m4trace:configure.ac:832: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE])
-m4trace:configure.ac:832: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$])
-m4trace:configure.ac:832: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
-m4trace:configure.ac:832: -1- m4_pattern_allow([^HAVE_MMAP$])
-m4trace:configure.ac:832: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+m4trace:configure.ac:833: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE])
+m4trace:configure.ac:833: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$])
+m4trace:configure.ac:833: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.ac:833: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
 @%:@undef HAVE_MMAP])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
 @%:@undef HAVE___ARGZ_COUNT])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
 @%:@undef HAVE___ARGZ_NEXT])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
 @%:@undef HAVE___ARGZ_STRINGIFY])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
 @%:@undef HAVE_DCGETTEXT])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
 @%:@undef HAVE_MEMPCPY])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
 @%:@undef HAVE_MUNMAP])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
 @%:@undef HAVE_STPCPY])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
+m4trace:configure.ac:834: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
 @%:@undef HAVE_STRCSPN])
-m4trace:configure.ac:833: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
-@%:@undef HAVE_STRDUP])
-m4trace:configure.ac:842: -1- AC_SUBST([INTL_DEP])
-m4trace:configure.ac:842: -1- AC_SUBST_TRACE([INTL_DEP])
-m4trace:configure.ac:842: -1- m4_pattern_allow([^INTL_DEP$])
-m4trace:configure.ac:843: -1- AC_SUBST([INTL_INC])
-m4trace:configure.ac:843: -1- AC_SUBST_TRACE([INTL_INC])
-m4trace:configure.ac:843: -1- m4_pattern_allow([^INTL_INC$])
-m4trace:configure.ac:844: -1- AC_SUBST([LIBINTL_H])
-m4trace:configure.ac:844: -1- AC_SUBST_TRACE([LIBINTL_H])
-m4trace:configure.ac:844: -1- m4_pattern_allow([^LIBINTL_H$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
+m4trace:configure.ac:843: -1- AC_SUBST([INTL_DEP])
+m4trace:configure.ac:843: -1- AC_SUBST_TRACE([INTL_DEP])
+m4trace:configure.ac:843: -1- m4_pattern_allow([^INTL_DEP$])
+m4trace:configure.ac:844: -1- AC_SUBST([INTL_INC])
+m4trace:configure.ac:844: -1- AC_SUBST_TRACE([INTL_INC])
+m4trace:configure.ac:844: -1- m4_pattern_allow([^INTL_INC$])
+m4trace:configure.ac:845: -1- AC_SUBST([LIBINTL_H])
+m4trace:configure.ac:845: -1- AC_SUBST_TRACE([LIBINTL_H])
+m4trace:configure.ac:845: -1- m4_pattern_allow([^LIBINTL_H$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
 @%:@undef HAVE_WCTYPE_H])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_H])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_WCTYPE_H$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_H])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_WCTYPE_H$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
 @%:@undef HAVE_WCHAR_H])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_H])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_WCHAR_H$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_H])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_WCHAR_H$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
 @%:@undef HAVE_LANGINFO_H])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_H])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_LANGINFO_H$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_MBRLEN$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_MBSCMP$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_MBSCMP$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSNRTOWCS])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_MBSNRTOWCS$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_H])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_LANGINFO_H$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_MBRLEN$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSNRTOWCS])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_MBSNRTOWCS$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */
 @%:@undef HAVE_MBSCHR])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCHR])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_MBSCHR$])
-m4trace:configure.ac:850: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mbschr.$ac_objext"])
-m4trace:configure.ac:850: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:850: -1- AC_LIBSOURCE([mbschr.c])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_WCSDUP$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
-m4trace:configure.ac:850: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
-m4trace:configure.ac:850: -2- m4_pattern_allow([^HAVE_WCTYPE$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCHR])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_MBSCHR$])
+m4trace:configure.ac:851: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mbschr.$ac_objext"])
+m4trace:configure.ac:851: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:851: -1- AC_LIBSOURCE([mbschr.c])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_WCSDUP$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
+m4trace:configure.ac:851: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
+m4trace:configure.ac:851: -2- m4_pattern_allow([^HAVE_WCTYPE$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */
 @%:@undef HAVE_WCSWIDTH])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCSWIDTH])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_WCSWIDTH$])
-m4trace:configure.ac:850: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS wcswidth.$ac_objext"])
-m4trace:configure.ac:850: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:850: -1- AC_LIBSOURCE([wcswidth.c])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCSWIDTH])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_WCSWIDTH$])
+m4trace:configure.ac:851: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS wcswidth.$ac_objext"])
+m4trace:configure.ac:851: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:851: -1- AC_LIBSOURCE([wcswidth.c])
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
 @%:@undef HAVE_MBRTOWC])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
 @%:@undef HAVE_ISWLOWER])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
 @%:@undef HAVE_ISWUPPER])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
 @%:@undef HAVE_TOWLOWER])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
 @%:@undef HAVE_TOWUPPER])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
 @%:@undef HAVE_ISWCTYPE])
-m4trace:configure.ac:850: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:851: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:850: the top level])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
-m4trace:configure.ac:850: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:851: the top level])
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.ac:851: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:850: the top level])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
+configure.ac:851: the top level])
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
 @%:@undef HAVE_WCHAR_T])
-m4trace:configure.ac:850: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:851: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:850: the top level])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
+configure.ac:851: the top level])
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
 @%:@undef HAVE_WCTYPE_T])
-m4trace:configure.ac:850: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:851: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:850: the top level])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_WINT_T$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
+configure.ac:851: the top level])
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_WINT_T$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
 @%:@undef HAVE_WINT_T])
-m4trace:configure.ac:850: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:851: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.ac:850: the top level])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([WCWIDTH_BROKEN])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^WCWIDTH_BROKEN$])
-m4trace:configure.ac:850: -1- AH_OUTPUT([WCWIDTH_BROKEN], [/* wcwidth is usually not broken */
+configure.ac:851: the top level])
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([WCWIDTH_BROKEN])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^WCWIDTH_BROKEN$])
+m4trace:configure.ac:851: -1- AH_OUTPUT([WCWIDTH_BROKEN], [/* wcwidth is usually not broken */
 @%:@undef WCWIDTH_BROKEN])
-m4trace:configure.ac:850: -1- AH_OUTPUT([HAVE_LOCALE_CHARSET], [/* Define to 1 if you have the `locale_charset\' function. */
+m4trace:configure.ac:851: -1- AH_OUTPUT([HAVE_LOCALE_CHARSET], [/* Define to 1 if you have the `locale_charset\' function. */
 @%:@undef HAVE_LOCALE_CHARSET])
-m4trace:configure.ac:850: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALE_CHARSET])
-m4trace:configure.ac:850: -1- m4_pattern_allow([^HAVE_LOCALE_CHARSET$])
-m4trace:configure.ac:854: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
+m4trace:configure.ac:851: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALE_CHARSET])
+m4trace:configure.ac:851: -1- m4_pattern_allow([^HAVE_LOCALE_CHARSET$])
+m4trace:configure.ac:855: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
 @%:@undef HAVE_LIBDL])
-m4trace:configure.ac:854: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
-m4trace:configure.ac:854: -1- m4_pattern_allow([^HAVE_LIBDL$])
-m4trace:configure.ac:855: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
+m4trace:configure.ac:855: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
+m4trace:configure.ac:855: -1- m4_pattern_allow([^HAVE_LIBDL$])
+m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
 @%:@undef HAVE_DLOPEN])
-m4trace:configure.ac:855: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
+m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
 @%:@undef HAVE_DLCLOSE])
-m4trace:configure.ac:855: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
+m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
 @%:@undef HAVE_DLSYM])
-m4trace:configure.ac:859: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
+m4trace:configure.ac:860: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/specific.m4:39: AC_DECL_SYS_SIGLIST is expanded from...
-configure.ac:859: the top level])
-m4trace:configure.ac:859: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.ac:859: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.ac:859: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
+configure.ac:860: the top level])
+m4trace:configure.ac:860: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.ac:860: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.ac:860: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
    don\'t. */
 @%:@undef HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.ac:863: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:864: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:563: BASH_FUNC_INET_ATON is expanded from...
-configure.ac:863: the top level])
-m4trace:configure.ac:863: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
-m4trace:configure.ac:863: -1- m4_pattern_allow([^HAVE_INET_ATON$])
-m4trace:configure.ac:863: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
-m4trace:configure.ac:863: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:863: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:863: -1- AC_LIBSOURCE([inet_aton.c])
-m4trace:configure.ac:869: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
+configure.ac:864: the top level])
+m4trace:configure.ac:864: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
+m4trace:configure.ac:864: -1- m4_pattern_allow([^HAVE_INET_ATON$])
+m4trace:configure.ac:864: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
+m4trace:configure.ac:864: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:864: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:864: -1- AC_LIBSOURCE([inet_aton.c])
+m4trace:configure.ac:870: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
 @%:@undef HAVE_LIBSUN])
-m4trace:configure.ac:869: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
-m4trace:configure.ac:869: -1- m4_pattern_allow([^HAVE_LIBSUN$])
-m4trace:configure.ac:874: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
-m4trace:configure.ac:874: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
-m4trace:configure.ac:874: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
-m4trace:configure.ac:874: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
-m4trace:configure.ac:878: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:870: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
+m4trace:configure.ac:870: -1- m4_pattern_allow([^HAVE_LIBSUN$])
+m4trace:configure.ac:875: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
+m4trace:configure.ac:875: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
+m4trace:configure.ac:875: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
+m4trace:configure.ac:875: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
+m4trace:configure.ac:879: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:732: BASH_FUNC_GETHOSTBYNAME is expanded from...
-configure.ac:878: the top level])
-m4trace:configure.ac:878: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
-m4trace:configure.ac:878: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
-m4trace:configure.ac:882: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.ac:882: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.ac:882: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+configure.ac:879: the top level])
+m4trace:configure.ac:879: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
+m4trace:configure.ac:879: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
+m4trace:configure.ac:883: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.ac:883: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.ac:883: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef uid_t])
-m4trace:configure.ac:882: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.ac:882: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.ac:882: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:883: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.ac:883: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.ac:883: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef gid_t])
-m4trace:configure.ac:882: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
-m4trace:configure.ac:882: -1- m4_pattern_allow([^GETGROUPS_T$])
-m4trace:configure.ac:882: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
+m4trace:configure.ac:883: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
+m4trace:configure.ac:883: -1- m4_pattern_allow([^GETGROUPS_T$])
+m4trace:configure.ac:883: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
    this is either `int\' or `gid_t\'. */
 @%:@undef GETGROUPS_T])
-m4trace:configure.ac:883: -1- AC_DEFINE_TRACE_LITERAL([off_t])
-m4trace:configure.ac:883: -1- m4_pattern_allow([^off_t$])
-m4trace:configure.ac:883: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:884: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.ac:884: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.ac:884: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
 @%:@undef off_t])
-m4trace:configure.ac:884: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
-m4trace:configure.ac:884: -1- m4_pattern_allow([^mode_t$])
-m4trace:configure.ac:884: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:885: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
+m4trace:configure.ac:885: -1- m4_pattern_allow([^mode_t$])
+m4trace:configure.ac:885: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef mode_t])
-m4trace:configure.ac:885: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.ac:885: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.ac:885: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:886: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.ac:886: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.ac:886: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef uid_t])
-m4trace:configure.ac:885: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.ac:885: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.ac:885: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:886: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.ac:886: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.ac:886: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 @%:@undef gid_t])
-m4trace:configure.ac:886: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
-m4trace:configure.ac:886: -1- m4_pattern_allow([^pid_t$])
-m4trace:configure.ac:886: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:887: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
+m4trace:configure.ac:887: -1- m4_pattern_allow([^pid_t$])
+m4trace:configure.ac:887: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef pid_t])
-m4trace:configure.ac:887: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.ac:887: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.ac:887: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:888: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.ac:888: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.ac:888: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef size_t])
-m4trace:configure.ac:888: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
-m4trace:configure.ac:888: -1- m4_pattern_allow([^ssize_t$])
-m4trace:configure.ac:888: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:889: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
+m4trace:configure.ac:889: -1- m4_pattern_allow([^ssize_t$])
+m4trace:configure.ac:889: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef ssize_t])
-m4trace:configure.ac:889: -1- AC_DEFINE_TRACE_LITERAL([time_t])
-m4trace:configure.ac:889: -1- m4_pattern_allow([^time_t$])
-m4trace:configure.ac:889: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:890: -1- AC_DEFINE_TRACE_LITERAL([time_t])
+m4trace:configure.ac:890: -1- m4_pattern_allow([^time_t$])
+m4trace:configure.ac:890: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef time_t])
-m4trace:configure.ac:891: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:892: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:472: BASH_TYPE_LONG_LONG is expanded from...
-configure.ac:891: the top level])
-m4trace:configure.ac:891: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
-m4trace:configure.ac:891: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
-m4trace:configure.ac:892: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:892: the top level])
+m4trace:configure.ac:892: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
+m4trace:configure.ac:892: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
+m4trace:configure.ac:893: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:486: BASH_TYPE_UNSIGNED_LONG_LONG is expanded from...
-configure.ac:892: the top level])
-m4trace:configure.ac:892: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.ac:892: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
-m4trace:configure.ac:894: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
+configure.ac:893: the top level])
+m4trace:configure.ac:893: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.ac:893: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.ac:895: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/types.m4:746: AC_TYPE_SIGNAL is expanded from...
-configure.ac:894: the top level])
-m4trace:configure.ac:894: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.ac:894: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.ac:894: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+configure.ac:895: the top level])
+m4trace:configure.ac:895: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.ac:895: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.ac:895: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
 @%:@undef RETSIGTYPE])
-m4trace:configure.ac:895: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:896: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:537: BASH_TYPE_SIG_ATOMIC_T is expanded from...
-configure.ac:895: the top level])
-m4trace:configure.ac:895: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
-m4trace:configure.ac:895: -1- m4_pattern_allow([^sig_atomic_t$])
-m4trace:configure.ac:895: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if <sys/types.h> does not define. */
+configure.ac:896: the top level])
+m4trace:configure.ac:896: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
+m4trace:configure.ac:896: -1- m4_pattern_allow([^sig_atomic_t$])
+m4trace:configure.ac:896: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef sig_atomic_t])
-m4trace:configure.ac:897: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
-m4trace:configure.ac:897: -1- m4_pattern_allow([^SIZEOF_CHAR$])
-m4trace:configure.ac:897: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
+m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
+m4trace:configure.ac:898: -1- m4_pattern_allow([^SIZEOF_CHAR$])
+m4trace:configure.ac:898: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
 @%:@undef SIZEOF_CHAR])
-m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
-m4trace:configure.ac:898: -1- m4_pattern_allow([^SIZEOF_SHORT$])
-m4trace:configure.ac:898: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
+m4trace:configure.ac:899: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
+m4trace:configure.ac:899: -1- m4_pattern_allow([^SIZEOF_SHORT$])
+m4trace:configure.ac:899: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
 @%:@undef SIZEOF_SHORT])
-m4trace:configure.ac:899: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
-m4trace:configure.ac:899: -1- m4_pattern_allow([^SIZEOF_INT$])
-m4trace:configure.ac:899: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
+m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
+m4trace:configure.ac:900: -1- m4_pattern_allow([^SIZEOF_INT$])
+m4trace:configure.ac:900: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
 @%:@undef SIZEOF_INT])
-m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
-m4trace:configure.ac:900: -1- m4_pattern_allow([^SIZEOF_LONG$])
-m4trace:configure.ac:900: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
+m4trace:configure.ac:901: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
+m4trace:configure.ac:901: -1- m4_pattern_allow([^SIZEOF_LONG$])
+m4trace:configure.ac:901: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
 @%:@undef SIZEOF_LONG])
-m4trace:configure.ac:901: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
-m4trace:configure.ac:901: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
-m4trace:configure.ac:901: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
+m4trace:configure.ac:902: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
+m4trace:configure.ac:902: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
+m4trace:configure.ac:902: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
 @%:@undef SIZEOF_CHAR_P])
-m4trace:configure.ac:902: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
-m4trace:configure.ac:902: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
-m4trace:configure.ac:902: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
+m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
+m4trace:configure.ac:903: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
+m4trace:configure.ac:903: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
 @%:@undef SIZEOF_DOUBLE])
-m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
-m4trace:configure.ac:903: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
-m4trace:configure.ac:903: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
+m4trace:configure.ac:904: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
+m4trace:configure.ac:904: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
+m4trace:configure.ac:904: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
 @%:@undef SIZEOF_LONG_LONG])
-m4trace:configure.ac:905: -1- AC_DEFINE_TRACE_LITERAL([u_int])
-m4trace:configure.ac:905: -1- m4_pattern_allow([^u_int$])
-m4trace:configure.ac:905: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:906: -1- AC_DEFINE_TRACE_LITERAL([u_int])
+m4trace:configure.ac:906: -1- m4_pattern_allow([^u_int$])
+m4trace:configure.ac:906: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef u_int])
-m4trace:configure.ac:906: -1- AC_DEFINE_TRACE_LITERAL([u_long])
-m4trace:configure.ac:906: -1- m4_pattern_allow([^u_long$])
-m4trace:configure.ac:906: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:907: -1- AC_DEFINE_TRACE_LITERAL([u_long])
+m4trace:configure.ac:907: -1- m4_pattern_allow([^u_long$])
+m4trace:configure.ac:907: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 @%:@undef u_long])
-m4trace:configure.ac:908: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.ac:908: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.ac:908: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.ac:909: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.ac:909: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 @%:@undef bits16_t])
-m4trace:configure.ac:908: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.ac:908: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.ac:908: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
+m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.ac:909: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.ac:909: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
 @%:@undef bits16_t])
-m4trace:configure.ac:908: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.ac:908: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.ac:908: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.ac:909: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.ac:909: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 @%:@undef bits16_t])
-m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.ac:909: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.ac:909: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:910: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.ac:910: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.ac:910: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 @%:@undef u_bits16_t])
-m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.ac:909: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.ac:909: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
+m4trace:configure.ac:910: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.ac:910: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.ac:910: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
 @%:@undef u_bits16_t])
-m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.ac:909: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.ac:909: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.ac:910: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.ac:910: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.ac:910: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 @%:@undef u_bits16_t])
-m4trace:configure.ac:910: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.ac:910: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.ac:910: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:911: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.ac:911: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.ac:911: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef bits32_t])
-m4trace:configure.ac:910: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.ac:910: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.ac:910: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:911: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.ac:911: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.ac:911: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef bits32_t])
-m4trace:configure.ac:910: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.ac:910: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.ac:910: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:911: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.ac:911: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.ac:911: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef bits32_t])
-m4trace:configure.ac:911: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.ac:911: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.ac:911: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.ac:912: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.ac:912: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef u_bits32_t])
-m4trace:configure.ac:911: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.ac:911: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.ac:911: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.ac:912: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.ac:912: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 @%:@undef u_bits32_t])
-m4trace:configure.ac:911: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.ac:911: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.ac:911: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.ac:912: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.ac:912: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 @%:@undef u_bits32_t])
-m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:912: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:912: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
+m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:913: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:913: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:912: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:912: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:913: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:913: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:912: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:912: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:913: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:913: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:912: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:912: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:913: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:913: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.ac:912: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.ac:912: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.ac:913: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.ac:913: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 @%:@undef bits64_t])
-m4trace:configure.ac:914: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:914: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:914: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:915: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:915: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:914: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:914: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:914: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:915: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:915: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:914: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:914: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:914: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:915: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:915: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:914: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.ac:914: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.ac:914: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.ac:915: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.ac:915: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 @%:@undef ptrdiff_t])
-m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
-m4trace:configure.ac:917: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
-m4trace:configure.ac:917: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
+m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
+m4trace:configure.ac:918: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
+m4trace:configure.ac:918: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
 @%:@undef STAT_MACROS_BROKEN])
-m4trace:configure.ac:922: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
-m4trace:configure.ac:922: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
-m4trace:configure.ac:927: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:923: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
+m4trace:configure.ac:923: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
+m4trace:configure.ac:928: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:549: BASH_FUNC_LSTAT is expanded from...
-configure.ac:927: the top level])
-m4trace:configure.ac:927: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
-m4trace:configure.ac:927: -1- m4_pattern_allow([^HAVE_LSTAT$])
-m4trace:configure.ac:931: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:928: the top level])
+m4trace:configure.ac:928: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
+m4trace:configure.ac:928: -1- m4_pattern_allow([^HAVE_LSTAT$])
+m4trace:configure.ac:932: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1920: BASH_FUNC_CTYPE_NONASCII is expanded from...
-configure.ac:931: the top level])
-m4trace:configure.ac:931: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
-m4trace:configure.ac:931: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
-m4trace:configure.ac:932: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:932: the top level])
+m4trace:configure.ac:932: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
+m4trace:configure.ac:932: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
+m4trace:configure.ac:933: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:270: BASH_FUNC_DUP2_CLOEXEC_CHECK is expanded from...
-configure.ac:932: the top level])
-m4trace:configure.ac:932: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
-m4trace:configure.ac:932: -1- m4_pattern_allow([^DUP2_BROKEN$])
-m4trace:configure.ac:933: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:933: the top level])
+m4trace:configure.ac:933: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
+m4trace:configure.ac:933: -1- m4_pattern_allow([^DUP2_BROKEN$])
+m4trace:configure.ac:934: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1235: BASH_SYS_PGRP_SYNC is expanded from...
-configure.ac:933: the top level])
-m4trace:configure.ac:933: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.ac:933: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.ac:934: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:934: the top level])
+m4trace:configure.ac:934: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.ac:934: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.ac:935: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.ac:934: the top level])
-m4trace:configure.ac:934: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:935: the top level])
+m4trace:configure.ac:935: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...
@@ -2192,8 +2198,8 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.ac:934: the top level])
-m4trace:configure.ac:934: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:935: the top level])
+m4trace:configure.ac:935: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from...
@@ -2206,79 +2212,79 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.ac:934: the top level])
-m4trace:configure.ac:934: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
-m4trace:configure.ac:934: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
-m4trace:configure.ac:934: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
-m4trace:configure.ac:934: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
-m4trace:configure.ac:934: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
-m4trace:configure.ac:934: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
-m4trace:configure.ac:937: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:935: the top level])
+m4trace:configure.ac:935: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
+m4trace:configure.ac:935: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
+m4trace:configure.ac:935: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
+m4trace:configure.ac:935: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
+m4trace:configure.ac:935: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
+m4trace:configure.ac:935: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
+m4trace:configure.ac:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:253: BASH_SYS_ERRLIST is expanded from...
-configure.ac:937: the top level])
-m4trace:configure.ac:937: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
-m4trace:configure.ac:937: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
-m4trace:configure.ac:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:938: the top level])
+m4trace:configure.ac:938: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
+m4trace:configure.ac:938: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
+m4trace:configure.ac:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:211: BASH_SYS_SIGLIST is expanded from...
-configure.ac:938: the top level])
-m4trace:configure.ac:938: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
-m4trace:configure.ac:938: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
-m4trace:configure.ac:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:939: the top level])
+m4trace:configure.ac:939: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
+m4trace:configure.ac:939: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
+m4trace:configure.ac:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:167: BASH_DECL_UNDER_SYS_SIGLIST is expanded from...
 aclocal.m4:184: BASH_UNDER_SYS_SIGLIST is expanded from...
-configure.ac:939: the top level])
-m4trace:configure.ac:939: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
-m4trace:configure.ac:939: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
-m4trace:configure.ac:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:940: the top level])
+m4trace:configure.ac:940: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
+m4trace:configure.ac:940: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
+m4trace:configure.ac:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:184: BASH_UNDER_SYS_SIGLIST is expanded from...
-configure.ac:939: the top level])
-m4trace:configure.ac:939: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
-m4trace:configure.ac:939: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
-m4trace:configure.ac:942: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:940: the top level])
+m4trace:configure.ac:940: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
+m4trace:configure.ac:940: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
+m4trace:configure.ac:943: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:366: BASH_TYPE_SIGHANDLER is expanded from...
-configure.ac:942: the top level])
-m4trace:configure.ac:942: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
-m4trace:configure.ac:942: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
-m4trace:configure.ac:943: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
-m4trace:configure.ac:943: -1- m4_pattern_allow([^clock_t$])
-m4trace:configure.ac:944: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
-m4trace:configure.ac:944: -1- m4_pattern_allow([^sigset_t$])
-m4trace:configure.ac:945: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
-m4trace:configure.ac:945: -1- m4_pattern_allow([^sig_atomic_t$])
-m4trace:configure.ac:946: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
-m4trace:configure.ac:946: -1- m4_pattern_allow([^HAVE_QUAD_T$])
-m4trace:configure.ac:946: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
-m4trace:configure.ac:946: -1- m4_pattern_allow([^quad_t$])
-m4trace:configure.ac:947: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
-m4trace:configure.ac:947: -1- m4_pattern_allow([^intmax_t$])
-m4trace:configure.ac:948: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.ac:948: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.ac:950: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
-m4trace:configure.ac:950: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
-m4trace:configure.ac:950: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
-m4trace:configure.ac:950: -1- m4_pattern_allow([^socklen_t$])
-m4trace:configure.ac:952: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:943: the top level])
+m4trace:configure.ac:943: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
+m4trace:configure.ac:943: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
+m4trace:configure.ac:944: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
+m4trace:configure.ac:944: -1- m4_pattern_allow([^clock_t$])
+m4trace:configure.ac:945: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
+m4trace:configure.ac:945: -1- m4_pattern_allow([^sigset_t$])
+m4trace:configure.ac:946: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
+m4trace:configure.ac:946: -1- m4_pattern_allow([^sig_atomic_t$])
+m4trace:configure.ac:947: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
+m4trace:configure.ac:947: -1- m4_pattern_allow([^HAVE_QUAD_T$])
+m4trace:configure.ac:947: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
+m4trace:configure.ac:947: -1- m4_pattern_allow([^quad_t$])
+m4trace:configure.ac:948: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
+m4trace:configure.ac:948: -1- m4_pattern_allow([^intmax_t$])
+m4trace:configure.ac:949: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.ac:949: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.ac:951: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
+m4trace:configure.ac:951: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
+m4trace:configure.ac:951: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
+m4trace:configure.ac:951: -1- m4_pattern_allow([^socklen_t$])
+m4trace:configure.ac:953: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from...
-configure.ac:952: the top level])
-m4trace:configure.ac:952: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:953: the top level])
+m4trace:configure.ac:953: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
@@ -2287,50 +2293,50 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from...
-configure.ac:952: the top level])
-m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.ac:952: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.ac:952: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.ac:954: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INTMAX_T])
-m4trace:configure.ac:954: -1- m4_pattern_allow([^SIZEOF_INTMAX_T$])
-m4trace:configure.ac:954: -1- AH_OUTPUT([SIZEOF_INTMAX_T], [/* The size of `intmax_t\', as computed by sizeof. */
+configure.ac:953: the top level])
+m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.ac:953: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.ac:953: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.ac:955: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INTMAX_T])
+m4trace:configure.ac:955: -1- m4_pattern_allow([^SIZEOF_INTMAX_T$])
+m4trace:configure.ac:955: -1- AH_OUTPUT([SIZEOF_INTMAX_T], [/* The size of `intmax_t\', as computed by sizeof. */
 @%:@undef SIZEOF_INTMAX_T])
-m4trace:configure.ac:957: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
-m4trace:configure.ac:957: -2- m4_pattern_allow([^TERMIOS_LDISC$])
-m4trace:configure.ac:958: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
-m4trace:configure.ac:958: -2- m4_pattern_allow([^TERMIO_LDISC$])
-m4trace:configure.ac:959: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:958: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
+m4trace:configure.ac:958: -2- m4_pattern_allow([^TERMIOS_LDISC$])
+m4trace:configure.ac:959: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
+m4trace:configure.ac:959: -2- m4_pattern_allow([^TERMIO_LDISC$])
+m4trace:configure.ac:960: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1042: BASH_STRUCT_DIRENT_D_INO is expanded from...
-configure.ac:959: the top level])
-m4trace:configure.ac:959: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
-m4trace:configure.ac:959: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
-m4trace:configure.ac:960: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:960: the top level])
+m4trace:configure.ac:960: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
+m4trace:configure.ac:960: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
+m4trace:configure.ac:961: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1075: BASH_STRUCT_DIRENT_D_FILENO is expanded from...
-configure.ac:960: the top level])
-m4trace:configure.ac:960: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
-m4trace:configure.ac:960: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
-m4trace:configure.ac:961: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:961: the top level])
+m4trace:configure.ac:961: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
+m4trace:configure.ac:961: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
+m4trace:configure.ac:962: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1108: BASH_STRUCT_DIRENT_D_NAMLEN is expanded from...
-configure.ac:961: the top level])
-m4trace:configure.ac:961: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
-m4trace:configure.ac:961: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
-m4trace:configure.ac:962: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:962: the top level])
+m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
+m4trace:configure.ac:962: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
+m4trace:configure.ac:963: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from...
-configure.ac:962: the top level])
-m4trace:configure.ac:962: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:963: the top level])
+m4trace:configure.ac:963: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
@@ -2339,303 +2345,303 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from...
-configure.ac:962: the top level])
-m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
-m4trace:configure.ac:962: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
-m4trace:configure.ac:962: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
-m4trace:configure.ac:962: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
-m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
-m4trace:configure.ac:963: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
-m4trace:configure.ac:964: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.ac:964: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
-m4trace:configure.ac:964: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is a member of `struct stat\'. */
+configure.ac:963: the top level])
+m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
+m4trace:configure.ac:963: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
+m4trace:configure.ac:963: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
+m4trace:configure.ac:963: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
+m4trace:configure.ac:964: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
+m4trace:configure.ac:964: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
+m4trace:configure.ac:965: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
+m4trace:configure.ac:965: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
+m4trace:configure.ac:965: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.ac:965: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
-m4trace:configure.ac:965: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
-m4trace:configure.ac:965: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
+m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
+m4trace:configure.ac:966: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
+m4trace:configure.ac:966: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
 @%:@undef TM_IN_SYS_TIME])
-m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.ac:966: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
-m4trace:configure.ac:966: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is a member of `struct tm\'. */
+m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
+m4trace:configure.ac:967: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
+m4trace:configure.ac:967: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is a member of `struct tm\'. */
 @%:@undef HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
-m4trace:configure.ac:966: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
-m4trace:configure.ac:966: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
+m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
+m4trace:configure.ac:967: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
+m4trace:configure.ac:967: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
    `HAVE_STRUCT_TM_TM_ZONE\' instead. */
 @%:@undef HAVE_TM_ZONE])
-m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
-m4trace:configure.ac:966: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
-m4trace:configure.ac:966: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t.
+m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.ac:967: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.ac:967: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_TZNAME])
-m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
-m4trace:configure.ac:966: -1- m4_pattern_allow([^HAVE_TZNAME$])
-m4trace:configure.ac:966: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
+m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
+m4trace:configure.ac:967: -1- m4_pattern_allow([^HAVE_TZNAME$])
+m4trace:configure.ac:967: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
    `tzname\'. */
 @%:@undef HAVE_TZNAME])
-m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
-m4trace:configure.ac:967: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
-m4trace:configure.ac:969: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:968: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
+m4trace:configure.ac:968: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
+m4trace:configure.ac:970: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:4149: BASH_STRUCT_WEXITSTATUS_OFFSET is expanded from...
-configure.ac:969: the top level])
-m4trace:configure.ac:969: -1- AC_DEFINE_TRACE_LITERAL([WEXITSTATUS_OFFSET])
-m4trace:configure.ac:969: -1- m4_pattern_allow([^WEXITSTATUS_OFFSET$])
-m4trace:configure.ac:969: -1- AH_OUTPUT([WEXITSTATUS_OFFSET], [/* Offset of exit status in wait status word */
+configure.ac:970: the top level])
+m4trace:configure.ac:970: -1- AC_DEFINE_TRACE_LITERAL([WEXITSTATUS_OFFSET])
+m4trace:configure.ac:970: -1- m4_pattern_allow([^WEXITSTATUS_OFFSET$])
+m4trace:configure.ac:970: -1- AH_OUTPUT([WEXITSTATUS_OFFSET], [/* Offset of exit status in wait status word */
 @%:@undef WEXITSTATUS_OFFSET])
-m4trace:configure.ac:971: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
-@%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- AC_SUBST_TRACE([TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- AC_SUBST_TRACE([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
-m4trace:configure.ac:971: -1- AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- AC_SUBST_TRACE([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
-m4trace:configure.ac:971: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
 m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 @%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC])
-m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC$])
-m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC], [/* Define to 1 if `st_atim.tv_nsec\' is a member of `struct stat\'. */
+m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- AC_SUBST_TRACE([TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- AC_SUBST_TRACE([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:972: -1- AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- AC_SUBST_TRACE([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+m4trace:configure.ac:972: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$])
+m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+@%:@undef HAVE_SYS_TIME_H])
+m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC])
+m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC$])
+m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC], [/* Define to 1 if `st_atim.tv_nsec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC])
-m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC])
-m4trace:configure.ac:972: -1- m4_pattern_allow([^TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC$])
-m4trace:configure.ac:972: -1- AH_OUTPUT([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [/* Define to 1 if the type of the st_atim member of a struct stat is struct
+m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC])
+m4trace:configure.ac:973: -1- m4_pattern_allow([^TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC$])
+m4trace:configure.ac:973: -1- AH_OUTPUT([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [/* Define to 1 if the type of the st_atim member of a struct stat is struct
    timespec. */
 @%:@undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC])
-m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC])
-m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC$])
-m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC], [/* Define to 1 if `st_atimespec.tv_nsec\' is a member of `struct stat\'. */
+m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC])
+m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC$])
+m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC], [/* Define to 1 if `st_atimespec.tv_nsec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC])
-m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMENSEC])
-m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMENSEC$])
-m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMENSEC], [/* Define to 1 if `st_atimensec\' is a member of `struct stat\'. */
+m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMENSEC])
+m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMENSEC$])
+m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMENSEC], [/* Define to 1 if `st_atimensec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIMENSEC])
-m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC])
-m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC$])
-m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC], [/* Define to 1 if `st_atim.st__tim.tv_nsec\' is a member of `struct stat\'. */
+m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC])
+m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC$])
+m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC], [/* Define to 1 if `st_atim.st__tim.tv_nsec\' is a member of `struct stat\'. */
 @%:@undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC])
-m4trace:configure.ac:975: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:976: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:299: BASH_FUNC_STRSIGNAL is expanded from...
-configure.ac:975: the top level])
-m4trace:configure.ac:975: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
-m4trace:configure.ac:975: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
-m4trace:configure.ac:976: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:976: the top level])
+m4trace:configure.ac:976: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
+m4trace:configure.ac:976: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
+m4trace:configure.ac:977: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:313: BASH_FUNC_OPENDIR_CHECK is expanded from...
-configure.ac:976: the top level])
-m4trace:configure.ac:976: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
-m4trace:configure.ac:976: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
-m4trace:configure.ac:977: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:977: the top level])
+m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
+m4trace:configure.ac:977: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
+m4trace:configure.ac:978: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:683: BASH_FUNC_ULIMIT_MAXFDS is expanded from...
-configure.ac:977: the top level])
-m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
-m4trace:configure.ac:977: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
-m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
+configure.ac:978: the top level])
+m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
+m4trace:configure.ac:978: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
+m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
 @%:@undef HAVE_FPURGE])
-m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
+m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
 @%:@undef HAVE___FPURGE])
-m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
-m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
-m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
+m4trace:configure.ac:979: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.ac:979: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
    */
 @%:@undef HAVE_DECL_FPURGE])
-m4trace:configure.ac:979: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:980: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:579: BASH_FUNC_GETENV is expanded from...
-configure.ac:979: the top level])
-m4trace:configure.ac:979: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
-m4trace:configure.ac:979: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
-m4trace:configure.ac:981: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:980: the top level])
+m4trace:configure.ac:980: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
+m4trace:configure.ac:980: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
+m4trace:configure.ac:982: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:702: BASH_FUNC_GETCWD is expanded from...
-configure.ac:981: the top level])
-m4trace:configure.ac:981: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
-m4trace:configure.ac:981: -1- m4_pattern_allow([^GETCWD_BROKEN$])
-m4trace:configure.ac:981: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
-m4trace:configure.ac:981: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:981: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:981: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.ac:983: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:982: the top level])
+m4trace:configure.ac:982: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
+m4trace:configure.ac:982: -1- m4_pattern_allow([^GETCWD_BROKEN$])
+m4trace:configure.ac:982: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
+m4trace:configure.ac:982: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:982: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:982: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.ac:984: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:778: BASH_FUNC_POSIX_SETJMP is expanded from...
-configure.ac:983: the top level])
-m4trace:configure.ac:983: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
-m4trace:configure.ac:983: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
-m4trace:configure.ac:984: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:984: the top level])
+m4trace:configure.ac:984: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
+m4trace:configure.ac:984: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
+m4trace:configure.ac:985: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:829: BASH_FUNC_STRCOLL is expanded from...
-configure.ac:984: the top level])
-m4trace:configure.ac:984: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
-m4trace:configure.ac:984: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
-m4trace:configure.ac:985: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
+configure.ac:985: the top level])
+m4trace:configure.ac:985: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
+m4trace:configure.ac:985: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
+m4trace:configure.ac:986: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
 @%:@undef HAVE_SNPRINTF])
-m4trace:configure.ac:985: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:986: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:4065: BASH_FUNC_SNPRINTF is expanded from...
-configure.ac:985: the top level])
-m4trace:configure.ac:985: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF])
-m4trace:configure.ac:985: -1- m4_pattern_allow([^HAVE_SNPRINTF$])
-m4trace:configure.ac:985: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define if you have a standard-conformant snprintf function. */
+configure.ac:986: the top level])
+m4trace:configure.ac:986: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF])
+m4trace:configure.ac:986: -1- m4_pattern_allow([^HAVE_SNPRINTF$])
+m4trace:configure.ac:986: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define if you have a standard-conformant snprintf function. */
 @%:@undef HAVE_SNPRINTF])
-m4trace:configure.ac:986: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
+m4trace:configure.ac:987: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
 @%:@undef HAVE_VSNPRINTF])
-m4trace:configure.ac:986: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.ac:987: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:4093: BASH_FUNC_VSNPRINTF is expanded from...
-configure.ac:986: the top level])
-m4trace:configure.ac:986: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF])
-m4trace:configure.ac:986: -1- m4_pattern_allow([^HAVE_VSNPRINTF$])
-m4trace:configure.ac:986: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define if you have a standard-conformant vsnprintf function. */
+configure.ac:987: the top level])
+m4trace:configure.ac:987: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF])
+m4trace:configure.ac:987: -1- m4_pattern_allow([^HAVE_VSNPRINTF$])
+m4trace:configure.ac:987: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define if you have a standard-conformant vsnprintf function. */
 @%:@undef HAVE_VSNPRINTF])
-m4trace:configure.ac:992: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:993: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:624: BASH_FUNC_STD_PUTENV is expanded from...
-configure.ac:992: the top level])
-m4trace:configure.ac:992: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.ac:992: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.ac:994: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.ac:994: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.ac:997: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:993: the top level])
+m4trace:configure.ac:993: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.ac:993: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.ac:995: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.ac:995: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.ac:998: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
 aclocal.m4:654: BASH_FUNC_STD_UNSETENV is expanded from...
-configure.ac:997: the top level])
-m4trace:configure.ac:997: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.ac:997: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.ac:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.ac:999: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.ac:1002: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:998: the top level])
+m4trace:configure.ac:998: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.ac:998: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.ac:1000: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.ac:1000: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.ac:1003: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:878: BASH_FUNC_PRINTF_A_FORMAT is expanded from...
-configure.ac:1002: the top level])
-m4trace:configure.ac:1002: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
-m4trace:configure.ac:1002: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
-m4trace:configure.ac:1005: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:1003: the top level])
+m4trace:configure.ac:1003: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
+m4trace:configure.ac:1003: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
+m4trace:configure.ac:1006: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1297: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from...
-configure.ac:1005: the top level])
-m4trace:configure.ac:1005: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
-m4trace:configure.ac:1005: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
-m4trace:configure.ac:1006: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:1006: the top level])
+m4trace:configure.ac:1006: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
+m4trace:configure.ac:1006: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
+m4trace:configure.ac:1007: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1356: BASH_SYS_JOB_CONTROL_MISSING is expanded from...
-configure.ac:1006: the top level])
-m4trace:configure.ac:1006: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
-m4trace:configure.ac:1006: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
-m4trace:configure.ac:1007: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:1007: the top level])
+m4trace:configure.ac:1007: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
+m4trace:configure.ac:1007: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
+m4trace:configure.ac:1008: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1415: BASH_SYS_NAMED_PIPES is expanded from...
-configure.ac:1007: the top level])
-m4trace:configure.ac:1007: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
-m4trace:configure.ac:1007: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
-m4trace:configure.ac:1010: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.ac:1010: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
-m4trace:configure.ac:1010: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
+configure.ac:1008: the top level])
+m4trace:configure.ac:1008: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
+m4trace:configure.ac:1008: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
+m4trace:configure.ac:1011: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
+m4trace:configure.ac:1011: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
+m4trace:configure.ac:1011: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
 @%:@undef GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.ac:1011: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:1012: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1496: BASH_HAVE_TIOCSTAT is expanded from...
-configure.ac:1011: the top level])
-m4trace:configure.ac:1011: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
-m4trace:configure.ac:1011: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
-m4trace:configure.ac:1012: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1012: the top level])
+m4trace:configure.ac:1012: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
+m4trace:configure.ac:1012: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
+m4trace:configure.ac:1013: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1508: BASH_HAVE_FIONREAD is expanded from...
-configure.ac:1012: the top level])
-m4trace:configure.ac:1012: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
-m4trace:configure.ac:1012: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
-m4trace:configure.ac:1014: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:1013: the top level])
+m4trace:configure.ac:1013: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
+m4trace:configure.ac:1013: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
+m4trace:configure.ac:1015: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1964: BASH_CHECK_WCONTINUED is expanded from...
-configure.ac:1014: the top level])
-m4trace:configure.ac:1014: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
-m4trace:configure.ac:1014: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
-m4trace:configure.ac:1017: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1015: the top level])
+m4trace:configure.ac:1015: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
+m4trace:configure.ac:1015: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
+m4trace:configure.ac:1018: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1526: BASH_CHECK_SPEED_T is expanded from...
-configure.ac:1017: the top level])
-m4trace:configure.ac:1017: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
-m4trace:configure.ac:1017: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
-m4trace:configure.ac:1018: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
-m4trace:configure.ac:1018: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
-m4trace:configure.ac:1019: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.ac:1018: the top level])
+m4trace:configure.ac:1018: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
+m4trace:configure.ac:1018: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
+m4trace:configure.ac:1019: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
+m4trace:configure.ac:1019: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
+m4trace:configure.ac:1020: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1653: BASH_CHECK_RTSIGS is expanded from...
-configure.ac:1019: the top level])
-m4trace:configure.ac:1019: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
-m4trace:configure.ac:1019: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
-m4trace:configure.ac:1020: -1- AC_SUBST([SIGLIST_O])
-m4trace:configure.ac:1020: -1- AC_SUBST_TRACE([SIGLIST_O])
-m4trace:configure.ac:1020: -1- m4_pattern_allow([^SIGLIST_O$])
-m4trace:configure.ac:1024: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1020: the top level])
+m4trace:configure.ac:1020: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
+m4trace:configure.ac:1020: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
+m4trace:configure.ac:1021: -1- AC_SUBST([SIGLIST_O])
+m4trace:configure.ac:1021: -1- AC_SUBST_TRACE([SIGLIST_O])
+m4trace:configure.ac:1021: -1- m4_pattern_allow([^SIGLIST_O$])
+m4trace:configure.ac:1025: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.ac:1024: the top level])
-m4trace:configure.ac:1024: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.ac:1025: the top level])
+m4trace:configure.ac:1025: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from...
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
@@ -2644,140 +2650,140 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE
 ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
 ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
 aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.ac:1024: the top level])
-m4trace:configure.ac:1024: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
-m4trace:configure.ac:1024: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
-m4trace:configure.ac:1034: -1- AC_SUBST([TERMCAP_LIB])
-m4trace:configure.ac:1034: -1- AC_SUBST_TRACE([TERMCAP_LIB])
-m4trace:configure.ac:1034: -1- m4_pattern_allow([^TERMCAP_LIB$])
-m4trace:configure.ac:1035: -1- AC_SUBST([TERMCAP_DEP])
-m4trace:configure.ac:1035: -1- AC_SUBST_TRACE([TERMCAP_DEP])
-m4trace:configure.ac:1035: -1- m4_pattern_allow([^TERMCAP_DEP$])
-m4trace:configure.ac:1037: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.ac:1037: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.ac:1037: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.ac:1037: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.ac:1037: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.ac:1037: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.ac:1037: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.ac:1037: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.ac:1038: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
-m4trace:configure.ac:1038: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
-m4trace:configure.ac:1039: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
-m4trace:configure.ac:1039: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
-m4trace:configure.ac:1046: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
-m4trace:configure.ac:1046: -1- m4_pattern_allow([^JOB_CONTROL$])
-m4trace:configure.ac:1052: -1- AC_SUBST([JOBS_O])
-m4trace:configure.ac:1052: -1- AC_SUBST_TRACE([JOBS_O])
-m4trace:configure.ac:1052: -1- m4_pattern_allow([^JOBS_O$])
-m4trace:configure.ac:1065: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
-m4trace:configure.ac:1065: -1- m4_pattern_allow([^SVR4_2$])
-m4trace:configure.ac:1066: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.ac:1066: -1- m4_pattern_allow([^SVR4$])
+configure.ac:1025: the top level])
+m4trace:configure.ac:1025: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
+m4trace:configure.ac:1025: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
+m4trace:configure.ac:1035: -1- AC_SUBST([TERMCAP_LIB])
+m4trace:configure.ac:1035: -1- AC_SUBST_TRACE([TERMCAP_LIB])
+m4trace:configure.ac:1035: -1- m4_pattern_allow([^TERMCAP_LIB$])
+m4trace:configure.ac:1036: -1- AC_SUBST([TERMCAP_DEP])
+m4trace:configure.ac:1036: -1- AC_SUBST_TRACE([TERMCAP_DEP])
+m4trace:configure.ac:1036: -1- m4_pattern_allow([^TERMCAP_DEP$])
+m4trace:configure.ac:1038: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.ac:1038: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.ac:1038: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.ac:1038: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.ac:1038: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.ac:1038: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.ac:1038: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.ac:1038: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.ac:1039: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
+m4trace:configure.ac:1039: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
+m4trace:configure.ac:1040: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
+m4trace:configure.ac:1040: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
+m4trace:configure.ac:1047: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
+m4trace:configure.ac:1047: -1- m4_pattern_allow([^JOB_CONTROL$])
+m4trace:configure.ac:1053: -1- AC_SUBST([JOBS_O])
+m4trace:configure.ac:1053: -1- AC_SUBST_TRACE([JOBS_O])
+m4trace:configure.ac:1053: -1- m4_pattern_allow([^JOBS_O$])
+m4trace:configure.ac:1066: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
+m4trace:configure.ac:1066: -1- m4_pattern_allow([^SVR4_2$])
 m4trace:configure.ac:1067: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
 m4trace:configure.ac:1067: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.ac:1068: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
-m4trace:configure.ac:1068: -1- m4_pattern_allow([^SVR5$])
-m4trace:configure.ac:1087: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.ac:1087: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.ac:1135: -1- AC_SUBST([SHOBJ_CC])
-m4trace:configure.ac:1135: -1- AC_SUBST_TRACE([SHOBJ_CC])
-m4trace:configure.ac:1135: -1- m4_pattern_allow([^SHOBJ_CC$])
-m4trace:configure.ac:1136: -1- AC_SUBST([SHOBJ_CFLAGS])
-m4trace:configure.ac:1136: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
-m4trace:configure.ac:1136: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
-m4trace:configure.ac:1137: -1- AC_SUBST([SHOBJ_LD])
-m4trace:configure.ac:1137: -1- AC_SUBST_TRACE([SHOBJ_LD])
-m4trace:configure.ac:1137: -1- m4_pattern_allow([^SHOBJ_LD$])
-m4trace:configure.ac:1138: -1- AC_SUBST([SHOBJ_LDFLAGS])
-m4trace:configure.ac:1138: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
-m4trace:configure.ac:1138: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
-m4trace:configure.ac:1139: -1- AC_SUBST([SHOBJ_XLDFLAGS])
-m4trace:configure.ac:1139: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
-m4trace:configure.ac:1139: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
-m4trace:configure.ac:1140: -1- AC_SUBST([SHOBJ_LIBS])
-m4trace:configure.ac:1140: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
-m4trace:configure.ac:1140: -1- m4_pattern_allow([^SHOBJ_LIBS$])
-m4trace:configure.ac:1141: -1- AC_SUBST([SHOBJ_STATUS])
-m4trace:configure.ac:1141: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
-m4trace:configure.ac:1141: -1- m4_pattern_allow([^SHOBJ_STATUS$])
-m4trace:configure.ac:1173: -1- AC_SUBST([PROFILE_FLAGS])
-m4trace:configure.ac:1173: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
-m4trace:configure.ac:1173: -1- m4_pattern_allow([^PROFILE_FLAGS$])
-m4trace:configure.ac:1175: -1- AC_SUBST([incdir])
-m4trace:configure.ac:1175: -1- AC_SUBST_TRACE([incdir])
-m4trace:configure.ac:1175: -1- m4_pattern_allow([^incdir$])
-m4trace:configure.ac:1176: -1- AC_SUBST([BUILD_DIR])
-m4trace:configure.ac:1176: -1- AC_SUBST_TRACE([BUILD_DIR])
-m4trace:configure.ac:1176: -1- m4_pattern_allow([^BUILD_DIR$])
-m4trace:configure.ac:1179: -1- AC_SUBST([datarootdir])
-m4trace:configure.ac:1179: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.ac:1179: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.ac:1180: -1- AC_SUBST([localedir])
-m4trace:configure.ac:1180: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.ac:1180: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.ac:1182: -1- AC_SUBST([YACC])
-m4trace:configure.ac:1182: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.ac:1182: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.ac:1183: -1- AC_SUBST([AR])
-m4trace:configure.ac:1183: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.ac:1183: -1- m4_pattern_allow([^AR$])
-m4trace:configure.ac:1184: -1- AC_SUBST([ARFLAGS])
-m4trace:configure.ac:1184: -1- AC_SUBST_TRACE([ARFLAGS])
-m4trace:configure.ac:1184: -1- m4_pattern_allow([^ARFLAGS$])
-m4trace:configure.ac:1186: -1- AC_SUBST([BASHVERS])
-m4trace:configure.ac:1186: -1- AC_SUBST_TRACE([BASHVERS])
-m4trace:configure.ac:1186: -1- m4_pattern_allow([^BASHVERS$])
-m4trace:configure.ac:1187: -1- AC_SUBST([RELSTATUS])
-m4trace:configure.ac:1187: -1- AC_SUBST_TRACE([RELSTATUS])
-m4trace:configure.ac:1187: -1- m4_pattern_allow([^RELSTATUS$])
-m4trace:configure.ac:1188: -1- AC_SUBST([DEBUG])
-m4trace:configure.ac:1188: -1- AC_SUBST_TRACE([DEBUG])
-m4trace:configure.ac:1188: -1- m4_pattern_allow([^DEBUG$])
-m4trace:configure.ac:1189: -1- AC_SUBST([MALLOC_DEBUG])
-m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
-m4trace:configure.ac:1189: -1- m4_pattern_allow([^MALLOC_DEBUG$])
-m4trace:configure.ac:1191: -1- AC_SUBST([host_cpu])
-m4trace:configure.ac:1191: -1- AC_SUBST_TRACE([host_cpu])
-m4trace:configure.ac:1191: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.ac:1192: -1- AC_SUBST([host_vendor])
-m4trace:configure.ac:1192: -1- AC_SUBST_TRACE([host_vendor])
-m4trace:configure.ac:1192: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.ac:1193: -1- AC_SUBST([host_os])
-m4trace:configure.ac:1193: -1- AC_SUBST_TRACE([host_os])
-m4trace:configure.ac:1193: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.ac:1195: -1- AC_SUBST([LOCAL_LIBS])
-m4trace:configure.ac:1195: -1- AC_SUBST_TRACE([LOCAL_LIBS])
-m4trace:configure.ac:1195: -1- m4_pattern_allow([^LOCAL_LIBS$])
-m4trace:configure.ac:1196: -1- AC_SUBST([LOCAL_CFLAGS])
-m4trace:configure.ac:1196: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
-m4trace:configure.ac:1196: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
-m4trace:configure.ac:1197: -1- AC_SUBST([LOCAL_LDFLAGS])
-m4trace:configure.ac:1197: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
-m4trace:configure.ac:1197: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
-m4trace:configure.ac:1198: -1- AC_SUBST([LOCAL_DEFS])
-m4trace:configure.ac:1198: -1- AC_SUBST_TRACE([LOCAL_DEFS])
-m4trace:configure.ac:1198: -1- m4_pattern_allow([^LOCAL_DEFS$])
-m4trace:configure.ac:1203: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+m4trace:configure.ac:1068: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.ac:1068: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.ac:1069: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
+m4trace:configure.ac:1069: -1- m4_pattern_allow([^SVR5$])
+m4trace:configure.ac:1088: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.ac:1088: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.ac:1136: -1- AC_SUBST([SHOBJ_CC])
+m4trace:configure.ac:1136: -1- AC_SUBST_TRACE([SHOBJ_CC])
+m4trace:configure.ac:1136: -1- m4_pattern_allow([^SHOBJ_CC$])
+m4trace:configure.ac:1137: -1- AC_SUBST([SHOBJ_CFLAGS])
+m4trace:configure.ac:1137: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
+m4trace:configure.ac:1137: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
+m4trace:configure.ac:1138: -1- AC_SUBST([SHOBJ_LD])
+m4trace:configure.ac:1138: -1- AC_SUBST_TRACE([SHOBJ_LD])
+m4trace:configure.ac:1138: -1- m4_pattern_allow([^SHOBJ_LD$])
+m4trace:configure.ac:1139: -1- AC_SUBST([SHOBJ_LDFLAGS])
+m4trace:configure.ac:1139: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
+m4trace:configure.ac:1139: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
+m4trace:configure.ac:1140: -1- AC_SUBST([SHOBJ_XLDFLAGS])
+m4trace:configure.ac:1140: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
+m4trace:configure.ac:1140: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
+m4trace:configure.ac:1141: -1- AC_SUBST([SHOBJ_LIBS])
+m4trace:configure.ac:1141: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
+m4trace:configure.ac:1141: -1- m4_pattern_allow([^SHOBJ_LIBS$])
+m4trace:configure.ac:1142: -1- AC_SUBST([SHOBJ_STATUS])
+m4trace:configure.ac:1142: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
+m4trace:configure.ac:1142: -1- m4_pattern_allow([^SHOBJ_STATUS$])
+m4trace:configure.ac:1174: -1- AC_SUBST([PROFILE_FLAGS])
+m4trace:configure.ac:1174: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
+m4trace:configure.ac:1174: -1- m4_pattern_allow([^PROFILE_FLAGS$])
+m4trace:configure.ac:1176: -1- AC_SUBST([incdir])
+m4trace:configure.ac:1176: -1- AC_SUBST_TRACE([incdir])
+m4trace:configure.ac:1176: -1- m4_pattern_allow([^incdir$])
+m4trace:configure.ac:1177: -1- AC_SUBST([BUILD_DIR])
+m4trace:configure.ac:1177: -1- AC_SUBST_TRACE([BUILD_DIR])
+m4trace:configure.ac:1177: -1- m4_pattern_allow([^BUILD_DIR$])
+m4trace:configure.ac:1180: -1- AC_SUBST([datarootdir])
+m4trace:configure.ac:1180: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.ac:1180: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.ac:1181: -1- AC_SUBST([localedir])
+m4trace:configure.ac:1181: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.ac:1181: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.ac:1183: -1- AC_SUBST([YACC])
+m4trace:configure.ac:1183: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.ac:1183: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.ac:1184: -1- AC_SUBST([AR])
+m4trace:configure.ac:1184: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.ac:1184: -1- m4_pattern_allow([^AR$])
+m4trace:configure.ac:1185: -1- AC_SUBST([ARFLAGS])
+m4trace:configure.ac:1185: -1- AC_SUBST_TRACE([ARFLAGS])
+m4trace:configure.ac:1185: -1- m4_pattern_allow([^ARFLAGS$])
+m4trace:configure.ac:1187: -1- AC_SUBST([BASHVERS])
+m4trace:configure.ac:1187: -1- AC_SUBST_TRACE([BASHVERS])
+m4trace:configure.ac:1187: -1- m4_pattern_allow([^BASHVERS$])
+m4trace:configure.ac:1188: -1- AC_SUBST([RELSTATUS])
+m4trace:configure.ac:1188: -1- AC_SUBST_TRACE([RELSTATUS])
+m4trace:configure.ac:1188: -1- m4_pattern_allow([^RELSTATUS$])
+m4trace:configure.ac:1189: -1- AC_SUBST([DEBUG])
+m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([DEBUG])
+m4trace:configure.ac:1189: -1- m4_pattern_allow([^DEBUG$])
+m4trace:configure.ac:1190: -1- AC_SUBST([MALLOC_DEBUG])
+m4trace:configure.ac:1190: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
+m4trace:configure.ac:1190: -1- m4_pattern_allow([^MALLOC_DEBUG$])
+m4trace:configure.ac:1192: -1- AC_SUBST([host_cpu])
+m4trace:configure.ac:1192: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.ac:1192: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.ac:1193: -1- AC_SUBST([host_vendor])
+m4trace:configure.ac:1193: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.ac:1193: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.ac:1194: -1- AC_SUBST([host_os])
+m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.ac:1194: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.ac:1196: -1- AC_SUBST([LOCAL_LIBS])
+m4trace:configure.ac:1196: -1- AC_SUBST_TRACE([LOCAL_LIBS])
+m4trace:configure.ac:1196: -1- m4_pattern_allow([^LOCAL_LIBS$])
+m4trace:configure.ac:1197: -1- AC_SUBST([LOCAL_CFLAGS])
+m4trace:configure.ac:1197: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
+m4trace:configure.ac:1197: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
+m4trace:configure.ac:1198: -1- AC_SUBST([LOCAL_LDFLAGS])
+m4trace:configure.ac:1198: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
+m4trace:configure.ac:1198: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
+m4trace:configure.ac:1199: -1- AC_SUBST([LOCAL_DEFS])
+m4trace:configure.ac:1199: -1- AC_SUBST_TRACE([LOCAL_DEFS])
+m4trace:configure.ac:1199: -1- m4_pattern_allow([^LOCAL_DEFS$])
+m4trace:configure.ac:1204: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
          lib/intl/Makefile \
          lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
          lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
          examples/loadables/Makefile examples/loadables/perl/Makefile])
-m4trace:configure.ac:1203: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+m4trace:configure.ac:1204: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
 You should run autoupdate.], [])
-m4trace:configure.ac:1203: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:1203: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:1203: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.ac:1203: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([top_build_prefix])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([abs_top_builddir])
-m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([INSTALL])
+m4trace:configure.ac:1204: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:1204: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:1204: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.ac:1204: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([top_build_prefix])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([INSTALL])
index 8687c11607df158c8d8e80e1c6e533f7b4420dfc..61c1ab15607c6ba523294252b0a223058dab3020 100644 (file)
--- a/braces.c
+++ b/braces.c
@@ -34,6 +34,7 @@
 #include <errno.h>
 
 #include "bashansi.h"
+#include "bashintl.h"
 
 #if defined (SHELL)
 #  include "shell.h"
@@ -282,7 +283,7 @@ expand_amble (text, tlen, flags)
      size_t tlen;
      int flags;
 {
-  char **result, **partial;
+  char **result, **partial, **tresult;
   char *tem;
   int start, i, c;
 
@@ -314,7 +315,16 @@ expand_amble (text, tlen, flags)
          lr = strvec_len (result);
          lp = strvec_len (partial);
 
-         result = strvec_resize (result, lp + lr + 1);
+         tresult = strvec_mresize (result, lp + lr + 1);
+         if (tresult == 0)
+           {
+             internal_error (_("brace expansion: cannot allocate memory for %s"), tem);
+             strvec_dispose (result);
+             result = (char **)NULL;
+             return result;
+           }
+         else
+           result = tresult;
 
          for (j = 0; j < lp; j++)
            result[lr + j] = partial[j];
@@ -359,7 +369,7 @@ mkseq (start, end, incr, type, width)
      int type, width;
 {
   intmax_t n, prevn;
-  int i, nelem;
+  int i, j, nelem;
   char **result, *t;
 
   if (incr == 0)
@@ -397,7 +407,12 @@ mkseq (start, end, incr, type, width)
   nelem = (prevn / sh_imaxabs(incr)) + 1;
   if (nelem > INT_MAX - 2)             /* Don't overflow int */
     return ((char **)NULL);
-  result = strvec_create (nelem + 1);
+  result = strvec_mcreate (nelem + 1);
+  if (result == 0)
+    {
+      internal_error (_("brace expansion: failed to allocate memory for %d elements"), nelem);
+      return ((char **)NULL);
+    }
 
   /* Make sure we go through the loop at least once, so {3..3} prints `3' */
   i = 0;
@@ -408,7 +423,7 @@ mkseq (start, end, incr, type, width)
       QUIT;            /* XXX - memory leak here */
 #endif
       if (type == ST_INT)
-       result[i++] = itos (n);
+       result[i++] = t = itos (n);
       else if (type == ST_ZINT)
        {
          int len, arg;
@@ -418,12 +433,27 @@ mkseq (start, end, incr, type, width)
        }
       else
        {
-         t = (char *)xmalloc (2);
-         t[0] = n;
-         t[1] = '\0';
+         if (t = (char *)malloc (2))
+           {
+             t[0] = n;
+             t[1] = '\0';
+           }
          result[i++] = t;
        }
 
+      /* We failed to allocate memory for this number, so we bail. */
+      if (t == 0)
+       {
+         char *p, lbuf[INT_STRLEN_BOUND(intmax_t) + 1];
+
+         /* Easier to do this than mess around with various intmax_t printf
+            formats (%ld? %lld? %jd?) and PRIdMAX. */
+         p = inttostr (n, lbuf, sizeof (lbuf));
+         internal_error (_("brace expansion: failed to allocate memory for `%s'"), p);
+         strvec_dispose (result);
+         return ((char **)NULL);
+       }
+
       /* Handle overflow and underflow of n+incr */
       if (ADDOVERFLOW (n, incr, INTMAX_MIN, INTMAX_MAX))
         break;
index 069a798ea19ab336c5cc708ec4a02f3b6883d870..7f29126d163fb5d1cd9b9d81b65e6ea2bfefe70f 100644 (file)
@@ -765,7 +765,7 @@ printstr (fmt, string, len, fieldwidth, precision)
   /* If we remove this, get rid of `s'. */
   if (*fmt != 'b' && *fmt != 'q')
     {
-      internal_error ("format parsing problem: %s", s);
+      internal_error (_("format parsing problem: %s"), s);
       fw = pr = 0;
     }
 #endif
index c5f8fd07b060b969db1eb48cbcc7f6a913a75eff..2e6b3fbcc30dbe68441696fd4c4e3f5d14a86fce 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.ac for Bash 4.3, version 4.061.
+# From configure.ac for Bash 4.3, version 4.062.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for bash 4.3-rc1.
+# Generated by GNU Autoconf 2.69 for bash 4.3-rc2.
 #
 # Report bugs to <bug-bash@gnu.org>.
 #
@@ -581,8 +581,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='4.3-rc1'
-PACKAGE_STRING='bash 4.3-rc1'
+PACKAGE_VERSION='4.3-rc2'
+PACKAGE_STRING='bash 4.3-rc2'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 PACKAGE_URL=''
 
@@ -1393,7 +1393,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bash 4.3-rc1 to adapt to many kinds of systems.
+\`configure' configures bash 4.3-rc2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1458,7 +1458,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 4.3-rc1:";;
+     short | recursive ) echo "Configuration of bash 4.3-rc2:";;
    esac
   cat <<\_ACEOF
 
@@ -1650,7 +1650,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 4.3-rc1
+bash configure 4.3-rc2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2359,7 +2359,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bash $as_me 4.3-rc1, which was
+It was created by bash $as_me 4.3-rc2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2753,7 +2753,7 @@ ac_config_headers="$ac_config_headers config.h"
 
 
 BASHVERS=4.3
-RELSTATUS=rc1
+RELSTATUS=rc2
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*|maint*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -10026,6 +10026,20 @@ esac
 fi
 
 
+ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup"
+if test "x$ac_cv_func_strdup" = xyes; then :
+  $as_echo "#define HAVE_STRDUP 1" >>confdefs.h
+
+else
+  case " $LIBOBJS " in
+  *" strdup.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS strdup.$ac_objext"
+ ;;
+esac
+
+fi
+
+
 
 ac_fn_c_check_decl "$LINENO" "AUDIT_USER_TTY" "ac_cv_have_decl_AUDIT_USER_TTY" "#include <linux/audit.h>
 "
@@ -10889,7 +10903,7 @@ fi
 rm -f conftest.mmap conftest.txt
 
 for ac_func in __argz_count __argz_next __argz_stringify dcgettext mempcpy \
-               munmap stpcpy strcspn strdup
+               munmap stpcpy strcspn
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -16537,7 +16551,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bash $as_me 4.3-rc1, which was
+This file was extended by bash $as_me 4.3-rc2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16603,7 +16617,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-bash config.status 4.3-rc1
+bash config.status 4.3-rc2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 8440872d97f531adc5ce8c571e94bd7aa06a64ab..0058ee9aa4d3318a5214dfb6198da15546b61380 100644 (file)
@@ -21,10 +21,10 @@ dnl Process this file with autoconf to produce a configure script.
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_REVISION([for Bash 4.3, version 4.061])dnl
+AC_REVISION([for Bash 4.3, version 4.062])dnl
 
 define(bashvers, 4.3)
-define(relstatus, rc1)
+define(relstatus, rc2)
 
 AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
 
@@ -785,6 +785,7 @@ AC_REPLACE_FUNCS(strcasecmp strcasestr strerror strftime strnlen strpbrk strstr)
 AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
 AC_REPLACE_FUNCS(dprintf)
 AC_REPLACE_FUNCS(strchrnul)
+AC_REPLACE_FUNCS(strdup)
 
 AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include <linux/audit.h>]])
 
@@ -831,7 +832,7 @@ AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
 dnl AC_FUNC_MALLOC
 AC_FUNC_MMAP
 AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
-               munmap stpcpy strcspn strdup])
+               munmap stpcpy strcspn])
 
 INTL_DEP= INTL_INC= LIBINTL_H=
 if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
diff --git a/cross-build/cygwin32.cache.old b/cross-build/cygwin32.cache.old
new file mode 100644 (file)
index 0000000..640390f
--- /dev/null
@@ -0,0 +1,42 @@
+# This file is a shell script that caches the results of configure
+# tests for CYGWIN32 so they don't need to be done when cross-compiling.
+
+# AC_FUNC_GETPGRP should also define GETPGRP_VOID
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void='yes'}
+# AC_FUNC_SETVBUF_REVERSED should not define anything else
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed='no'}
+# on CYGWIN32, system calls do not restart
+ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls='no'}
+bash_cv_sys_restartable_syscalls=${bash_cv_sys_restartable_syscalls='no'}
+
+# these may be necessary, but they are currently commented out
+#ac_cv_c_bigendian=${ac_cv_c_bigendian='no'}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p='4'}
+ac_cv_sizeof_int=${ac_cv_sizeof_int='4'}
+ac_cv_sizeof_long=${ac_cv_sizeof_long='4'}
+ac_cv_sizeof_double=${ac_cv_sizeof_double='8'}
+
+bash_cv_dup2_broken=${bash_cv_dup2_broken='no'}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe='no'}
+bash_cv_type_rlimit=${bash_cv_type_rlimit='long'}
+bash_cv_decl_under_sys_siglist=${bash_cv_decl_under_sys_siglist='no'}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist='no'}
+bash_cv_sys_siglist=${bash_cv_sys_siglist='no'}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust='no'}
+bash_cv_getenv_redef=${bash_cv_getenv_redef='yes'}
+bash_cv_printf_declared=${bash_cv_printf_declared='yes'}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds='no'}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen='no'}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers='no'}
+bash_cv_job_control_missing=${bash_cv_job_control_missing='present'}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes='missing'}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp='missing'}
+bash_cv_mail_dir=${bash_cv_mail_dir='unknown'}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken='no'}
+
+bash_cv_type_int32_t=${bash_cv_type_int32_t='int'}
+bash_cv_type_u_int32_t=${bash_cv_type_u_int32_t='int'}
+
+ac_cv_type_bits64_t=${ac_cv_type_bits64_t='no'}
+
+# end of cross-build/cygwin32.cache
diff --git a/doc/FAQ.orig b/doc/FAQ.orig
new file mode 100644 (file)
index 0000000..1cff3c8
--- /dev/null
@@ -0,0 +1,1745 @@
+This is the Bash FAQ, version 3.24, for Bash version 2.05b.
+
+This document contains a set of frequently-asked questions concerning
+Bash, the GNU Bourne-Again Shell.  Bash is a freely-available command
+interpreter with advanced features for both interactive use and shell
+programming.
+
+Another good source of basic information about shells is the collection
+of FAQ articles periodically posted to comp.unix.shell.
+
+Questions and comments concerning this document should be sent to
+chet@po.cwru.edu.
+
+This document is available for anonymous FTP with the URL
+
+ftp://ftp.cwru.edu/pub/bash/FAQ
+
+The Bash home page is http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
+
+----------
+Contents:
+
+Section A:  The Basics
+
+A1) What is it?
+A2) What's the latest version?
+A3) Where can I get it?
+A4) On what machines will bash run?
+A5) Will bash run on operating systems other than Unix?
+A6) How can I build bash with gcc?
+A7) How can I make bash my login shell?
+A8) I just changed my login shell to bash, and now I can't FTP into my
+    machine.  Why not?
+A9) What's the `POSIX 1003.2 standard'?
+A10) What is the bash `posix mode'?
+
+Section B:  The latest version
+
+B1) What's new in version 2.05b?
+B2) Are there any user-visible incompatibilities between bash-2.05b and
+    bash-1.14.7?
+
+Section C:  Differences from other Unix shells
+
+C1) How does bash differ from sh, the Bourne shell?
+C2) How does bash differ from the Korn shell, version ksh88?
+C3) Which new features in ksh-93 are not in bash, and which are?
+
+Section D:  Why does bash do some things differently than other Unix shells?
+
+D1) Why does bash run a different version of `command' than
+    `which command' says it will?
+D2) Why doesn't bash treat brace expansions exactly like csh?
+D3) Why doesn't bash have csh variable modifiers?
+D4) How can I make my csh aliases work when I convert to bash?
+D5) How can I pipe standard output and standard error from one command to
+    another, like csh does with `|&'?
+D6) Now that I've converted from ksh to bash, are there equivalents to
+    ksh features like autoloaded functions and the `whence' command?
+
+Section E:  Why does bash do certain things the way it does?
+
+E1) Why is the bash builtin `test' slightly different from /bin/test?
+E2) Why does bash sometimes say `Broken pipe'?
+E3) When I have terminal escape sequences in my prompt, why does bash
+    wrap lines at the wrong column?
+E4) If I pipe the output of a command into `read variable', why doesn't
+    the output show up in $variable when the read command finishes?
+E5) I have a bunch of shell scripts that use backslash-escaped characters
+    in arguments to `echo'.  Bash doesn't interpret these characters.  Why
+    not, and how can I make it understand them?
+E6) Why doesn't a while or for loop get suspended when I type ^Z?
+E7) What about empty for loops in Makefiles?
+E8) Why does the arithmetic evaluation code complain about `08'?
+E9) Why does the pattern matching expression [A-Z]* match files beginning
+    with every letter except `z'?
+E10) Why does `cd //' leave $PWD as `//'?
+E11) If I resize my xterm while another program is running, why doesn't bash
+     notice the change?
+
+Section F:  Things to watch out for on certain Unix versions
+
+F1) Why can't I use command line editing in my `cmdtool'?
+F2) I built bash on Solaris 2.  Why do globbing expansions and filename
+    completion chop off the first few characters of each filename?
+F3) Why does bash dump core after I interrupt username completion or
+    `~user' tilde expansion on a machine running NIS?
+F4) I'm running SVR4.2.  Why is the line erased every time I type `@'?
+F5) Why does bash report syntax errors when my C News scripts use a
+    redirection before a subshell command?
+F6) Why can't I use vi-mode editing on Red Hat Linux 6.1?
+F7) Why do bash-2.05a and  bash-2.05b fail to compile `printf.def' on
+    HP/UX 11.x?
+
+Section G:  How can I get bash to do certain common things?
+
+G1) How can I get bash to read and display eight-bit characters?
+G2) How do I write a function `x' to replace builtin command `x', but
+    still invoke the command from within the function?
+G3) How can I find the value of a shell variable whose name is the value
+    of another shell variable?
+G4) How can I make the bash `time' reserved word print timing output that
+    looks like the output from my system's /usr/bin/time?
+G5) How do I get the current directory into my prompt?
+G6) How can I rename "*.foo" to "*.bar"?
+G7) How can I translate a filename from uppercase to lowercase?
+G8) How can I write a filename expansion (globbing) pattern that will match
+    all files in the current directory except "." and ".."?
+
+Section H:  Where do I go from here?
+
+H1) How do I report bugs in bash, and where should I look for fixes and
+    advice?
+H2) What kind of bash documentation is there?
+H3) What's coming in future versions?
+H4) What's on the bash `wish list'?
+H5) When will the next release appear?
+
+----------
+Section A:  The Basics
+
+A1)  What is it?
+
+Bash is a Unix command interpreter (shell).  It is an implementation of
+the Posix 1003.2 shell standard, and resembles the Korn and System V
+shells.
+
+Bash contains a number of enhancements over those shells, both
+for interactive use and shell programming.  Features geared
+toward interactive use include command line editing, command
+history, job control, aliases, and prompt expansion.  Programming
+features include additional variable expansions, shell
+arithmetic, and a number of variables and options to control
+shell behavior.
+
+Bash was originally written by Brian Fox of the Free Software
+Foundation.  The current developer and maintainer is Chet Ramey
+of Case Western Reserve University.
+
+A2)  What's the latest version?
+
+The latest version is 2.05b, first made available on Wednesday, 17
+July, 2002.
+
+A3)  Where can I get it?
+
+Bash is the GNU project's shell, and so is available from the
+master GNU archive site, ftp.gnu.org, and its mirrors.  The
+latest version is also available for FTP from ftp.cwru.edu.
+The following URLs tell how to get version 2.05b:
+
+ftp://ftp.gnu.org/pub/gnu/bash/bash-2.05b.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-2.05b.tar.gz
+
+Formatted versions of the documentation are available with the URLs:
+
+ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-2.05b.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-doc-2.05b.tar.gz
+
+A4)  On what machines will bash run?
+
+Bash has been ported to nearly every version of UNIX.  All you
+should have to do to build it on a machine for which a port
+exists is to type `configure' and then `make'.  The build process
+will attempt to discover the version of UNIX you have and tailor
+itself accordingly, using a script created by GNU autoconf.
+
+More information appears in the file `INSTALL' in the distribution.
+
+The Bash web page (http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html)
+explains how to obtain binary versions of bash for most of the major
+commercial Unix systems.
+
+A5) Will bash run on operating systems other than Unix?
+
+Configuration specifics for Unix-like systems such as QNX and
+LynxOS are included in the distribution.  Bash-2.05 and later
+versions should compile and run on Minix 2.0 (patches were
+contributed), but I don't believe anyone has built bash-2.x on
+earlier Minix versions yet. 
+
+Bash has been ported to versions of Windows implementing the Win32
+programming interface.  This includes Windows 95 and Windows NT.
+The port was done by Cygnus Solutions as part of their CYGWIN
+project.  For more information about the project, look at the URLs
+
+http://www.cygwin.com/
+http://sourceware.cygnus.com/cygwin
+
+Cygnus originally ported bash-1.14.7, and that port was part of their
+early GNU-Win32 (the original name) releases.  Cygnus has also done a
+port of bash-2.05 to the CYGWIN environment, and it is available as
+part of their current release.
+
+Bash-2.05b should require no local Cygnus changes to build and run under
+CYGWIN.
+
+The Cygnus port works only on Intel machines.  There is a port of bash
+(I don't know which version) to the alpha/NT environment available from
+
+ftp://ftp.gnustep.org//pub/win32/bash-alpha-nt-1.01.tar.gz
+
+DJ Delorie has a port of bash-2.x which runs under MS-DOS, as part
+of the DJGPP project.  For more information on the project, see
+
+http://www.delorie.com/djgpp/
+
+I have been told that the original DJGPP port was done by Daisuke Aoyama.
+
+Mark Elbrecht <snowball3@bigfoot.com> has sent me notice that bash-2.04
+is available for DJGPP V2.  The files are available as:
+
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204b.zip binary
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204d.zip documentation
+ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204s.zip source
+
+Mark has begun to work with bash-2.05, but I don't know the status.
+
+Ports of bash-1.12 and bash-2.0 are available for OS/2 from
+
+ftp://hobbes.nmsu.edu/pub/os2/util/shell/bash_112.zip
+ftp://hobbes.nmsu.edu/pub/os2/util/shell/bash-2.0(253).zip
+
+I haven't looked at either, but the second appears to be a binary-only
+distribution.  Beware.
+
+I have received word that Bash (I'm not sure which version, but I
+believe that it's at least bash-2.02.1) is the standard shell on
+BeOS.
+
+A6) How can I build bash with gcc? 
+
+Bash configures to use gcc by default if it is available.  Read the
+file INSTALL in the distribution for more information.
+
+A7)  How can I make bash my login shell?
+
+Some machines let you use `chsh' to change your login shell.  Other
+systems use `passwd -s' or `passwd -e'.  If one of these works for
+you, that's all you need.  Note that many systems require the full
+pathname to a shell to appear in /etc/shells before you can make it
+your login shell.  For this, you may need the assistance of your
+friendly local system administrator. 
+
+If you cannot do this, you can still use bash as your login shell, but
+you need to perform some tricks.  The basic idea is to add a command
+to your login shell's startup file to replace your login shell with
+bash.
+
+For example, if your login shell is csh or tcsh, and you have installed
+bash in /usr/gnu/bin/bash, add the following line to ~/.login:
+
+       if ( -f /usr/gnu/bin/bash ) exec /usr/gnu/bin/bash --login
+
+(the `--login' tells bash that it is a login shell).
+
+It's not a good idea to put this command into ~/.cshrc, because every
+csh you run without the `-f' option, even ones started to run csh scripts,
+reads that file.  If you must put the command in ~/.cshrc, use something
+like
+
+       if ( $?prompt ) exec /usr/gnu/bin/bash --login
+
+to ensure that bash is exec'd only when the csh is interactive.
+
+If your login shell is sh or ksh, you have to do two things.
+
+First, create an empty file in your home directory named `.bash_profile'.
+The existence of this file will prevent the exec'd bash from trying to
+read ~/.profile, and re-execing itself over and over again.  ~/.bash_profile
+is the first file bash tries to read initialization commands from when
+it is invoked as a login shell.
+
+Next, add a line similar to the above to ~/.profile:
+
+       [ -f /usr/gnu/bin/bash ] && [ -x /usr/gnu/bin/bash ] && \
+               exec /usr/gnu/bin/bash --login
+
+This will cause login shells to replace themselves with bash running as
+a login shell.  Once you have this working, you can copy your initialization
+code from ~/.profile to ~/.bash_profile.
+
+I have received word that the recipe supplied above is insufficient for
+machines running CDE.  CDE has a maze of twisty little startup files, all
+slightly different.
+
+If you cannot change your login shell in the password file to bash, you
+will have to (apparently) live with CDE using the shell in the password
+file to run its startup scripts.  If you have changed your shell to bash,
+there is code in the CDE startup files (on Solaris, at least) that attempts
+to do the right thing.  It is, however, often broken, and may require that
+you use the $BASH_ENV trick described below.
+
+`dtterm' claims to use $SHELL as the default program to start, so if you
+can change $SHELL in the CDE startup files, you should be able to use bash
+in your terminal windows.
+
+Setting DTSOURCEPROFILE in ~/.dtprofile will cause the `Xsession' program
+to read your login shell's startup files.  You may be able to use bash for
+the rest of the CDE programs by setting SHELL to bash in ~/.dtprofile as
+well, but I have not tried this.
+
+You can use the above `exec' recipe to start bash when not logging in with
+CDE by testing the value of the DT variable:
+
+       if [ -n "$DT" ]; then
+               [ -f /usr/gnu/bin/bash ] && exec /usr/gnu/bin/bash --login
+       fi
+
+If CDE starts its shells non-interactively during login, the login shell
+startup files (~/.profile, ~/.bash_profile) will not be sourced at login.
+To get around this problem, append a line similar to the following to your
+~/.dtprofile:
+
+       BASH_ENV=${HOME}/.bash_profile ; export BASH_ENV
+
+and add the following line to the beginning of ~/.bash_profile:
+
+       unset BASH_ENV
+
+A8) I just changed my login shell to bash, and now I can't FTP into my
+   machine.  Why not?
+
+You must add the full pathname to bash to the file /etc/shells.  As
+noted in the answer to the previous question, many systems require
+this before you can make bash your login shell. 
+
+Most versions of ftpd use this file to prohibit `special' users
+such as `uucp' and `news' from using FTP. 
+
+A9)  What's the `POSIX 1003.2 standard'?
+
+POSIX is a name originally coined by Richard Stallman for a
+family of open system standards based on UNIX.  There are a
+number of aspects of UNIX under consideration for
+standardization, from the basic system services at the system
+call and C library level to applications and tools to system
+administration and management.  Each area of standardization is
+assigned to a working group in the 1003 series. 
+
+The POSIX Shell and Utilities standard has been developed by IEEE
+Working Group 1003.2 (POSIX.2).  It concentrates on the command
+interpreter interface and utility programs commonly executed from
+the command line or by other programs.  An initial version of the
+standard has been approved and published by the IEEE, and work is
+currently underway to update it. 
+
+Bash is concerned with the aspects of the shell's behavior
+defined by POSIX.2.  The shell command language has of course
+been standardized, including the basic flow control and program
+execution constructs, I/O redirection and pipelining, argument
+handling, variable expansion, and quoting. 
+
+The `special' builtins, which must be implemented as part of the
+shell to provide the desired functionality, are specified as
+being part of the shell; examples of these are `eval' and
+`export'.  Other utilities appear in the sections of POSIX.2 not
+devoted to the shell which are commonly (and in some cases must
+be) implemented as builtin commands, such as `read' and `test'. 
+POSIX.2 also specifies aspects of the shell's interactive
+behavior as part of the UPE, including job control and command
+line editing.  Only vi-style line editing commands have been
+standardized; emacs editing commands were left out due to
+objections.
+
+The Open Group has made an older version of its Single Unix
+Specification (version 2), which is very similar to POSIX.2,
+available on the web at
+
+http://www.opengroup.org/onlinepubs/007908799/
+
+The Single Unix Specification, version 3, is available on the web at
+
+http://www.opengroup.org/onlinepubs/007904975/
+
+A10)  What is the bash `posix mode'?
+
+Although bash is an implementation of the POSIX.2 shell
+specification, there are areas where the bash default behavior
+differs from that spec.  The bash `posix mode' changes the bash
+behavior in these areas so that it obeys the spec more closely. 
+
+Posix mode is entered by starting bash with the --posix or
+'-o posix' option or executing `set -o posix' after bash is running.
+
+The specific aspects of bash which change when posix mode is
+active are listed in the file POSIX in the bash distribution.
+They are also listed in a section in the Bash Reference Manual
+(from which that file is generated).
+
+Section B:  The latest version
+
+B1) What's new in version 2.05b?
+
+The raison d'etre for bash-2.05b is to make a second intermediate
+release containing the first of the new features to be available
+in bash-3.0 and get feedback on those features before proceeding.
+The major new feature is multibyte character support in both Bash
+and Readline.
+
+Bash-2.05b contains the following new features (see the manual page for
+complete descriptions and the CHANGES and NEWS files in the bash-2.05b
+distribution):
+
+o support for multibyte characters has been added to both bash and readline
+
+o the DEBUG trap is now run *before* simple commands, ((...)) commands,
+  [[...]] conditional commands, and for ((...)) loops
+
+o the shell now performs arithmetic in the largest integer size the machine
+  supports (intmax_t)
+
+o there is a new \D{...} prompt expansion; passes the `...' to strftime(3)
+  and inserts the result into the expanded prompt
+
+o there is a new `here-string' redirection operator:  <<< word
+
+o when displaying variables, function attributes and definitions are shown
+  separately, allowing them to be re-used as input (attempting to re-use
+  the old output would result in syntax errors).
+
+o `read' has a new `-u fd' option to read from a specified file descriptor
+
+o the bash debugger in examples/bashdb has been modified to work with the
+  new DEBUG trap semantics, the command set has been made more gdb-like,
+  and the changes to $LINENO make debugging functions work better
+
+o the expansion of $LINENO inside a shell function is only relative to the
+  function start if the shell is interactive -- if the shell is running a
+  script, $LINENO expands to the line number in the script.  This is as
+  POSIX-2001 requires
+
+
+A short feature history dating from Bash-2.0:
+
+Bash-2.05a introduced the following new features:
+
+o The `printf' builtin has undergone major work
+
+o There is a new read-only `shopt' option: login_shell, which is set by
+  login shells and unset otherwise
+
+o New `\A' prompt string escape sequence; expanding to time in 24-hour
+  HH:MM format
+
+o New `-A group/-g' option to complete and compgen; goes group name
+  completion
+
+o New [+-]O invocation option to set and unset `shopt' options at startup
+
+o ksh-like `ERR' trap
+
+o `for' loops now allow empty word lists after the `in' reserved word
+
+o new `hard' and `soft' arguments for the `ulimit' builtin
+
+o Readline can be configured to place the user at the same point on the line
+  when retrieving commands from the history list
+
+o Readline can be configured to skip `hidden' files (filenames with a leading
+  `.' on Unix) when performing completion
+
+Bash-2.05 introduced the following new features:
+
+o This version has once again reverted to using locales and strcoll(3) when
+  processing pattern matching bracket expressions, as POSIX requires. 
+o Added a new `--init-file' invocation argument as a synonym for `--rcfile',
+  per the new GNU coding standards.
+o The /dev/tcp and /dev/udp redirections now accept service names as well as
+  port numbers.
+o `complete' and `compgen' now take a `-o value' option, which controls some
+   of the aspects of that compspec.  Valid values are:
+
+        default - perform bash default completion if programmable
+                  completion produces no matches
+        dirnames - perform directory name completion if programmable
+                   completion produces no matches
+        filenames - tell readline that the compspec produces filenames,
+                    so it can do things like append slashes to
+                    directory names and suppress trailing spaces
+o A new loadable builtin, realpath, which canonicalizes and expands symlinks
+  in pathname arguments.
+o When `set' is called without options, it prints function defintions in a
+  way that allows them to be reused as input.  This affects `declare' and 
+  `declare -p' as well.  This only happens when the shell is not in POSIX
+   mode, since POSIX.2 forbids this behavior.
+
+Bash-2.04 introduced the following new features:
+
+o Programmable word completion with the new `complete' and `compgen' builtins;
+  examples are provided in examples/complete/complete-examples
+o `history' has a new `-d' option to delete a history entry
+o `bind' has a new `-x' option to bind key sequences to shell commands
+o The prompt expansion code has new `\j' and `\l' escape sequences
+o The `no_empty_cmd_completion' shell option, if enabled, inhibits
+  command completion when TAB is typed on an empty line
+o `help' has a new `-s' option to print a usage synopsis
+o New arithmetic operators: var++, var--, ++var, --var, expr1,expr2 (comma)
+o New ksh93-style arithmetic for command:
+       for ((expr1 ; expr2; expr3 )); do list; done
+o `read' has new options: `-t', `-n', `-d', `-s'
+o The redirection code handles several filenames specially:  /dev/fd/N,
+  /dev/stdin, /dev/stdout, /dev/stderr
+o The redirection code now recognizes /dev/tcp/HOST/PORT and
+  /dev/udp/HOST/PORT and tries to open a TCP or UDP socket, respectively,
+  to the specified port on the specified host
+o The ${!prefix*} expansion has been implemented
+o A new FUNCNAME variable, which expands to the name of a currently-executing
+  function
+o The GROUPS variable is no longer readonly
+o A new shopt `xpg_echo' variable, to control the behavior of echo with
+  respect to backslash-escape sequences at runtime
+o The NON_INTERACTIVE_LOGIN_SHELLS #define has returned
+
+The version of Readline released with Bash-2.04, Readline-4.1, had several
+new features as well:
+
+o Parentheses matching is always compiled into readline, and controllable
+  with the new `blink-matching-paren' variable
+o The history-search-forward and history-search-backward functions now leave
+  point at the end of the line when the search string is empty, like
+  reverse-search-history, and forward-search-history
+o A new function for applications:  rl_on_new_line_with_prompt()
+o New variables for applications:  rl_already_prompted, and rl_gnu_readline_p
+
+
+Bash-2.03 had very few new features, in keeping with the convention
+that odd-numbered releases provide mainly bug fixes.  A number of new
+features were added to Readline, mostly at the request of the Cygnus
+folks.
+
+A new shopt option, `restricted_shell', so that startup files can test
+       whether or not the shell was started in restricted mode
+Filename generation is now performed on the words between ( and ) in
+       compound array assignments (this is really a bug fix)
+OLDPWD is now auto-exported, as POSIX.2 requires
+ENV and BASH_ENV are read-only variables in a restricted shell
+Bash may now be linked against an already-installed Readline library,
+       as long as the Readline library is version 4 or newer
+All shells begun with the `--login' option will source the login shell
+       startup files, even if the shell is not interactive
+
+There were lots of changes to the version of the Readline library released
+along with Bash-2.03.  For a complete list of the changes, read the file
+CHANGES in the Bash-2.03 distribution.
+
+Bash-2.02 contained the following new features:
+
+a new version of malloc (based on the old GNU malloc code in previous
+       bash versions) that is more page-oriented, more conservative
+       with memory usage, does not `orphan' large blocks when they
+       are freed, is usable on 64-bit machines, and has allocation
+       checking turned on unconditionally
+POSIX.2-style globbing character classes ([:alpha:], [:alnum:], etc.)
+POSIX.2-style globbing equivalence classes
+POSIX.2-style globbing collating symbols
+the ksh [[...]] extended conditional command
+the ksh egrep-style extended pattern matching operators
+a new `printf' builtin
+the ksh-like $(<filename) command substitution, which is equivalent to
+       $(cat filename)
+new tilde prefixes that expand to directories from the directory stack
+new `**' arithmetic operator to do exponentiation
+case-insensitive globbing (filename expansion)
+menu completion a la tcsh
+`magic-space' history expansion function like tcsh
+the readline inputrc `language' has a new file inclusion directive ($include)
+
+Bash-2.01 contained only a few new features:
+
+new `GROUPS' builtin array variable containing the user's group list
+new bindable readline commands: history-and-alias-expand-line and
+       alias-expand-line
+
+Bash-2.0 contained extensive changes and new features from bash-1.14.7.
+Here's a short list:
+
+new `time' reserved word to time pipelines, shell builtins, and
+       shell functions
+one-dimensional arrays with a new compound assignment statement,
+        appropriate expansion constructs and modifications to some
+       of the builtins (read, declare, etc.) to use them
+new quoting syntaxes for ANSI-C string expansion and locale-specific
+       string translation
+new expansions to do substring extraction, pattern replacement, and
+       indirect variable expansion
+new builtins: `disown' and `shopt'
+new variables: HISTIGNORE, SHELLOPTS, PIPESTATUS, DIRSTACK, GLOBIGNORE,
+              MACHTYPE, BASH_VERSINFO
+special handling of many unused or redundant variables removed
+       (e.g., $notify, $glob_dot_filenames, $no_exit_on_failed_exec)
+dynamic loading of new builtin commands; many loadable examples provided
+new prompt expansions: \a, \e, \n, \H, \T, \@, \v, \V
+history and aliases available in shell scripts
+new readline variables: enable-keypad, mark-directories, input-meta,
+       visible-stats, disable-completion, comment-begin
+new readline commands to manipulate the mark and operate on the region
+new readline emacs mode commands and bindings for ksh-88 compatibility
+updated and extended builtins
+new DEBUG trap
+expanded (and now documented) restricted shell mode
+
+implementation stuff:  
+autoconf-based configuration
+nearly all of the bugs reported since version 1.14 have been fixed
+most builtins converted to use builtin `getopt' for consistency
+most builtins use -p option to display output in a reusable form
+       (for consistency)
+grammar tighter and smaller (66 reduce-reduce conflicts gone)
+lots of code now smaller and faster
+test suite greatly expanded
+
+B2) Are there any user-visible incompatibilities between bash-2.05b and
+    bash-1.14.7?
+
+There are a few incompatibilities between version 1.14.7 and version 2.05b.
+They are detailed in the file COMPAT in the bash distribution.  That file
+is not meant to be all-encompassing; send mail to bash-maintainers@gnu.org
+if if you find something that's not mentioned there.
+
+Section C:  Differences from other Unix shells
+
+C1) How does bash differ from sh, the Bourne shell?
+
+This is a non-comprehensive list of features that differentiate bash
+from the SVR4.2 shell.  The bash manual page explains these more
+completely.
+
+Things bash has that sh does not:
+       long invocation options
+       [+-]O invocation option
+       -l invocation option
+       `!' reserved word to invert pipeline return value
+       `time' reserved word to time pipelines and shell builtins
+       the `function' reserved word
+       the `select' compound command and reserved word
+       arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
+       new $'...' and $"..." quoting
+       the $(...) form of command substitution
+       the $(<filename) form of command substitution, equivalent to
+               $(cat filename)
+       the ${#param} parameter value length operator
+       the ${!param} indirect parameter expansion operator
+       the ${!param*} prefix expansion operator
+       the ${param:offset[:length]} parameter substring operator
+       the ${param/pat[/string]} parameter pattern substitution operator
+       expansions to perform substring removal (${p%[%]w}, ${p#[#]w})
+       expansion of positional parameters beyond $9 with ${num}
+       variables: BASH, BASH_VERSION, BASH_VERSINFO, UID, EUID, REPLY,
+                  TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS,
+                  LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME,
+                  ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE,
+                  HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS,
+                  PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,
+                  SHELLOPTS, OPTERR, HOSTFILE, TMOUT, FUNCNAME, histchars,
+                  auto_resume
+       DEBUG trap
+       ERR trap
+       variable arrays with new compound assignment syntax
+       redirections: <>, &>, >|, <<<, [n]<&word-, [n]>&word-
+       prompt string special char translation and variable expansion
+       auto-export of variables in initial environment
+       command search finds functions before builtins
+       bash return builtin will exit a file sourced with `.'
+       builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t.
+                 export -n/-f/-p/name=value, pwd -L/-P,
+                 read -e/-p/-a/-t/-n/-d/-s/-u,
+                 readonly -a/-f/name=value, trap -l, set +o,
+                 set -b/-m/-o option/-h/-p/-B/-C/-H/-P,
+                 unset -f/-v, ulimit -m/-p/-u,
+                 type -a/-p/-t/-f/-P, suspend -f, kill -n,
+                 test -o optname/s1 == s2/s1 < s2/s1 > s2/-nt/-ot/-ef/-O/-G/-S
+       bash reads ~/.bashrc for interactive shells, $ENV for non-interactive
+       bash restricted shell mode is more extensive
+       bash allows functions and variables with the same name
+       brace expansion
+       tilde expansion
+       arithmetic expansion with $((...)) and `let' builtin
+       the `[[...]]' extended conditional command
+       process substitution
+       aliases and alias/unalias builtins
+       local variables in functions and `local' builtin
+       readline and command-line editing with programmable completion
+       command history and history/fc builtins
+       csh-like history expansion
+       other new bash builtins: bind, command, compgen, complete, builtin,
+                                declare/typeset, dirs, enable, fc, help,
+                                history, logout, popd, pushd, disown, shopt,
+                                printf
+       exported functions
+       filename generation when using output redirection (command >a*)
+       POSIX.2-style globbing character classes
+       POSIX.2-style globbing equivalence classes
+       POSIX.2-style globbing collating symbols
+       egrep-like extended pattern matching operators
+       case-insensitive pattern matching and globbing
+       variable assignments preceding commands affect only that command,
+               even for builtins and functions
+       posix mode
+       redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr,
+               /dev/tcp/host/port, /dev/udp/host/port
+
+Things sh has that bash does not:
+       uses variable SHACCT to do shell accounting
+       includes `stop' builtin (bash can use alias stop='kill -s STOP')
+       `newgrp' builtin
+       turns on job control if called as `jsh'
+       $TIMEOUT (like bash $TMOUT)
+       `^' is a synonym for `|'
+       new SVR4.2 sh builtins: mldmode, priv
+
+Implementation differences:
+       redirection to/from compound commands causes sh to create a subshell
+       bash does not allow unbalanced quotes; sh silently inserts them at EOF
+       bash does not mess with signal 11
+       sh sets (euid, egid) to (uid, gid) if -p not supplied and uid < 100
+       bash splits only the results of expansions on IFS, using POSIX.2
+               field splitting rules; sh splits all words on IFS
+       sh does not allow MAILCHECK to be unset (?)
+       sh does not allow traps on SIGALRM or SIGCHLD
+       bash allows multiple option arguments when invoked (e.g. -x -v);
+               sh allows only a single option argument (`sh -x -v' attempts
+               to open a file named `-v', and, on SunOS 4.1.4, dumps core.
+               On Solaris 2.4 and earlier versions, sh goes into an infinite
+               loop.)
+       sh exits a script if any builtin fails; bash exits only if one of
+               the POSIX.2 `special' builtins fails
+
+C2)  How does bash differ from the Korn shell, version ksh88?
+
+Things bash has or uses that ksh88 does not:
+       long invocation options
+       [-+]O invocation option
+       -l invocation option
+       `!' reserved word
+       arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done
+       arithmetic in largest machine-supported size (intmax_t)
+       posix mode and posix conformance
+       command hashing
+       tilde expansion for assignment statements that look like $PATH
+       process substitution with named pipes if /dev/fd is not available
+       the ${!param} indirect parameter expansion operator
+       the ${!param*} prefix expansion operator
+       the ${param:offset[:length]} parameter substring operator
+       the ${param/pat[/string]} parameter pattern substitution operator
+       variables: BASH, BASH_VERSION, BASH_VERSINFO, UID, EUID, SHLVL,
+                  TIMEFORMAT, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE,
+                  HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND,
+                  IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK,
+                  PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE,
+                  GROUPS, FUNCNAME, histchars, auto_resume
+       prompt expansion with backslash escapes and command substitution
+       redirection: &> (stdout and stderr), <<<, [n]<&word-, [n]>&word-
+       more extensive and extensible editing and programmable completion
+       builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable,
+                 exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history,
+                 jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd,
+                 read -e/-p/-a/-t/-n/-d/-s, readonly -a/-n/-f/-p,
+                 set -o braceexpand/-o histexpand/-o interactive-comments/
+                 -o notify/-o physical/-o posix/-o hashall/-o onecmd/
+                 -h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type,
+                 typeset -a/-F/-p, ulimit -u, umask -S, alias -p, shopt,
+                 disown, printf, complete, compgen
+       `!' csh-style history expansion
+       POSIX.2-style globbing character classes
+       POSIX.2-style globbing equivalence classes
+       POSIX.2-style globbing collating symbols
+       egrep-like extended pattern matching operators
+       case-insensitive pattern matching and globbing
+       `**' arithmetic operator to do exponentiation
+       redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr
+       arrays of unlimited size
+       TMOUT is default timeout for `read' and `select'
+
+Things ksh88 has or uses that bash does not:
+       tracked aliases (alias -t)
+       variables: ERRNO, FPATH, EDITOR, VISUAL
+       co-processes (|&, >&p, <&p)
+       weirdly-scoped functions
+       typeset +f to list all function names without definitions
+       text of command history kept in a file, not memory
+       builtins: alias -x, cd old new, fc -e -, newgrp, print,
+                 read -p/-s/var?prompt, set -A/-o gmacs/
+                 -o bgnice/-o markdirs/-o nolog/-o trackall/-o viraw/-s,
+                 typeset -H/-L/-R/-Z/-A/-ft/-fu/-fx/-l/-u/-t, whence
+       using environment to pass attributes of exported variables
+       arithmetic evaluation done on arguments to some builtins
+       reads .profile from $PWD when invoked as login shell
+
+Implementation differences:
+       ksh runs last command of a pipeline in parent shell context
+       bash has brace expansion by default (ksh88 compile-time option)
+       bash has fixed startup file for all interactive shells; ksh reads $ENV
+       bash has exported functions
+       bash command search finds functions before builtins
+       bash waits for all commands in pipeline to exit before returning status
+       emacs-mode editing has some slightly different key bindings
+
+C3)  Which new features in ksh-93 are not in bash, and which are?
+
+New things in ksh-93 not in bash-2.05b:
+       associative arrays
+       floating point arithmetic and variables
+       math library functions
+       ${!name[sub]} name of subscript for associative array
+       `.' is allowed in variable names to create a hierarchical namespace
+       more extensive compound assignment syntax
+       discipline functions
+       `sleep' and `getconf' builtins (bash has loadable versions)
+       typeset -n and `nameref' variables
+       KEYBD trap
+       variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, .sh.version,
+                  .sh.name, .sh.subscript, .sh.value, .sh.match, HISTEDIT
+       backreferences in pattern matching (\N)
+       `&' operator in pattern lists for matching
+       print -f (bash uses printf)
+       `fc' has been renamed to `hist'
+       `.' can execute shell functions
+       exit statuses between 0 and 255
+       set -o pipefail
+       `+=' variable assignment operator
+       FPATH and PATH mixing
+       getopts -a
+       -I invocation option
+       DEBUG trap now executed before each simple command, instead of after
+       printf %H, %P, %T, %Z modifiers, output base for %d
+       lexical scoping for local variables in `ksh' functions
+       no scoping for local variables in `POSIX' functions
+
+New things in ksh-93 present in bash-2.05b:
+       [n]<&word- and [n]>&word- redirections (combination dup and close)
+        for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command
+        ?:, ++, --, `expr1 , expr2' arithmetic operators
+       expansions: ${!param}, ${param:offset[:len]}, ${param/pat[/str]},
+                   ${!param*}
+       compound array assignment
+       the `!' reserved word
+       loadable builtins -- but ksh uses `builtin' while bash uses `enable'
+       `command', `builtin', `disown' builtins
+       new $'...' and $"..." quoting
+       FIGNORE (but bash uses GLOBIGNORE), HISTCMD
+       set -o notify/-C
+       changes to kill builtin
+       read -A (bash uses read -a)
+        read -t/-d
+       trap -p
+       exec -c/-a
+       `.' restores the positional parameters when it completes
+       POSIX.2 `test'
+       umask -S
+       unalias -a
+       command and arithmetic substitution performed on PS1, PS4, and ENV
+       command name completion
+       ENV processed only for interactive shells
+
+Section D:  Why does bash do some things differently than other Unix shells?
+
+D1) Why does bash run a different version of `command' than
+    `which command' says it will?
+
+On many systems, `which' is actually a csh script that assumes
+you're running csh.  In tcsh, `which' and its cousin `where'
+are builtins.  On other Unix systems, `which' is a perl script
+that uses the PATH environment variable.
+
+The csh script version reads the csh startup files from your
+home directory and uses those to determine which `command' will
+be invoked.  Since bash doesn't use any of those startup files,
+there's a good chance that your bash environment differs from
+your csh environment.  The bash `type' builtin does everything
+`which' does, and will report correct results for the running
+shell.  If you're really wedded to the name `which', try adding
+the following function definition to your .bashrc:
+
+       which()
+       {
+               builtin type "$@"
+       }
+
+If you're moving from tcsh and would like to bring `where' along
+as well, use this function:
+
+       where()
+       {
+               builtin type -a "$@"
+       }
+
+D2) Why doesn't bash treat brace expansions exactly like csh?
+
+The only difference between bash and csh brace expansion is that
+bash requires a brace expression to contain at least one unquoted
+comma if it is to be expanded.  Any brace-surrounded word not
+containing an unquoted comma is left unchanged by the brace
+expansion code.  This affords the greatest degree of sh
+compatibility. 
+
+Bash, ksh, zsh, and pd-ksh all implement brace expansion this way. 
+
+D3) Why doesn't bash have csh variable modifiers?
+
+Posix has specified a more powerful, albeit somewhat more cryptic,
+mechanism cribbed from ksh, and bash implements it.
+
+${parameter%word}
+        Remove smallest suffix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        smallest portion of the suffix matched by the pattern deleted.
+
+        x=file.c
+        echo ${x%.c}.o
+        -->file.o
+
+${parameter%%word}
+
+        Remove largest suffix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        largest portion of the suffix matched by the pattern deleted.
+
+        x=posix/src/std
+        echo ${x%%/*}
+        -->posix
+
+${parameter#word}
+        Remove smallest prefix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        smallest portion of the prefix matched by the pattern deleted.
+
+        x=$HOME/src/cmd
+        echo ${x#$HOME}
+        -->/src/cmd
+
+${parameter##word}
+        Remove largest prefix pattern.  The WORD is expanded to produce
+        a pattern.  It then expands to the value of PARAMETER, with the
+        largest portion of the prefix matched by the pattern deleted.
+
+        x=/one/two/three
+        echo ${x##*/}
+        -->three
+
+
+Given
+       a=/a/b/c/d
+       b=b.xxx
+
+       csh                     bash            result
+       ---                     ----            ------
+       $a:h                    ${a%/*}            /a/b/c
+       $a:t                    ${a##*/}           d
+       $b:r                    ${b%.*}            b
+       $b:e                    ${b##*.}           xxx
+
+
+D4) How can I make my csh aliases work when I convert to bash?
+
+Bash uses a different syntax to support aliases than csh does. 
+The details can be found in the documentation.  We have provided
+a shell script which does most of the work of conversion for you;
+this script can be found in ./examples/misc/aliasconv.sh.  Here is
+how you use it:
+  
+Start csh in the normal way for you.  (e.g., `csh')
+  
+Pipe the output of `alias' through `aliasconv.sh', saving the
+results into `bash_aliases':
+  
+       alias | bash aliasconv.sh >bash_aliases
+  
+Edit `bash_aliases', carefully reading through any created
+functions.  You will need to change the names of some csh specific
+variables to the bash equivalents.  The script converts $cwd to
+$PWD, $term to $TERM, $home to $HOME, $user to $USER, and $prompt
+to $PS1.  You may also have to add quotes to avoid unwanted
+expansion.
+
+For example, the csh alias:
+  
+       alias cd 'cd \!*; echo $cwd'
+  
+is converted to the bash function:
+
+       cd () { command cd "$@"; echo $PWD ; }
+
+The only thing that needs to be done is to quote $PWD:
+  
+       cd () { command cd "$@"; echo "$PWD" ; }
+  
+Merge the edited file into your ~/.bashrc.
+
+There is an additional, more ambitious, script in
+examples/misc/cshtobash that attempts to convert your entire csh
+environment to its bash equivalent.  This script can be run as
+simply `cshtobash' to convert your normal interactive
+environment, or as `cshtobash ~/.login' to convert your login
+environment. 
+
+D5) How can I pipe standard output and standard error from one command to
+    another, like csh does with `|&'?
+
+Use
+       command 2>&1 | command2
+
+The key is to remember that piping is performed before redirection, so
+file descriptor 1 points to the pipe when it is duplicated onto file
+descriptor 2.
+
+D6) Now that I've converted from ksh to bash, are there equivalents to
+    ksh features like autoloaded functions and the `whence' command?
+
+There are features in ksh-88 and ksh-93 that do not have direct bash
+equivalents.  Most, however, can be emulated with very little trouble.
+
+ksh-88 feature         Bash equivalent
+--------------         ---------------
+compiled-in aliases    set up aliases in .bashrc; some ksh aliases are
+                       bash builtins (hash, history, type)
+coprocesses            named pipe pairs (one for read, one for write)
+typeset +f             declare -F
+cd, print, whence      function substitutes in examples/functions/kshenv
+autoloaded functions   examples/functions/autoload is the same as typeset -fu
+read var?prompt                read -p prompt var
+
+ksh-93 feature         Bash equivalent
+--------------         ---------------
+sleep, getconf         Bash has loadable versions in examples/loadables
+${.sh.version}         $BASH_VERSION
+print -f               printf
+hist                   alias hist=fc
+$HISTEDIT              $FCEDIT
+
+Section E:  How can I get bash to do certain things, and why does bash do
+           things the way it does?
+
+E1) Why is the bash builtin `test' slightly different from /bin/test?
+
+The specific example used here is [ ! x -o x ], which is false.
+
+Bash's builtin `test' implements the Posix.2 spec, which can be
+summarized as follows (the wording is due to David Korn):
+   
+Here is the set of rules for processing test arguments.
+  
+    0 Args: False
+    1 Arg:  True iff argument is not null.
+    2 Args: If first arg is !, True iff second argument is null.
+           If first argument is unary, then true if unary test is true
+           Otherwise error.
+    3 Args: If second argument is a binary operator, do binary test of $1 $3
+           If first argument is !, negate two argument test of $2 $3
+           If first argument is `(' and third argument is `)', do the
+           one-argument test of the second argument.
+           Otherwise error.
+    4 Args: If first argument is !, negate three argument test of $2 $3 $4.
+           Otherwise unspecified
+    5 or more Args: unspecified.  (Historical shells would use their
+    current algorithm).
+   
+The operators -a and -o are considered binary operators for the purpose
+of the 3 Arg case.
+   
+As you can see, the test becomes (not (x or x)), which is false.
+
+E2) Why does bash sometimes say `Broken pipe'?
+
+If a sequence of commands appears in a pipeline, and one of the
+reading commands finishes before the writer has finished, the
+writer receives a SIGPIPE signal.  Many other shells special-case
+SIGPIPE as an exit status in the pipeline and do not report it. 
+For example, in:
+  
+      ps -aux | head
+  
+`head' can finish before `ps' writes all of its output, and ps
+will try to write on a pipe without a reader.  In that case, bash
+will print `Broken pipe' to stderr when ps is killed by a
+SIGPIPE. 
+
+You can build a version of bash that will not report SIGPIPE errors
+by uncommenting the definition of DONT_REPORT_SIGPIPE in the file
+config-top.h.
+
+E3) When I have terminal escape sequences in my prompt, why does bash
+    wrap lines at the wrong column?
+
+Readline, the line editing library that bash uses, does not know
+that the terminal escape sequences do not take up space on the
+screen.  The redisplay code assumes, unless told otherwise, that
+each character in the prompt is a `printable' character that
+takes up one character position on the screen. 
+
+You can use the bash prompt expansion facility (see the PROMPTING
+section in the manual page) to tell readline that sequences of
+characters in the prompt strings take up no screen space. 
+
+Use the \[ escape to begin a sequence of non-printing characters,
+and the \] escape to signal the end of such a sequence. 
+
+E4) If I pipe the output of a command into `read variable', why doesn't
+    the output show up in $variable when the read command finishes?
+
+This has to do with the parent-child relationship between Unix
+processes.  It affects all commands run in pipelines, not just
+simple calls to `read'.  For example, piping a command's output
+into a `while' loop that repeatedly calls `read' will result in
+the same behavior.
+
+Each element of a pipeline runs in a separate process, a child of
+the shell running the pipeline.  A subprocess cannot affect its
+parent's environment.  When the `read' command sets the variable
+to the input, that variable is set only in the subshell, not the
+parent shell.  When the subshell exits, the value of the variable
+is lost. 
+
+Many pipelines that end with `read variable' can be converted
+into command substitutions, which will capture the output of
+a specified command.  The output can then be assigned to a
+variable:
+
+       grep ^gnu /usr/lib/news/active | wc -l | read ngroup
+
+can be converted into
+
+       ngroup=$(grep ^gnu /usr/lib/news/active | wc -l)
+
+This does not, unfortunately, work to split the text among
+multiple variables, as read does when given multiple variable
+arguments.  If you need to do this, you can either use the
+command substitution above to read the output into a variable
+and chop up the variable using the bash pattern removal
+expansion operators or use some variant of the following
+approach.
+
+Say /usr/local/bin/ipaddr is the following shell script:
+
+#! /bin/sh
+host `hostname` | awk '/address/ {print $NF}'
+
+Instead of using
+
+       /usr/local/bin/ipaddr | read A B C D
+
+to break the local machine's IP address into separate octets, use
+
+       OIFS="$IFS"
+       IFS=.
+       set -- $(/usr/local/bin/ipaddr)
+       IFS="$OIFS"
+       A="$1" B="$2" C="$3" D="$4"
+
+Beware, however, that this will change the shell's positional
+parameters.  If you need them, you should save them before doing
+this.
+
+This is the general approach -- in most cases you will not need to
+set $IFS to a different value.
+
+Some other user-supplied alternatives include:
+
+read A B C D << HERE
+    $(IFS=.; echo $(/usr/local/bin/ipaddr))
+HERE
+
+and, where process substitution is available,
+
+read A B C D < <(IFS=.; echo $(/usr/local/bin/ipaddr))
+
+E5) I have a bunch of shell scripts that use backslash-escaped characters
+    in arguments to `echo'.  Bash doesn't interpret these characters.  Why
+    not, and how can I make it understand them?
+
+This is the behavior of echo on most Unix System V machines.
+
+The bash builtin `echo' is modeled after the 9th Edition
+Research Unix version of `echo'.  It does not interpret
+backslash-escaped characters in its argument strings by default;
+it requires the use of the -e option to enable the
+interpretation.  The System V echo provides no way to disable the
+special characters; the bash echo has a -E option to disable
+them. 
+
+There is a configuration option that will make bash behave like
+the System V echo and interpret things like `\t' by default.  Run
+configure with the --enable-xpg-echo-default option to turn this
+on.  Be aware that this will cause some of the tests run when you
+type `make tests' to fail.
+
+There is a shell option, `xpg_echo', settable with `shopt', that will
+change the behavior of echo at runtime.  Enabling this option turns
+on expansion of backslash-escape sequences.
+
+E6) Why doesn't a while or for loop get suspended when I type ^Z?
+
+This is a consequence of how job control works on Unix.  The only
+thing that can be suspended is the process group.  This is a single
+command or pipeline of commands that the shell forks and executes.
+
+When you run a while or for loop, the only thing that the shell forks
+and executes are any commands in the while loop test and commands in
+the loop bodies.  These, therefore, are the only things that can be
+suspended when you type ^Z.
+
+If you want to be able to stop the entire loop, you need to put it
+within parentheses, which will force the loop into a subshell that
+may be stopped (and subsequently restarted) as a single unit.
+
+E7) What about empty for loops in Makefiles?
+
+It's fairly common to see constructs like this in automatically-generated
+Makefiles:
+
+SUBDIRS = @SUBDIRS@
+
+       ...
+
+subdirs-clean:
+       for d in ${SUBDIRS}; do \
+               ( cd $$d && ${MAKE} ${MFLAGS} clean ) \
+       done
+
+When SUBDIRS is empty, this results in a command like this being passed to
+bash:
+
+       for d in ; do
+               ( cd $d && ${MAKE} ${MFLAGS} clean )
+       done
+
+In versions of bash before bash-2.05a, this was a syntax error.  If the
+reserved word `in' was present, a word must follow it before the semicolon
+or newline.  The language in the manual page referring to the list of words
+being empty referred to the list after it is expanded.  These versions of
+bash required that there be at least one word following the `in' when the
+construct was parsed.
+
+The idiomatic Makefile solution is something like:
+
+SUBDIRS = @SUBDIRS@
+
+subdirs-clean:
+       subdirs=$SUBDIRS ; for d in $$subdirs; do \
+               ( cd $$d && ${MAKE} ${MFLAGS} clean ) \
+       done
+
+The latest drafts of the updated POSIX standard have changed this:  the
+word list is no longer required.  Bash versions 2.05a and later accept
+the new syntax.
+
+E8) Why does the arithmetic evaluation code complain about `08'?
+
+The bash arithmetic evaluation code (used for `let', $(()), (()), and in
+other places), interprets a leading `0' in numeric constants as denoting
+an octal number, and a leading `0x' as denoting hexadecimal.  This is
+in accordance with the POSIX.2 spec, section 2.9.2.1, which states that
+arithmetic constants should be handled as signed long integers as defined
+by the ANSI/ISO C standard.
+
+The POSIX.2 interpretation committee has confirmed this:
+
+http://www.pasc.org/interps/unofficial/db/p1003.2/pasc-1003.2-173.html
+
+E9) Why does the pattern matching expression [A-Z]* match files beginning
+    with every letter except `z'?
+
+Bash-2.03, Bash-2.05 and later versions honor the current locale setting
+when processing ranges within pattern matching bracket expressions ([A-Z]). 
+This is what POSIX.2 and SUSv3/XPG6 specify. 
+
+The behavior of the matcher in bash-2.05 and later versions depends on the
+current LC_COLLATE setting.  Setting this variable to `C' or `POSIX' will
+result in the traditional behavior ([A-Z] matches all uppercase ASCII
+characters).  Many other locales, including the en_US locale (the default
+on many US versions of Linux) collate the upper and lower case letters like
+this:
+
+       AaBb...Zz
+
+which means that [A-Z] matches every letter except `z'.  Others collate like
+
+       aAbBcC...zZ
+
+which means that [A-Z] matches every letter except `a'.
+
+The portable way to specify upper case letters is [:upper:] instead of
+A-Z; lower case may be specified as [:lower:] instead of a-z.
+
+Look at the manual pages for setlocale(3), strcoll(3), and, if it is
+present, locale(1).  If you have locale(1), you can use it to find
+your current locale information even if you do not have any of the
+LC_ variables set.
+
+My advice is to put
+
+       export LC_COLLATE=C
+
+into /etc/profile and inspect any shell scripts run from cron for
+constructs like [A-Z].  This will prevent things like
+
+       rm [A-Z]*
+
+from removing every file in the current directory except those beginning
+with `z' and still allow individual users to change the collation order.
+Users may put the above command into their own profiles as well, of course.
+
+E10) Why does `cd //' leave $PWD as `//'?
+
+POSIX.2, in its description of `cd', says that *three* or more leading
+slashes may be replaced with a single slash when canonicalizing the
+current working directory.
+
+This is, I presume, for historical compatibility.  Certain versions of
+Unix, and early network file systems, used paths of the form
+//hostname/path to access `path' on server `hostname'.
+
+E11) If I resize my xterm while another program is running, why doesn't bash
+     notice the change?
+
+This is another issue that deals with job control.
+
+The kernel maintains a notion of a current terminal process group.  Members
+of this process group (processes whose process group ID is equal to the
+current terminal process group ID) receive terminal-generated signals like
+SIGWINCH.  (For more details, see the JOB CONTROL section of the bash
+man page.)
+
+If a terminal is resized, the kernel sends SIGWINCH to each member of
+the terminal's current process group (the `foreground' process group).
+
+When bash is running with job control enabled, each pipeline (which may be
+a single command) is run in its own process group, different from bash's
+process group.  This foreground process group receives the SIGWINCH; bash
+does not.  Bash has no way of knowing that the terminal has been resized.
+
+There is a `checkwinsize' option, settable with the `shopt' builtin, that
+will cause bash to check the window size and adjust its idea of the
+terminal's dimensions each time a process stops or exits and returns control
+of the terminal to bash.  Enable it with `shopt -s checkwinsize'.
+
+Section F:  Things to watch out for on certain Unix versions
+
+F1) Why can't I use command line editing in my `cmdtool'?
+
+The problem is `cmdtool' and bash fighting over the input.  When
+scrolling is enabled in a cmdtool window, cmdtool puts the tty in
+`raw mode' to permit command-line editing using the mouse for
+applications that cannot do it themselves.  As a result, bash and
+cmdtool each try to read keyboard input immediately, with neither
+getting enough of it to be useful.
+
+This mode also causes cmdtool to not implement many of the
+terminal functions and control sequences appearing in the
+`sun-cmd' termcap entry.  For a more complete explanation, see
+that file examples/suncmd.termcap in the bash distribution. 
+
+`xterm' is a better choice, and gets along with bash much more
+smoothly.
+
+If you must use cmdtool, you can use the termcap description in
+examples/suncmd.termcap.  Set the TERMCAP variable to the terminal
+description contained in that file, i.e.
+
+TERMCAP='Mu|sun-cmd:am:bs:km:pt:li#34:co#80:cl=^L:ce=\E[K:cd=\E[J:rs=\E[s:'
+
+Then export TERMCAP and start a new cmdtool window from that shell.
+The bash command-line editing should behave better in the new
+cmdtool.  If this works, you can put the assignment to TERMCAP
+in your bashrc file.
+
+F2) I built bash on Solaris 2.  Why do globbing expansions and filename
+    completion chop off the first few characters of each filename?
+
+This is the consequence of building bash on SunOS 5 and linking
+with the libraries in /usr/ucblib, but using the definitions
+and structures from files in /usr/include. 
+
+The actual conflict is between the dirent structure in
+/usr/include/dirent.h and the struct returned by the version of
+`readdir' in libucb.a (a 4.3-BSD style `struct direct'). 
+
+Make sure you've got /usr/ccs/bin ahead of /usr/ucb in your $PATH
+when configuring and building bash.  This will ensure that you
+use /usr/ccs/bin/cc or acc instead of /usr/ucb/cc and that you
+link with libc before libucb. 
+
+If you have installed the Sun C compiler, you may also need to
+put /usr/ccs/bin and /opt/SUNWspro/bin into your $PATH before
+/usr/ucb.
+
+F3) Why does bash dump core after I interrupt username completion or
+    `~user' tilde expansion on a machine running NIS?
+
+This is a famous and long-standing bug in the SunOS YP (sorry, NIS)
+client library, which is part of libc.
+
+The YP library code keeps static state -- a pointer into the data
+returned from the server.  When YP initializes itself (setpwent),
+it looks at this pointer and calls free on it if it's non-null. 
+So far, so good. 
+
+If one of the YP functions is interrupted during getpwent (the
+exact function is interpretwithsave()), and returns NULL, the
+pointer is freed without being reset to NULL, and the function
+returns.  The next time getpwent is called, it sees that this
+pointer is non-null, calls free, and the bash free() blows up
+because it's being asked to free freed memory. 
+
+The traditional Unix mallocs allow memory to be freed multiple
+times; that's probably why this has never been fixed.  You can
+run configure with the `--without-gnu-malloc' option to use
+the C library malloc and avoid the problem.
+
+F4) I'm running SVR4.2.  Why is the line erased every time I type `@'?
+
+The `@' character is the default `line kill' character in most
+versions of System V, including SVR4.2.  You can change this
+character to whatever you want using `stty'.  For example, to
+change the line kill character to control-u, type
+
+       stty kill ^U
+
+where the `^' and `U' can be two separate characters.
+
+F5) Why does bash report syntax errors when my C News scripts use a
+    redirection before a subshell command?
+
+The actual command in question is something like
+
+       < file ( command )
+
+According to the grammar given in the POSIX.2 standard, this construct
+is, in fact, a syntax error.  Redirections may only precede `simple
+commands'.  A subshell construct such as the above is one of the shell's
+`compound commands'.  A redirection may only follow a compound command.
+
+This affects the mechanical transformation of commands that use `cat'
+to pipe a file into a command (a favorite Useless-Use-Of-Cat topic on
+comp.unix.shell).  While most commands of the form
+
+       cat file | command
+
+can be converted to `< file command', shell control structures such as
+loops and subshells require `command < file'.
+
+The file CWRU/sh-redir-hack in the bash-2.05a distribution is an
+(unofficial) patch to parse.y that will modify the grammar to
+support this construct.  It will not apply with `patch'; you must
+modify parse.y by hand.  Note that if you apply this, you must
+recompile with -DREDIRECTION_HACK.  This introduces a large
+number of reduce/reduce conflicts into the shell grammar. 
+
+F6) Why can't I use vi-mode editing on Red Hat Linux 6.1?
+
+The short answer is that Red Hat screwed up.
+
+The long answer is that they shipped an /etc/inputrc that only works
+for emacs mode editing, and then screwed all the vi users by setting
+INPUTRC to /etc/inputrc in /etc/profile.
+
+The short fix is to do one of the following: remove or rename
+/etc/inputrc, set INPUTRC=~/.inputrc in ~/.bashrc (or .bash_profile,
+but make sure you export it if you do), remove the assignment to
+INPUTRC from /etc/profile, add
+
+        set keymap emacs
+
+to the beginning of /etc/inputrc, or bracket the key bindings in
+/etc/inputrc with these lines
+
+       $if mode=emacs
+               [...]
+       $endif
+
+F7) Why do bash-2.05a and bash-2.05b fail to compile `printf.def' on
+    HP/UX 11.x?
+
+HP/UX's support for long double is imperfect at best.
+
+GCC will support it without problems, but the HP C library functions
+like strtold(3) and printf(3) don't actually work with long doubles.
+HP implemented a `long_double' type as a 4-element array of 32-bit
+ints, and that is what the library functions use.  The ANSI C
+`long double' type is a 128-bit floating point scalar.
+
+The easiest fix, until HP fixes things up, is to edit the generated
+config.h and #undef the HAVE_LONG_DOUBLE line.  After doing that,
+the compilation should complete successfully.
+
+Section G:  How can I get bash to do certain common things?
+
+G1) How can I get bash to read and display eight-bit characters?
+
+This is a process requiring several steps.
+
+First, you must ensure that the `physical' data path is a full eight
+bits.  For xterms, for example, the `vt100' resources `eightBitInput'
+and `eightBitOutput' should be set to `true'.
+
+Once you have set up an eight-bit path, you must tell the kernel and
+tty driver to leave the eighth bit of characters alone when processing
+keyboard input.  Use `stty' to do this:
+
+       stty cs8 -istrip -parenb
+
+For old BSD-style systems, you can use
+
+       stty pass8
+
+You may also need
+
+       stty even odd
+
+Finally, you need to tell readline that you will be inputting and
+displaying eight-bit characters.  You use readline variables to do
+this.  These variables can be set in your .inputrc or using the bash
+`bind' builtin.  Here's an example using `bind':
+
+       bash$ bind 'set convert-meta off'
+       bash$ bind 'set meta-flag on'
+       bash$ bind 'set output-meta on'
+
+The `set' commands between the single quotes may also be placed
+in ~/.inputrc.
+
+G2) How do I write a function `x' to replace builtin command `x', but
+    still invoke the command from within the function?
+
+This is why the `command' and `builtin' builtins exist.  The
+`command' builtin executes the command supplied as its first
+argument, skipping over any function defined with that name.  The
+`builtin' builtin executes the builtin command given as its first
+argument directly. 
+
+For example, to write a function to replace `cd' that writes the
+hostname and current directory to an xterm title bar, use
+something like the following:
+
+       cd()
+       {
+               builtin cd "$@" && xtitle "$HOST: $PWD"
+       }
+
+This could also be written using `command' instead of `builtin';
+the version above is marginally more efficient. 
+
+G3) How can I find the value of a shell variable whose name is the value
+    of another shell variable?
+
+Versions of Bash newer than Bash-2.0 support this directly.  You can use 
+
+       ${!var}
+
+For example, the following sequence of commands will echo `z':
+
+       var1=var2
+       var2=z
+       echo ${!var1}
+
+For sh compatibility, use the `eval' builtin.  The important
+thing to remember is that `eval' expands the arguments you give
+it again, so you need to quote the parts of the arguments that
+you want `eval' to act on. 
+
+For example, this expression prints the value of the last positional
+parameter:
+
+       eval echo \"\$\{$#\}\"
+
+The expansion of the quoted portions of this expression will be
+deferred until `eval' runs, while the `$#' will be expanded
+before `eval' is executed.  In versions of bash later than bash-2.0,
+
+       echo ${!#}
+
+does the same thing.
+
+This is not the same thing as ksh93 `nameref' variables, though the syntax
+is similar.  I may add namerefs in a future bash version.
+
+G4) How can I make the bash `time' reserved word print timing output that
+     looks like the output from my system's /usr/bin/time?
+
+The bash command timing code looks for a variable `TIMEFORMAT' and
+uses its value as a format string to decide how to display the
+timing statistics.
+
+The value of TIMEFORMAT is a string with `%' escapes expanded in a
+fashion similar in spirit to printf(3).  The manual page explains
+the meanings of the escape sequences in the format string.
+
+If TIMEFORMAT is not set, bash acts as if the following assignment had
+been performed:
+
+       TIMEFORMAT=$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'
+
+The POSIX.2 default time format (used by `time -p command') is
+
+       TIMEFORMAT=$'real %2R\nuser %2U\nsys %2S'
+
+The BSD /usr/bin/time format can be emulated with:
+
+       TIMEFORMAT=$'\t%1R real\t%1U user\t%1S sys'
+
+The System V /usr/bin/time format can be emulated with:
+
+       TIMEFORMAT=$'\nreal\t%1R\nuser\t%1U\nsys\t%1S'
+
+The ksh format can be emulated with:
+
+       TIMEFORMAT=$'\nreal\t%2lR\nuser\t%2lU\nsys\t%2lS'
+
+G5) How do I get the current directory into my prompt?
+
+Bash provides a number of backslash-escape sequences which are expanded
+when the prompt string (PS1 or PS2) is displayed.  The full list is in
+the manual page.
+
+The \w expansion gives the full pathname of the current directory, with
+a tilde (`~') substituted for the current value of $HOME.  The \W
+expansion gives the basename of the current directory.  To put the full
+pathname of the current directory into the path without any tilde
+subsitution, use $PWD.  Here are some examples:
+
+       PS1='\w$ '      # current directory with tilde
+       PS1='\W$ '      # basename of current directory
+       PS1='$PWD$ '    # full pathname of current directory
+
+The single quotes are important in the final example to prevent $PWD from
+being expanded when the assignment to PS1 is performed.
+
+G6) How can I rename "*.foo" to "*.bar"?
+
+Use the pattern removal functionality described in D3.  The following `for'
+loop will do the trick:
+
+       for f in *.foo; do
+               mv $f ${f%foo}bar
+       done
+
+G7) How can I translate a filename from uppercase to lowercase?
+
+The script examples/functions/lowercase, originally written by John DuBois,
+will do the trick.  The converse is left as an exercise.
+
+G8) How can I write a filename expansion (globbing) pattern that will match
+    all files in the current directory except "." and ".."?
+
+You must have set the `extglob' shell option using `shopt -s extglob' to use
+this:
+
+       echo .!(.|) *
+
+A solution that works without extended globbing is given in the Unix Shell
+FAQ, posted periodically to comp.unix.shell.
+
+Section H:  Where do I go from here?
+
+H1) How do I report bugs in bash, and where should I look for fixes and
+    advice?
+
+Use the `bashbug' script to report bugs.  It is built and
+installed at the same time as bash.  It provides a standard
+template for reporting a problem and automatically includes
+information about your configuration and build environment. 
+
+`bashbug' sends its reports to bug-bash@gnu.org, which
+is a large mailing list gatewayed to the usenet newsgroup gnu.bash.bug. 
+
+Bug fixes, answers to questions, and announcements of new releases
+are all posted to gnu.bash.bug.  Discussions concerning bash features
+and problems also take place there.
+
+To reach the bash maintainers directly, send mail to
+bash-maintainers@gnu.org.
+
+H2) What kind of bash documentation is there?
+
+First, look in the doc directory in the bash distribution.  It should
+contain at least the following files:
+
+bash.1         an extensive, thorough Unix-style manual page
+builtins.1     a manual page covering just bash builtin commands
+bashref.texi   a reference manual in GNU tex`info format
+bashref.info   an info version of the reference manual
+FAQ            this file
+article.ms     text of an article written for The Linux Journal
+readline.3     a man page describing readline
+
+Postscript, HTML, and ASCII files created from the above source are
+available in the documentation distribution.
+
+There is additional documentation available for anonymous FTP from host
+ftp.cwru.edu in the `pub/bash' directory.
+
+Cameron Newham and Bill Rosenblatt have written a book on bash, published
+by O'Reilly and Associates.  The book is based on Bill Rosenblatt's Korn
+Shell book.  The title is ``Learning the Bash Shell'', and the ISBN number
+is 1-56592-147-X.  Look for it in fine bookstores near you.  This book
+covers bash-1.14, but has an appendix describing some of the new features
+in bash-2.0.  
+
+A second edition of this book is available, published in January, 1998.
+The ISBN number is 1-56592-347-2.  Look for it in the same fine bookstores
+or on the web.
+
+The GNU Bash Reference Manual has been published as a printed book by
+Network Theory Ltd (Paperback, ISBN: 0-9541617-7-7, Feb 2003).  It covers
+bash-2.0 and is available from most online bookstores (see
+http://www.network-theory.co.uk/bash/manual/ for details).  The publisher
+will donate $1 to the Free Software Foundation for each copy sold. 
+
+H3) What's coming in future versions?
+
+These are features I hope to include in a future version of bash.
+
+a better bash debugger (a minimally-tested version is included with bash-2.05b)
+associative arrays
+co-processes, but with a new-style syntax that looks like function declaration
+
+H4) What's on the bash `wish list' for future versions?
+
+These are features that may or may not appear in a future version of bash.
+
+breaking some of the shell functionality into embeddable libraries
+a module system like zsh's, using dynamic loading like builtins
+better internationalization using GNU `gettext'
+date-stamped command history
+a bash programmer's guide with a chapter on creating loadable builtins
+a better loadable interface to perl with access to the shell builtins and
+       variables (contributions gratefully accepted)
+ksh93-like `nameref' variables
+ksh93-like `+=' variable assignment operator
+ksh93-like `xx.yy' variables (including some of the .sh.* variables) and
+       associated disipline functions
+Some of the new ksh93 pattern matching operators, like backreferencing
+
+H5) When will the next release appear?
+
+The next version will appear sometime in 2002.  Never make predictions. 
+
+
+This document is Copyright 1995-2003 by Chester Ramey.
+
+Permission is hereby granted, without written agreement and
+without license or royalty fees, to use, copy, and distribute
+this document for any purpose, provided that the above copyright
+notice appears in all copies of this document and that the
+contents of this document remain unaltered.
diff --git a/examples/loadables/Makefile.in.save b/examples/loadables/Makefile.in.save
new file mode 100644 (file)
index 0000000..f6208f5
--- /dev/null
@@ -0,0 +1,238 @@
+#
+# Simple makefile for the sample loadable builtins
+#
+# Copyright (C) 1996 Free Software Foundation, Inc.     
+
+# 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
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
+
+# Include some boilerplate Gnu makefile definitions.
+prefix = @prefix@
+
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+infodir = @infodir@
+includedir = @includedir@
+
+topdir = @top_srcdir@
+BUILD_DIR = @BUILD_DIR@
+srcdir = @srcdir@
+VPATH = .:@srcdir@
+
+@SET_MAKE@
+CC = @CC@
+RM = rm -f
+
+SHELL = @MAKE_SHELL@
+
+host_os = @host_os@
+host_cpu = @host_cpu@
+host_vendor = @host_vendor@
+
+CFLAGS = @CFLAGS@
+LOCAL_CFLAGS = @LOCAL_CFLAGS@
+DEFS = @DEFS@
+LOCAL_DEFS = @LOCAL_DEFS@
+
+CPPFLAGS = @CPPFLAGS@
+
+BASHINCDIR = ${topdir}/include
+
+LIBBUILD = ${BUILD_DIR}/lib
+
+INTL_LIBSRC = ${topdir}/lib/intl
+INTL_BUILDDIR = ${LIBBUILD}/intl
+INTL_INC = @INTL_INC@
+LIBINTL_H = @LIBINTL_H@
+
+CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS)
+
+#
+# These values are generated for configure by ${topdir}/support/shobj-conf.
+# If your system is not supported by that script, but includes facilities for
+# dynamic loading of shared objects, please update the script and send the
+# changes to bash-maintainers@gnu.org.
+#
+SHOBJ_CC = @SHOBJ_CC@
+SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
+SHOBJ_LD = @SHOBJ_LD@
+SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
+SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
+SHOBJ_LIBS = @SHOBJ_LIBS@
+SHOBJ_STATUS = @SHOBJ_STATUS@
+
+INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins \
+      -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \
+      -I$(BUILD_DIR)/builtins $(INTL_INC)
+
+.c.o:
+       $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
+
+
+ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
+         tty pathchk tee head mkdir rmdir printenv id whoami \
+         uname sync push ln unlink cut realpath getconf strftime
+OTHERPROG = necho hello cat
+
+all:   $(SHOBJ_STATUS)
+
+supported:     $(ALLPROG)
+others:                $(OTHERPROG)
+
+unsupported:
+       @echo "Your system (${host_os}) is not supported by the"
+       @echo "${topdir}/support/shobj-conf script."
+       @echo "If your operating system provides facilities for dynamic"
+       @echo "loading of shared objects using the dlopen(3) interface,"
+       @echo "please update the script and re-run configure.
+       @echo "Please send the changes you made to bash-maintainers@gnu.org"
+       @echo "for inclusion in future bash releases."
+
+everything: supported others
+
+print: print.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ print.o $(SHOBJ_LIBS)
+
+necho: necho.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS)
+
+getconf: getconf.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ getconf.o $(SHOBJ_LIBS)
+
+hello: hello.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS)
+
+truefalse: truefalse.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ truefalse.o $(SHOBJ_LIBS)
+
+sleep: sleep.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sleep.o $(SHOBJ_LIBS)
+
+finfo: finfo.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ finfo.o $(SHOBJ_LIBS)
+
+cat:   cat.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cat.o $(SHOBJ_LIBS)
+
+logname:       logname.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS)
+
+basename:      basename.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ basename.o $(SHOBJ_LIBS)
+
+dirname:       dirname.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ dirname.o $(SHOBJ_LIBS)
+
+tty:   tty.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tty.o $(SHOBJ_LIBS)
+
+pathchk:       pathchk.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pathchk.o $(SHOBJ_LIBS)
+
+tee:   tee.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tee.o $(SHOBJ_LIBS)
+
+mkdir: mkdir.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkdir.o $(SHOBJ_LIBS)
+
+rmdir: rmdir.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rmdir.o $(SHOBJ_LIBS)
+
+head:  head.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ head.o $(SHOBJ_LIBS)
+
+printenv:      printenv.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS)
+
+id:    id.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS)
+
+whoami:        whoami.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS)
+
+uname: uname.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS)
+
+sync:  sync.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sync.o $(SHOBJ_LIBS)
+
+push:  push.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ push.o $(SHOBJ_LIBS)
+
+ln:    ln.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ ln.o $(SHOBJ_LIBS)
+
+unlink:        unlink.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS)
+
+cut:   cut.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cut.o $(SHOBJ_LIBS)
+
+realpath:      realpath.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS)
+
+strftime:      strftime.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ strftime.o $(SHOBJ_LIBS)
+
+# pushd is a special case.  We use the same source that the builtin version
+# uses, with special compilation options.
+#
+pushd.c:       ${topdir}/builtins/pushd.def
+       $(RM) $@
+       ${BUILD_DIR}/builtins/mkbuiltins -D ${topdir}/builtins ${topdir}/builtins/pushd.def
+
+pushd.o:       pushd.c
+       $(RM) $@
+       $(SHOBJ_CC) -DHAVE_CONFIG_H -DPUSHD_AND_POPD -DLOADABLE_BUILTIN $(SHOBJ_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INC) -c -o $@ $<
+
+pushd: pushd.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pushd.o $(SHOBJ_LIBS)
+
+clean:
+       $(RM) $(ALLPROG) $(OTHERPROG) *.o
+       -( cd perl && ${MAKE} ${MFLAGS} $@ )
+
+mostlyclean:   clean
+       -( cd perl && ${MAKE} ${MFLAGS} $@ )
+
+distclean maintainer-clean: clean
+       $(RM) Makefile pushd.c
+       -( cd perl && ${MAKE} ${MFLAGS} $@ )
+
+print.o: print.c
+truefalse.o: truefalse.c
+sleep.o: sleep.c
+finfo.o: finfo.c
+logname.o: logname.c
+basename.o: basename.c
+dirname.o: dirname.c
+tty.o: tty.c
+pathchk.o: pathchk.c
+tee.o: tee.c
+head.o: head.c
+rmdir.o: rmdir.c
+necho.o: necho.c
+getconf.o: getconf.c
+hello.o: hello.c
+cat.o: cat.c
+printenv.o: printenv.c
+id.o: id.c
+whoami.o: whoami.c
+uname.o: uname.c
+sync.o: sync.c
+push.o: push.c
+mkdir.o: mkdir.c
+realpath.o: realpath.c
+strftime.o: strftime.c
index 823c3fcbc98899bddbf590d1729854ac38d4ebe3..4b0bf8e436f497e9549f3693c045c6eb16684ec5 100644 (file)
@@ -4798,10 +4798,15 @@ setup_async_signals ()
   if (job_control == 0)
 #endif
     {
+      /* Make sure we get the original signal dispositions now so we don't
+        confuse the trap builtin later if the subshell tries to use it to
+        reset SIGINT/SIGQUIT.  Don't call set_signal_ignored; that sets
+        the value of original_signals to SIG_IGN. Posix interpretation 751. */
+      get_original_signal (SIGINT);
       set_signal_handler (SIGINT, SIG_IGN);
-      set_signal_ignored (SIGINT);
+
+      get_original_signal (SIGQUIT);
       set_signal_handler (SIGQUIT, SIG_IGN);
-      set_signal_ignored (SIGQUIT);
     }
 }
 
diff --git a/expr.c b/expr.c
index 69ee563a640b2ae9332497188d49b74634817edb..1462c102c3c9648fd34482d383d8f17d5740edd4 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -853,6 +853,8 @@ exp2 ()
            {
              sltp = lasttp;
              lasttp = stp;
+             while (lasttp && *lasttp && whitespace (*lasttp))
+               lasttp++;
              evalerror (_("division by 0"));
              lasttp = sltp;
            }
index 989e725c2728eebdb23f42401be5c42d53216504..61fd0eba3ce188792ce0f66415f52eff220cf601 100644 (file)
--- a/externs.h
+++ b/externs.h
@@ -234,6 +234,7 @@ extern int input_avail __P((int));
 /* Declarations for functions defined in lib/sh/itos.c */
 extern char *inttostr __P((intmax_t, char *, size_t));
 extern char *itos __P((intmax_t));
+extern char *mitos __P((intmax_t));
 extern char *uinttostr __P((uintmax_t, char *, size_t));
 extern char *uitos __P((uintmax_t));
 
@@ -382,6 +383,8 @@ extern void strlist_sort __P((STRINGLIST *));
 
 extern char **strvec_create __P((int));
 extern char **strvec_resize __P((char **, int));
+extern char **strvec_mcreate __P((int));
+extern char **strvec_mresize __P((char **, int));
 extern void strvec_flush __P((char **));
 extern void strvec_dispose __P((char **));
 extern int strvec_remove __P((char **, char *));
diff --git a/lib/readline/doc/Makefile.old b/lib/readline/doc/Makefile.old
new file mode 100644 (file)
index 0000000..58d4dd7
--- /dev/null
@@ -0,0 +1,76 @@
+# This makefile for Readline library documentation is in -*- text -*- mode.
+# Emacs likes it that way.
+RM = rm -f
+
+MAKEINFO    = makeinfo
+TEXI2DVI    = texi2dvi
+TEXI2HTML   = texi2html
+QUIETPS     = #set this to -q to shut up dvips
+DVIPS       = dvips -D 300 $(QUIETPS) -o $@     # tricky
+
+INSTALL_DATA = cp
+infodir = /usr/local/info
+
+RLSRC = rlman.texinfo rluser.texinfo rltech.texinfo
+HISTSRC = hist.texinfo hsuser.texinfo hstech.texinfo
+
+DVIOBJ = readline.dvi history.dvi
+INFOOBJ = readline.info history.info
+PSOBJ = readline.ps history.ps
+HTMLOBJ = readline.html history.html
+
+all: info dvi html ps
+nodvi: info html
+
+readline.dvi: $(RLSRC)
+       $(TEXI2DVI) rlman.texinfo
+       mv rlman.dvi readline.dvi
+
+readline.info: $(RLSRC)
+       $(MAKEINFO) --no-split -o $@ rlman.texinfo
+
+history.dvi: ${HISTSRC}
+       $(TEXI2DVI) hist.texinfo
+       mv hist.dvi history.dvi
+
+history.info: ${HISTSRC}
+       $(MAKEINFO) --no-split -o $@ hist.texinfo
+
+readline.ps:   readline.dvi
+       $(RM) $@
+       $(DVIPS) readline.dvi
+
+history.ps:    history.dvi
+       $(RM) $@
+       $(DVIPS) history.dvi
+
+readline.html: ${RLSRC}
+       $(TEXI2HTML) rlman.texinfo
+       sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman.html > readline.html
+       sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman_toc.html > readline_toc.html
+       $(RM) rlman.html rlman_toc.html
+
+history.html:  ${HISTSRC}
+       $(TEXI2HTML) hist.texinfo
+       sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist.html > history.html
+       sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist_toc.html > history_toc.html
+       $(RM) hist.html hist_toc.html
+
+info:  $(INFOOBJ)
+dvi:   $(DVIOBJ)
+ps:    $(PSOBJ)
+html:  $(HTMLOBJ)
+
+clean:
+       $(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps *.pgs \
+             *.fns *.kys *.tps *.vrs *.o core
+
+distclean: clean
+mostlyclean: clean
+
+maintainer-clean: clean
+       $(RM) *.dvi *.info *.info-* *.ps *.html
+
+install:       info
+       ${INSTALL_DATA} readline.info $(infodir)/readline.info
+       ${INSTALL_DATA} history.info $(infodir)/history.info
index 938c3721ebbaeb197321c1d756b924b772438aa3..36a83052223e81d011d3172f91047aff0c26ef09 100644 (file)
@@ -92,7 +92,7 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \
           mktime.c strftime.c mbschr.c zcatfd.c zmapfd.c winsize.c eaccess.c \
           wcsdup.c fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c \
           casemod.c dprintf.c input_avail.c mbscasecmp.c fnxform.c \
-          strchrnul.c unicode.c wcswidth.c wcsnwidth.c shmbchar.c
+          strchrnul.c unicode.c wcswidth.c wcsnwidth.c shmbchar.c strdup.c
 
 # The header files for this library.
 HSOURCES = 
index 12e9398dadd0d383a46e444cacc67dd8dc080e26..cd36ef33ff5338bfc84703403106c9f331942780 100644 (file)
@@ -50,6 +50,18 @@ itos (i)
   return (savestring (p));
 }
 
+/* Integer to string conversion.  This conses the string using strdup;
+   caller should free it and be prepared to deal with NULL return. */
+char *
+mitos (i)
+     intmax_t i;
+{
+  char *p, lbuf[INT_STRLEN_BOUND(intmax_t) + 1];
+
+  p = fmtumax (i, 10, lbuf, sizeof(lbuf), 0);
+  return (strdup (p));
+}
+
 char *
 uinttostr (i, buf, len)
      uintmax_t i;
diff --git a/lib/sh/strdup.c b/lib/sh/strdup.c
new file mode 100644 (file)
index 0000000..90fa353
--- /dev/null
@@ -0,0 +1,42 @@
+/* strdup - return a copy of a string in newly-allocated memory. */
+
+/* Copyright (C) 2013 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+   
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+                              
+
+#include <config.h>
+
+/* Get specification.  */
+#include <string.h>
+#include <stdlib.h>
+
+/* Duplicate S, returning an identical malloc'd string.  */
+char *
+strdup (s)
+     const char *s;
+{
+  size_t len;
+  void *new;
+
+  len = strlen (s) + 1;
+  if ((new = malloc (len)) == NULL)
+    return NULL;
+
+  memcpy (new, s, len);
+  return ((char *)new);
+}
index b0ed416456fa49162b63165bfaec7c341e6d7b87..3bb4ab7073ff59f8efbb6723a62ee62e69953ddb 100644 (file)
@@ -40,6 +40,14 @@ strvec_create (n)
   return ((char **)xmalloc ((n) * sizeof (char *)));
 }
 
+/* Allocate an array of strings with room for N members. */
+char **
+strvec_mcreate (n)
+     int n;
+{
+  return ((char **)malloc ((n) * sizeof (char *)));
+}
+
 char **
 strvec_resize (array, nsize)
      char **array;
@@ -48,6 +56,14 @@ strvec_resize (array, nsize)
   return ((char **)xrealloc (array, nsize * sizeof (char *)));
 }
 
+char **
+strvec_mresize (array, nsize)
+     char **array;
+     int nsize;
+{
+  return ((char **)realloc (array, nsize * sizeof (char *)));
+}
+
 /* Return the length of ARRAY, a NULL terminated array of char *. */
 int
 strvec_len (array)
diff --git a/sig.c b/sig.c
index 83e40fb1df51bae49c5bba452ccf5cbf4df578b6..3b62ea5d7c5d8ee42da516248958372bcca5ca50 100644 (file)
--- a/sig.c
+++ b/sig.c
@@ -43,6 +43,7 @@
 #include "trap.h"
 
 #include "builtins/common.h"
+#include "builtins/builtext.h"
 
 #if defined (READLINE)
 #  include "bashline.h"
@@ -64,6 +65,8 @@ extern int parse_and_execute_level, shell_initialized;
 extern int history_lines_this_session;
 #endif
 extern int no_line_editing;
+extern int wait_signal_received;
+extern sh_builtin_func_t *this_shell_builtin;
 
 extern void initialize_siglist ();
 
@@ -263,7 +266,7 @@ initialize_terminating_signals ()
       if (interactive_shell == 0 && XHANDLER (i) == SIG_IGN)
        {
          sigaction (XSIG (i), &oact, &act);
-         set_signal_ignored (XSIG (i));
+         set_signal_hard_ignored (XSIG (i));
        }
 #if defined (SIGPROF) && !defined (_MINIX)
       if (XSIG (i) == SIGPROF && XHANDLER (i) != SIG_DFL && XHANDLER (i) != SIG_IGN)
@@ -287,7 +290,7 @@ initialize_terminating_signals ()
       if (interactive_shell == 0 && XHANDLER (i) == SIG_IGN)
        {
          signal (XSIG (i), SIG_IGN);
-         set_signal_ignored (XSIG (i));
+         set_signal_hard_ignored (XSIG (i));
        }
 #ifdef SIGPROF
       if (XSIG (i) == SIGPROF && XHANDLER (i) != SIG_DFL && XHANDLER (i) != SIG_IGN)
@@ -597,6 +600,15 @@ sigint_sighandler (sig)
   if (interrupt_state == 0)
     ADDINTERRUPT;
 
+  /* We will get here in interactive shells with job control active; allow
+     an interactive wait to be interrupted. */
+  if (this_shell_builtin && this_shell_builtin == wait_builtin)
+    {
+      last_command_exit_value = 128 + sig;
+      wait_signal_received = sig;
+      SIGRETURN (0);
+    }
+      
   if (interrupt_immediately)
     {
       interrupt_immediately = 0;
diff --git a/tests/misc/regress/log.orig b/tests/misc/regress/log.orig
new file mode 100644 (file)
index 0000000..c1f1e19
--- /dev/null
@@ -0,0 +1,50 @@
+:; ./shx
+
+sh:
+<&$fd  ok
+nlbq   Mon Aug  3 02:45:00 EDT 1992
+bang   geoff
+quote  712824302
+setbq  defmsgid=<1992Aug3.024502.6176@host>
+bgwait sleep done... wait 6187
+
+
+bash:
+<&$fd  ok
+nlbq   Mon Aug  3 02:45:09 EDT 1992
+bang   geoff
+quote  712824311
+setbq  defmsgid=<1992Aug3.024512.6212@host>
+bgwait sleep done... wait 6223
+
+
+ash:
+<&$fd  shx1: 4: Syntax error: Bad fd number
+nlbq   Mon Aug  3 02:45:19 EDT 1992
+bang   geoff
+quote  getdate: `"now"' not a valid date
+
+setbq  defmsgid=<1992Aug3.` echo 024521
+bgwait sleep done... wait 6241
+
+
+ksh:
+<&$fd  ok
+nlbq   ./shx: 6248 Memory fault - core dumped
+bang   geoff
+quote  getdate: `"now"' not a valid date
+
+setbq  defmsgid=<1992Aug3.024530.6257@host>
+bgwait no such job: 6265
+wait 6265
+sleep done... 
+
+zsh:
+<&$fd  ok
+nlbq   Mon Aug 3 02:45:36 EDT 1992
+bang   shx3: event not found: /s/ [4]
+quote  712824337
+setbq  defmsgid=<..6290@host>
+bgwait shx7: unmatched " [9]
+sleep done... 
+:; 
diff --git a/tests/misc/regress/shx.orig b/tests/misc/regress/shx.orig
new file mode 100644 (file)
index 0000000..4b3bf2b
--- /dev/null
@@ -0,0 +1,10 @@
+#! /bin/sh
+for cmd in sh bash ash ksh zsh
+do
+       echo
+       echo $cmd:
+       for demo in shx?
+       do
+               $cmd $demo
+       done
+done
diff --git a/trap.c b/trap.c
index 64d7677f398b3209b8804ffa51b690953b71fb66..8e1455120f16224668783e61d5acc1d316b9d3ca 100644 (file)
--- a/trap.c
+++ b/trap.c
@@ -1207,13 +1207,20 @@ signal_is_hard_ignored (sig)
 }
 
 void
-set_signal_ignored (sig)
+set_signal_hard_ignored (sig)
      int sig;
 {
   sigmodes[sig] |= SIG_HARD_IGNORE;
   original_signals[sig] = SIG_IGN;
 }
 
+void
+set_signal_ignored (sig)
+     int sig;
+{
+  original_signals[sig] = SIG_IGN;
+}
+
 int
 signal_in_progress (sig)
      int sig;
diff --git a/trap.h b/trap.h
index b20807837e5fb31ad0ce4477aaab2a22783474aa..34a05c4b86f5fc505ede5c9360716cf306722b28 100644 (file)
--- a/trap.h
+++ b/trap.h
@@ -102,6 +102,7 @@ extern int signal_is_trapped __P((int));
 extern int signal_is_pending __P((int));
 extern int signal_is_ignored __P((int));
 extern int signal_is_hard_ignored __P((int));
+extern void set_signal_hard_ignored __P((int));
 extern void set_signal_ignored __P((int));
 extern int signal_in_progress __P((int));