]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20090813 snapshot
authorChet Ramey <chet.ramey@case.edu>
Fri, 9 Dec 2011 01:14:08 +0000 (20:14 -0500)
committerChet Ramey <chet.ramey@case.edu>
Fri, 9 Dec 2011 01:14:08 +0000 (20:14 -0500)
59 files changed:
#pathexp.c# [new file with mode: 0644]
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
autom4te.cache/output.0
autom4te.cache/traces.0
bashhist.c
bashhist.c~ [new file with mode: 0644]
builtins/common.h
builtins/common.h~ [new file with mode: 0644]
builtins/evalfile.c
builtins/evalfile.c~ [new file with mode: 0644]
builtins/shopt.def
builtins/shopt.def~ [new file with mode: 0644]
config-bot.h
config-bot.h~ [new file with mode: 0644]
config-top.h
config-top.h~ [new file with mode: 0644]
config.h.in
config.h.in~
configure
configure.in
configure.in~
doc/bash.1
doc/bash.1~
doc/bashref.texi
doc/bashref.texi~
doc/version.texi
doc/version.texi~
execute_cmd.c
execute_cmd.c~
externs.h
externs.h~
jobs.c
jobs.c~
lib/readline/doc/readline.3
lib/readline/doc/readline.3~ [new file with mode: 0644]
lib/readline/doc/rluser.texi
lib/readline/doc/rluser.texi~ [new file with mode: 0644]
lib/readline/funmap.c
lib/readline/funmap.c~ [new file with mode: 0644]
lib/readline/readline.h
lib/readline/readline.h~ [new file with mode: 0644]
lib/readline/text.c
lib/readline/text.c~
pathexp.c
pathexp.c~ [new file with mode: 0644]
po/de.po
print_cmd.c
print_cmd.c~ [new file with mode: 0644]
shell.c
shell.c~
shell.h
shell.h~ [new file with mode: 0644]
sig.c
sig.c~
variables.c
variables.c~
variables.h
variables.h~ [new file with mode: 0644]

diff --git a/#pathexp.c# b/#pathexp.c#
new file mode 100644 (file)
index 0000000..7ce7350
--- /dev/null
@@ -0,0 +1,486 @@
+/* pathexp.c -- The shell interface to the globbing library. */
+
+/* Copyright (C) 1995-2009 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"
+
+#include "bashtypes.h"
+#include <stdio.h>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "bashansi.h"
+
+#include "shell.h"
+#include "pathexp.h"
+#include "flags.h"
+
+#include "shmbutil.h"
+#include "bashintl.h"
+
+#include <glob/strmatch.h>
+
+static int glob_name_is_acceptable __P((const char *));
+static void ignore_globbed_names __P((char **, sh_ignore_func_t *));
+               
+#if defined (USE_POSIX_GLOB_LIBRARY)
+#  include <glob.h>
+typedef int posix_glob_errfunc_t __P((const char *, int));
+#else
+#  include <glob/glob.h>
+#endif
+
+/* Control whether * matches .files in globbing. */
+int glob_dot_filenames;
+
+/* Control whether the extended globbing features are enabled. */
+int extended_glob = EXTzg;
+
+/* Control enabling special handling of `**' */
+int glob_star = 0;
+
+/* Return nonzero if STRING has any unquoted special globbing chars in it.  */
+int
+unquoted_glob_pattern_p (string)
+     register char *string;
+{
+  register int c;
+  char *send;
+  int open;
+
+  DECLARE_MBSTATE;
+
+  open = 0;
+  send = string + strlen (string);
+
+  while (c = *string++)
+    {
+      switch (c)
+       {
+       case '?':
+       case '*':
+         return (1);
+
+       case '[':
+         open++;
+         continue;
+
+       case ']':
+         if (open)
+           return (1);
+         continue;
+
+       case '+':
+       case '@':
+       case '!':
+         if (*string == '(')   /*)*/
+           return (1);
+         continue;
+
+       case CTLESC:
+       case '\\':
+         if (*string++ == '\0')
+           return (0);
+       }
+
+      /* Advance one fewer byte than an entire multibyte character to
+        account for the auto-increment in the loop above. */
+#ifdef HANDLE_MULTIBYTE
+      string--;
+      ADVANCE_CHAR_P (string, send - string);
+      string++;
+#else
+      ADVANCE_CHAR_P (string, send - string);
+#endif
+    }
+  return (0);
+}
+
+/* Return 1 if C is a character that is `special' in a POSIX ERE and needs to
+   be quoted to match itself. */
+static inline int
+ere_char (c)
+     int c;
+{
+  switch (c)
+    {
+    case '.':
+    case '[':
+    case '\\':
+    case '(':
+    case ')':
+    case '*':
+    case '+':
+    case '?':
+    case '{':
+    case '|':
+    case '^':
+    case '$':
+      return 1;
+    default: 
+      return 0;
+    }
+  return (0);
+}
+
+int
+glob_char_p (s)
+     const char *s;
+{
+  switch (*s)
+    {
+    case '*':
+    case '[':
+    case ']':
+    case '?':
+    case '\\':
+      return 1;
+    case '+':
+    case '@':
+    case '!':
+      if (s[1] == '(')        /*(*/
+       return 1;
+      break;
+    }
+  return 0;
+}
+
+/* PATHNAME can contain characters prefixed by CTLESC; this indicates
+   that the character is to be quoted.  We quote it here in the style
+   that the glob library recognizes.  If flags includes QGLOB_CVTNULL,
+   we change quoted null strings (pathname[0] == CTLNUL) into empty
+   strings (pathname[0] == 0).  If this is called after quote removal
+   is performed, (flags & QGLOB_CVTNULL) should be 0; if called when quote
+   removal has not been done (for example, before attempting to match a
+   pattern while executing a case statement), flags should include
+   QGLOB_CVTNULL.  If flags includes QGLOB_FILENAME, appropriate quoting
+   to match a filename should be performed. */
+char *
+quote_string_for_globbing (pathname, qflags)
+     const char *pathname;
+     int qflags;
+{
+  char *temp;
+  register int i, j;
+
+  temp = (char *)xmalloc (strlen (pathname) + 1);
+
+  if ((qflags & QGLOB_CVTNULL) && QUOTED_NULL (pathname))
+    {
+      temp[0] = '\0';
+      return temp;
+    }
+
+  for (i = j = 0; pathname[i]; i++)
+    {
+      if (pathname[i] == CTLESC)
+       {
+         if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/')
+           continue;
+         if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0)
+           continue;
+         temp[j++] = '\\';
+         i++;
+         if (pathname[i] == '\0')
+           break;
+       }
+      else if (pathname[i] == '\\')
+       {
+         temp[j++] = '\\';
+         i++;
+         if (pathname[i] == '\0')
+           break;
+       }
+      temp[j++] = pathname[i];
+    }
+  temp[j] = '\0';
+
+  return (temp);
+}
+
+char *
+quote_globbing_chars (string)
+     char *string;
+{
+  size_t slen;
+  char *temp, *s, *t, *send;
+  DECLARE_MBSTATE;
+
+  slen = strlen (string);
+  send = string + slen;
+
+  temp = (char *)xmalloc (slen * 2 + 1);
+  for (t = temp, s = string; *s; )
+    {
+      if (glob_char_p (s))
+       *t++ = '\\';
+
+      /* Copy a single (possibly multibyte) character from s to t,
+         incrementing both. */
+      COPY_CHAR_P (t, s, send);
+    }
+  *t = '\0';
+  return temp;
+}
+
+/* Call the glob library to do globbing on PATHNAME. */
+char **
+shell_glob_filename (pathname)
+     const char *pathname;
+{
+#if defined (USE_POSIX_GLOB_LIBRARY)
+  register int i;
+  char *temp, **results;
+  glob_t filenames;
+  int glob_flags;
+
+  temp = quote_string_for_globbing (pathname, QGLOB_FILENAME);
+
+  filenames.gl_offs = 0;
+
+#  if defined (GLOB_PERIOD)
+  glob_flags = glob_dot_filenames ? GLOB_PERIOD : 0;
+#  else
+  glob_flags = 0;
+#  endif /* !GLOB_PERIOD */
+
+  glob_flags |= (GLOB_ERR | GLOB_DOOFFS);
+
+  i = glob (temp, glob_flags, (posix_glob_errfunc_t *)NULL, &filenames);
+
+  free (temp);
+
+  if (i == GLOB_NOSPACE || i == GLOB_ABORTED)
+    return ((char **)NULL);
+  else if (i == GLOB_NOMATCH)
+    filenames.gl_pathv = (char **)NULL;
+  else if (i != 0)             /* other error codes not in POSIX.2 */
+    filenames.gl_pathv = (char **)NULL;
+
+  results = filenames.gl_pathv;
+
+  if (results && ((GLOB_FAILED (results)) == 0))
+    {
+      if (should_ignore_glob_matches ())
+       ignore_glob_matches (results);
+      if (results && results[0])
+       strvec_sort (results);
+      else
+       {
+         FREE (results);
+         results = (char **)NULL;
+       }
+    }
+
+  return (results);
+
+#else /* !USE_POSIX_GLOB_LIBRARY */
+
+  char *temp, **results;
+
+  noglob_dot_filenames = glob_dot_filenames == 0;
+
+  temp = quote_string_for_globbing (pathname, QGLOB_FILENAME);
+  results = glob_filename (temp, glob_star ? GX_GLOBSTAR : 0);
+  free (temp);
+
+  if (results && ((GLOB_FAILED (results)) == 0))
+    {
+      if (should_ignore_glob_matches ())
+       ignore_glob_matches (results);
+      if (results && results[0])
+       strvec_sort (results);
+      else
+       {
+         FREE (results);
+         results = (char **)&glob_error_return;
+       }
+    }
+
+  return (results);
+#endif /* !USE_POSIX_GLOB_LIBRARY */
+}
+
+/* Stuff for GLOBIGNORE. */
+
+static struct ignorevar globignore =
+{
+  "GLOBIGNORE",
+  (struct ign *)0,
+  0,
+  (char *)0,
+  (sh_iv_item_func_t *)0,
+};
+
+/* Set up to ignore some glob matches because the value of GLOBIGNORE
+   has changed.  If GLOBIGNORE is being unset, we also need to disable
+   the globbing of filenames beginning with a `.'. */
+void
+setup_glob_ignore (name)
+     char *name;
+{
+  char *v;
+
+  v = get_string_value (name);
+  setup_ignore_patterns (&globignore);
+
+  if (globignore.num_ignores)
+    glob_dot_filenames = 1;
+  else if (v == 0)
+    glob_dot_filenames = 0;
+}
+
+int
+should_ignore_glob_matches ()
+{
+  return globignore.num_ignores;
+}
+
+/* Return 0 if NAME matches a pattern in the globignore.ignores list. */
+static int
+glob_name_is_acceptable (name)
+     const char *name;
+{
+  struct ign *p;
+  int flags;
+
+  /* . and .. are never matched */
+  if (name[0] == '.' && (name[1] == '\0' || (name[1] == '.' && name[2] == '\0')))
+    return (0);
+
+  flags = FNM_PATHNAME | FNMATCH_EXTFLAG;
+  for (p = globignore.ignores; p->val; p++)
+    {
+      if (strmatch (p->val, (char *)name, flags) != FNM_NOMATCH)
+       return (0);
+    }
+  return (1);
+}
+
+/* Internal function to test whether filenames in NAMES should be
+   ignored.  NAME_FUNC is a pointer to a function to call with each
+   name.  It returns non-zero if the name is acceptable to the particular
+   ignore function which called _ignore_names; zero if the name should
+   be removed from NAMES. */
+
+static void
+ignore_globbed_names (names, name_func)
+     char **names;
+     sh_ignore_func_t *name_func;
+{
+  char **newnames;
+  int n, i;
+
+  for (i = 0; names[i]; i++)
+    ;
+  newnames = strvec_create (i + 1);
+
+  for (n = i = 0; names[i]; i++)
+    {
+      if ((*name_func) (names[i]))
+       newnames[n++] = names[i];
+      else
+       free (names[i]);
+    }
+
+  newnames[n] = (char *)NULL;
+
+  if (n == 0)
+    {
+      names[0] = (char *)NULL;
+      free (newnames);
+      return;
+    }
+
+  /* Copy the acceptable names from NEWNAMES back to NAMES and set the
+     new array end. */
+  for (n = 0; newnames[n]; n++)
+    names[n] = newnames[n];
+  names[n] = (char *)NULL;
+  free (newnames);
+}
+
+void
+ignore_glob_matches (names)
+     char **names;
+{
+  if (globignore.num_ignores == 0)
+    return;
+
+  ignore_globbed_names (names, glob_name_is_acceptable);
+}
+
+void
+setup_ignore_patterns (ivp)
+     struct ignorevar *ivp;
+{
+  int numitems, maxitems, ptr;
+  char *colon_bit, *this_ignoreval;
+  struct ign *p;
+
+  this_ignoreval = get_string_value (ivp->varname);
+
+  /* If nothing has changed then just exit now. */
+  if ((this_ignoreval && ivp->last_ignoreval && STREQ (this_ignoreval, ivp->last_ignoreval)) ||
+      (!this_ignoreval && !ivp->last_ignoreval))
+    return;
+
+  /* Oops.  The ignore variable has changed.  Re-parse it. */
+  ivp->num_ignores = 0;
+
+  if (ivp->ignores)
+    {
+      for (p = ivp->ignores; p->val; p++)
+       free(p->val);
+      free (ivp->ignores);
+      ivp->ignores = (struct ign *)NULL;
+    }
+
+  if (ivp->last_ignoreval)
+    {
+      free (ivp->last_ignoreval);
+      ivp->last_ignoreval = (char *)NULL;
+    }
+
+  if (this_ignoreval == 0 || *this_ignoreval == '\0')
+    return;
+
+  ivp->last_ignoreval = savestring (this_ignoreval);
+
+  numitems = maxitems = ptr = 0;
+
+  while (colon_bit = extract_colon_unit (this_ignoreval, &ptr))
+    {
+      if (numitems + 1 >= maxitems)
+       {
+         maxitems += 10;
+         ivp->ignores = (struct ign *)xrealloc (ivp->ignores, maxitems * sizeof (struct ign));
+       }
+      ivp->ignores[numitems].val = colon_bit;
+      ivp->ignores[numitems].len = strlen (colon_bit);
+      ivp->ignores[numitems].flags = 0;
+      if (ivp->item_func)
+       (*ivp->item_func) (&ivp->ignores[numitems]);
+      numitems++;
+    }
+  ivp->ignores[numitems].val = (char *)NULL;
+  ivp->num_ignores = numitems;
+}
index 33e3275af623a3da7e1f668337c71b6c95fce7b5..57d1e2dd2c5af4348e59d2a944c80a77bbb70ec1 100644 (file)
@@ -8465,3 +8465,101 @@ bashline.c
 execute_cmd.c
        - change to execute_command_internal to make [[ ... ]] conditional
          command subject to settings of `set -e' and the ERR trap
+
+                                  8/14
+                                  ----
+execute_cmd.c
+       - change to execute_command_internal to make (( ... )) arithmetic
+         command subject to settings of `set -e' and the ERR trap
+
+lib/readline/text.c
+       - new bindable function, rl_skip_csi_sequence, reads the characters
+         that make up a control sequence as defined by ECMA-48.  Sequences
+         are introduced by the Control Sequence Indicator (CSI) and
+         contain a defined set of characters.  Insert, End, Page Up and so
+         on are CSI sequences.  Report and code from Andy Koppe
+         <andy.koppe@gmail.com>
+
+lib/readline/readline.h
+       - extern declaration for rl_skip_csi_sequence
+
+lib/readline/funmap.c
+       - new bindable command "skip-csi-sequence", runs rl_skip_csi_sequence
+
+doc/bash.1,lib/readline/doc/{readline.3,rluser.texi}
+       - documented new bindable command "skip-csi-sequence", unbound by
+         default
+
+builtins/evalfile.c
+       - fix _evalfile to remove embedded null bytes from the file read
+         into the string.  Report and proposed fix from Roman Rakus
+         <rrakus@redhat.com>
+
+{configure,config.h}.in
+       - check for syslog(3), define HAVE_SYSLOG
+       - check for syslog.h, define HAVE_SYSLOG_H
+
+config-top.h
+       - new define SYSLOG_HISTORY, disabled by default
+
+config-bot.h
+       - if HAVE_SYSLOG or HAVE_SYSLOG_H are not defined, undef SYSLOG_HISTORY
+
+bashhist.c
+       - if SYSLOG_HISTORY is defined, call bash_syslog_history with the
+         line added to the history in bash_add_history.
+       - new function, bash_syslog_history(line), sends line to syslog at
+         user.info.  The line is truncated to send no more than 600
+         (SYSLOG_MAXLEN) bytes to syslog. Feature requested by many, and
+         required by some national laws
+
+sig.c
+       - in termsig_handler, resend SIGHUP to children if subshell_environment
+         indicates we're a shell performing command or process substitution
+
+jobs.c
+       - add CHECK_TERMSIG calls to wait_for in addition to the ones in
+         waitchld()
+
+builtins/shopt.def
+       - new functions set_bashopts, parse_bashopts, and initialize_bashopts
+         to manage new environment variable $BASHOPTS, like $SHELLOPTS but
+         for shopt options
+       - change toggle_shopts to call set_bashopts after setting options, so
+         $BASHOPTS reflects new values
+
+shell.c
+       - call initialize_bashopts after calling initialize_shell_options at
+         shell startup
+
+configure.in
+       - new configure `enable' option --enable-exended-tglob-default, to
+         set the initial default value of the `extglob' shell option
+
+config.h
+       - new define, EXTGLOB_DEFAULT, controlled by the `extended-glob-default'
+         configure option
+
+pathexp.c
+        - initialize extended_glob variable to EXTGLOB_DEFAULT
+
+doc/{bash.1,bashref.texi}
+       - document new $BASHOPTS variable and its behavior
+
+doc/bashref.texi
+       - document new --enable-extended-glob-default configure option
+
+                                  8/16
+                                  ----
+print_cmd.c
+       - new variables: xtrace_fd and xtrace_fp, the file descriptor and
+         FILE * to which we send `set -x' tracing output.  If fd == -1
+         then fp == STDERR, the default mode
+       - new function xtrace_init, sets xtrace_fd == -1 and xtrace_fp = stderr
+       - new function xtrace_set (fd, fp), sets xtrace_fd and xtrace_fp
+         to the arguments
+       - change xtrace functions to fprintf to xtrace_fp instead of stderr
+
+shell.c
+       - call xtrace_init() very early in main()
+
index 3ecc5dd206306cea81cc7e1f491008912c6bbf51..1239f00167ac577df4b7421a90731fda027e1a21 100644 (file)
@@ -8459,3 +8459,106 @@ bashline.c
          rather than the beginning.  It doesn't matter where you start if
          the results are sorted, and dabbrev-expand is supposed to offer
          the most recent completions first
+
+                                  8/12
+                                  ----
+execute_cmd.c
+       - change to execute_command_internal to make [[ ... ]] conditional
+         command subject to settings of `set -e' and the ERR trap
+
+                                  8/14
+                                  ----
+execute_cmd.c
+       - change to execute_command_internal to make (( ... )) arithmetic
+         command subject to settings of `set -e' and the ERR trap
+
+lib/readline/text.c
+       - new bindable function, rl_skip_csi_sequence, reads the characters
+         that make up a control sequence as defined by ECMA-48.  Sequences
+         are introduced by the Control Sequence Indicator (CSI) and
+         contain a defined set of characters.  Insert, End, Page Up and so
+         on are CSI sequences.  Report and code from Andy Koppe
+         <andy.koppe@gmail.com>
+
+lib/readline/readline.h
+       - extern declaration for rl_skip_csi_sequence
+
+lib/readline/funmap.c
+       - new bindable command "skip-csi-sequence", runs rl_skip_csi_sequence
+
+doc/bash.1,lib/readline/doc/{readline.3,rluser.texi}
+       - documented new bindable command "skip-csi-sequence", unbound by
+         default
+
+builtins/evalfile.c
+       - fix _evalfile to remove embedded null bytes from the file read
+         into the string.  Report and proposed fix from Roman Rakus
+         <rrakus@redhat.com>
+
+{configure,config.h}.in
+       - check for syslog(3), define HAVE_SYSLOG
+       - check for syslog.h, define HAVE_SYSLOG_H
+
+config-top.h
+       - new define SYSLOG_HISTORY, disabled by default
+
+config-bot.h
+       - if HAVE_SYSLOG or HAVE_SYSLOG_H are not defined, undef SYSLOG_HISTORY
+
+bashhist.c
+       - if SYSLOG_HISTORY is defined, call bash_syslog_history with the
+         line added to the history in bash_add_history.
+       - new function, bash_syslog_history(line), sends line to syslog at
+         user.info.  The line is truncated to send no more than 600
+         (SYSLOG_MAXLEN) bytes to syslog. Feature requested by many, and
+         required by some national laws
+
+sig.c
+       - in termsig_handler, resend SIGHUP to children if subshell_environment
+         indicates we're a shell performing command or process substitution
+
+jobs.c
+       - add CHECK_TERMSIG calls to wait_for in addition to the ones in
+         waitchld()
+
+builtins/shopt.def
+       - new functions set_bashopts, parse_bashopts, and initialize_bashopts
+         to manage new environment variable $BASHOPTS, like $SHELLOPTS but
+         for shopt options
+       - change toggle_shopts to call set_bashopts after setting options, so
+         $BASHOPTS reflects new values
+
+shell.c
+       - call initialize_bashopts after calling initialize_shell_options at
+         shell startup
+
+configure.in
+       - new configure `enable' option --enable-exended-tglob-default, to
+         set the initial default value of the `extglob' shell option
+
+config.h
+       - new define, EXTGLOB_DEFAULT, controlled by the `extended-glob-default'
+         configure option
+
+pathexp.c
+        - initialize extended_glob variable to EXTGLOB_DEFAULT
+
+doc/{bash.1,bashref.texi}
+       - document new $BASHOPTS variable and its behavior
+
+doc/bashref.texi
+       - document new --enable-extended-glob-default configure option
+
+                                  8/16
+                                  ----
+print_cmd.c
+       - new variables: xtrace_fd and xtrace_fp, the file descriptor and
+         FILE * to which we send `set -x' tracing output.  If fd == -1
+         then fp == STDERR, the default mode
+       - new function xtrace_init, sets xtrace_fd == -1 and xtrace_fp = stderr
+       - new function xtrace_set (fd, fp), sets xtrace_fd and xtrace_fp
+         to the arguments
+
+shell.c
+       - call xtrace_init() very early in main()
+
index bc3cedd4780bebd3161d7cf456f1a4df8c5f9dbe..b07f2d1d1499945bb155c70b3d894277d590e685 100644 (file)
@@ -1,7 +1,7 @@
 @%:@! /bin/sh
-@%:@ From configure.in for Bash 4.0, version 4.013.
+@%:@ From configure.in for Bash 4.0, version 4.014.
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.63 for bash 4.0-maint.
+@%:@ Generated by GNU Autoconf 2.62 for bash 4.0-maint.
 @%:@
 @%:@ Report bugs to <bug-bash@gnu.org>.
 @%:@ 
@@ -640,157 +640,157 @@ ac_includes_default="\
 
 ac_header_list=
 ac_func_list=
-ac_subst_vars='LTLIBOBJS
-LOCAL_DEFS
-LOCAL_LDFLAGS
-LOCAL_CFLAGS
-LOCAL_LIBS
-MALLOC_DEBUG
-DEBUG
-RELSTATUS
-BASHVERS
-ARFLAGS
-BUILD_DIR
-incdir
-PROFILE_FLAGS
-SHOBJ_STATUS
-SHOBJ_LIBS
-SHOBJ_XLDFLAGS
-SHOBJ_LDFLAGS
-SHOBJ_LD
-SHOBJ_CFLAGS
-SHOBJ_CC
-JOBS_O
-TERMCAP_DEP
-TERMCAP_LIB
-SIGLIST_O
-LIBINTL_H
-INTL_INC
-INTL_DEP
-LIB@&t@OBJS
-POSUB
-LTLIBINTL
-LIBINTL
-INTLLIBS
-INTL_LIBTOOL_SUFFIX_PREFIX
-INTLOBJS
-GENCAT
-INSTOBJEXT
-DATADIRNAME
-CATOBJEXT
-USE_INCLUDED_LIBINTL
-BUILD_INCLUDED_LIBINTL
-INTLBISON
-LTLIBICONV
-LIBICONV
-GLIBC21
-ALLOCA
-MSGMERGE
-XGETTEXT
-GMSGFMT
-MSGFMT
-USE_NLS
-MKINSTALLDIRS
-SIZE
-MAKE_SHELL
-SET_MAKE
-YFLAGS
-YACC
-RANLIB
-AR
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-TILDE_LIB
-HIST_LIBDIR
-HISTORY_DEP
-HISTORY_LIB
-RL_INCLUDE
-RL_INCLUDEDIR
-RL_LIBDIR
-READLINE_DEP
-READLINE_LIB
-RL_MINOR
-RL_MAJOR
-RL_VERSION
-LDFLAGS_FOR_BUILD
-CPPFLAGS_FOR_BUILD
-CFLAGS_FOR_BUILD
-STATIC_LD
-CC_FOR_BUILD
-SIGNAMES_O
-SIGNAMES_H
-CROSS_COMPILE
-EGREP
-GREP
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-HELPSTRINGS
-HELPINSTALL
-HELPDIRDEFINE
-HELPDIR
-MALLOC_DEP
-MALLOC_LDFLAGS
-MALLOC_LIBRARY
-MALLOC_LIB
-MALLOC_SRC
-MALLOC_TARGET
-PURIFY
-TESTSCRIPT
-DEBUGGER_START_FILE
-lispdir
-EMACS
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
+ac_subst_vars='SHELL
 PATH_SEPARATOR
-SHELL'
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+EMACS
+lispdir
+DEBUGGER_START_FILE
+TESTSCRIPT
+PURIFY
+MALLOC_TARGET
+MALLOC_SRC
+MALLOC_LIB
+MALLOC_LIBRARY
+MALLOC_LDFLAGS
+MALLOC_DEP
+HELPDIR
+HELPDIRDEFINE
+HELPINSTALL
+HELPSTRINGS
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+CPP
+GREP
+EGREP
+CROSS_COMPILE
+SIGNAMES_H
+SIGNAMES_O
+CC_FOR_BUILD
+STATIC_LD
+CFLAGS_FOR_BUILD
+CPPFLAGS_FOR_BUILD
+LDFLAGS_FOR_BUILD
+RL_VERSION
+RL_MAJOR
+RL_MINOR
+READLINE_LIB
+READLINE_DEP
+RL_LIBDIR
+RL_INCLUDEDIR
+RL_INCLUDE
+HISTORY_LIB
+HISTORY_DEP
+HIST_LIBDIR
+TILDE_LIB
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+AR
+RANLIB
+YACC
+YFLAGS
+SET_MAKE
+MAKE_SHELL
+SIZE
+MKINSTALLDIRS
+USE_NLS
+MSGFMT
+GMSGFMT
+XGETTEXT
+MSGMERGE
+ALLOCA
+GLIBC21
+LIBICONV
+LTLIBICONV
+INTLBISON
+BUILD_INCLUDED_LIBINTL
+USE_INCLUDED_LIBINTL
+CATOBJEXT
+DATADIRNAME
+INSTOBJEXT
+GENCAT
+INTLOBJS
+INTL_LIBTOOL_SUFFIX_PREFIX
+INTLLIBS
+LIBINTL
+LTLIBINTL
+POSUB
+LIB@&t@OBJS
+INTL_DEP
+INTL_INC
+LIBINTL_H
+SIGLIST_O
+TERMCAP_LIB
+TERMCAP_DEP
+JOBS_O
+SHOBJ_CC
+SHOBJ_CFLAGS
+SHOBJ_LD
+SHOBJ_LDFLAGS
+SHOBJ_XLDFLAGS
+SHOBJ_LIBS
+SHOBJ_STATUS
+PROFILE_FLAGS
+incdir
+BUILD_DIR
+ARFLAGS
+BASHVERS
+RELSTATUS
+DEBUG
+MALLOC_DEBUG
+LOCAL_LIBS
+LOCAL_CFLAGS
+LOCAL_LDFLAGS
+LOCAL_DEFS
+LTLIBOBJS'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -819,6 +819,7 @@ enable_directory_stack
 enable_disabled_builtins
 enable_dparen_arithmetic
 enable_extended_glob
+enable_extended_glob_default
 enable_help_builtin
 enable_history
 enable_job_control
@@ -1280,9 +1281,9 @@ fi
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+    fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
    { (exit 1); exit 1; }; } ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+    *)     $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
 
@@ -1335,7 +1336,7 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { $as_echo "$as_me: error: working directory cannot be determined" >&2
+  { $as_echo "$as_me: error: Working directory cannot be determined" >&2
    { (exit 1); exit 1; }; }
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
   { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
@@ -1510,6 +1511,9 @@ Optional Features:
   --enable-dparen-arithmetic 
                           include ((...)) command
   --enable-extended-glob  include ksh-style extended pattern matching
+  --enable-extended-glob-default 
+                          force extended pattern matching to be enabled by
+                          default
   --enable-help-builtin   include the help builtin
   --enable-history        turn on command history
   --enable-job-control    enable job control features
@@ -1649,7 +1653,7 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 bash configure 4.0-maint
-generated by GNU Autoconf 2.63
+generated by GNU Autoconf 2.62
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -1663,7 +1667,7 @@ 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.0-maint, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+generated by GNU Autoconf 2.62.  Invocation command line was
 
   $ $0 $@
 
@@ -1786,8 +1790,8 @@ _ASBOX
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -1995,8 +1999,6 @@ $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
   { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
@@ -2412,6 +2414,7 @@ opt_debugger=yes
 opt_single_longdoc_strings=yes
 opt_casemod_attrs=yes
 opt_casemod_expansions=yes
+opt_extglob_default=no
 
 opt_static_link=no
 opt_profiling=no
@@ -2431,7 +2434,7 @@ if test $opt_minimal_config = yes; then
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
        opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
-       opt_casemod_attrs=no opt_casemod_expansions=no
+       opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
 fi
 
 @%:@ Check whether --enable-alias was given.
@@ -2514,6 +2517,11 @@ if test "${enable_extended_glob+set}" = set; then
   enableval=$enable_extended_glob; opt_extended_glob=$enableval
 fi
 
+@%:@ Check whether --enable-extended-glob-default was given.
+if test "${enable_extended_glob_default+set}" = set; then
+  enableval=$enable_extended_glob_default; opt_extglob_default=$enableval
+fi
+
 @%:@ Check whether --enable-help-builtin was given.
 if test "${enable_help_builtin+set}" = set; then
   enableval=$enable_help_builtin; opt_help=$enableval
@@ -2702,6 +2710,17 @@ cat >>confdefs.h <<\_ACEOF
 @%:@define EXTENDED_GLOB 1
 _ACEOF
 
+fi
+if test $opt_extglob_default = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define EXTGLOB_DEFAULT 1
+_ACEOF
+
+else
+cat >>confdefs.h <<\_ACEOF
+@%:@define EXTGLOB_DEFAULT 0
+_ACEOF
+
 fi
 if test $opt_cond_command = yes ; then
 cat >>confdefs.h <<\_ACEOF
@@ -2900,8 +2919,12 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3100,8 +3123,12 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3111,13 +3138,11 @@ fi
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:$LINENO: checking for C compiler version" >&5
@@ -3247,13 +3272,11 @@ if test -z "$ac_file"; then
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: C compiler cannot create executables
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
 fi
 
 ac_exeext=$ac_cv_exeext
@@ -3281,15 +3304,13 @@ $as_echo "$ac_try_echo") >&5
     if test "$cross_compiling" = maybe; then
        cross_compiling=yes
     else
-       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+       { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
     fi
   fi
 fi
@@ -3332,13 +3353,11 @@ for ac_file in conftest.exe conftest conftest.*; do
   esac
 done
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+  { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 fi
 
 rm -f conftest$ac_cv_exeext
@@ -3392,13 +3411,11 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 fi
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
@@ -3814,7 +3831,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
 $as_echo "$ac_cv_lib_cposix_strerror" >&6; }
-if test "x$ac_cv_lib_cposix_strerror" = x""yes; then
+if test $ac_cv_lib_cposix_strerror = yes; then
   LIBS="$LIBS -lcposix"
 fi
 
@@ -4041,13 +4058,11 @@ rm -f conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then
   :
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+  { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 fi
 
 ac_ext=c
@@ -4430,9 +4445,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4575,7 +4589,7 @@ fi
 $as_echo "$ac_cv_header_minix_config_h" >&6; }
 
 fi
-if test "x$ac_cv_header_minix_config_h" = x""yes; then
+if test $ac_cv_header_minix_config_h = yes; then
   MINIX=yes
 else
   MINIX=
@@ -5274,7 +5288,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
 $as_echo "$ac_cv_func_tgetent" >&6; }
-if test "x$ac_cv_func_tgetent" = x""yes; then
+if test $ac_cv_func_tgetent = yes; then
   bash_cv_termcap_lib=libc
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
@@ -5342,7 +5356,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
 $as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
-if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then
+if test $ac_cv_lib_termcap_tgetent = yes; then
   bash_cv_termcap_lib=libtermcap
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
@@ -5410,7 +5424,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
 $as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
-if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then
+if test $ac_cv_lib_tinfo_tgetent = yes; then
   bash_cv_termcap_lib=libtinfo
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
@@ -5478,7 +5492,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
 $as_echo "$ac_cv_lib_curses_tgetent" >&6; }
-if test "x$ac_cv_lib_curses_tgetent" = x""yes; then
+if test $ac_cv_lib_curses_tgetent = yes; then
   bash_cv_termcap_lib=libcurses
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
@@ -5546,7 +5560,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
 $as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
-if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then
+if test $ac_cv_lib_ncurses_tgetent = yes; then
   bash_cv_termcap_lib=libncurses
 else
   bash_cv_termcap_lib=gnutermcap
@@ -6080,8 +6094,12 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
     RANLIB=$ac_ct_RANLIB
@@ -6381,15 +6399,15 @@ if test "${ac_cv_c_bigendian+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat >conftest.$ac_ext <<_ACEOF
+    # See if __BIG_ENDIAN__ or __LITTLE_ENDIAN__ is defined.
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
+#if ! (defined __BIG_ENDIAN__ || defined __LITTLE_ENDIAN__)
+              neither is defined;
             #endif
             typedef int dummy;
            
@@ -6412,13 +6430,7 @@ $as_echo "$ac_try_echo") >&5
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  
-       # Check for potential -arch flags.  It is not universal unless
-       # there are some -arch flags.  Note that *ppc* also matches
-       # ppc64.  This check is also rather less than ideal.
-       case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in  #(
-         *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
-       esac
+  ac_cv_c_bigendian=universal
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
@@ -6766,12 +6778,7 @@ _ACEOF
    no)
       ;; #(
    universal)
-             
-cat >>confdefs.h <<\_ACEOF
-@%:@define AC_APPLE_UNIVERSAL_BUILD 1
-_ACEOF
-
-     ;; #(
+      ;; #(
    *)
      { { $as_echo "$as_me:$LINENO: error: unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" >&5
@@ -7522,7 +7529,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
 $as_echo "$ac_cv_type_off_t" >&6; }
-if test "x$ac_cv_type_off_t" = x""yes; then
+if test $ac_cv_type_off_t = yes; then
   :
 else
   
@@ -7626,7 +7633,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
 $as_echo "$ac_cv_type_size_t" >&6; }
-if test "x$ac_cv_type_size_t" = x""yes; then
+if test $ac_cv_type_size_t = yes; then
   :
 else
   
@@ -7917,9 +7924,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define CRAY_STACKSEG_END $ac_func
@@ -8154,9 +8160,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8256,9 +8261,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -9637,9 +9641,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -9764,9 +9767,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -11054,9 +11056,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
@@ -11448,9 +11449,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -11478,11 +11478,13 @@ done
 
 
 
+
 
 
 for ac_header in unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
                 memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
-                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h
+                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h \
+                syslog.h
 do
 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -11621,9 +11623,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -11785,9 +11786,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -11937,9 +11937,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -12282,9 +12281,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define CRAY_STACKSEG_END $ac_func
@@ -12536,9 +12534,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -12628,7 +12625,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
 $as_echo "$ac_cv_func__doprnt" >&6; }
-if test "x$ac_cv_func__doprnt" = x""yes; then
+if test $ac_cv_func__doprnt = yes; then
   
 cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_DOPRNT 1
@@ -12905,7 +12902,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func___setostype" >&5
 $as_echo "$ac_cv_func___setostype" >&6; }
-if test "x$ac_cv_func___setostype" = x""yes; then
+if test $ac_cv_func___setostype = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_SETOSTYPE 1
 _ACEOF
@@ -12997,7 +12994,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wait3" >&5
 $as_echo "$ac_cv_func_wait3" >&6; }
-if test "x$ac_cv_func_wait3" = x""yes; then
+if test $ac_cv_func_wait3 = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_WAIT3 1
 _ACEOF
@@ -13089,7 +13086,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5
 $as_echo "$ac_cv_func_isinf" >&6; }
-if test "x$ac_cv_func_isinf" = x""yes; then
+if test $ac_cv_func_isinf = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_ISINF_IN_LIBC 1
 _ACEOF
@@ -13181,7 +13178,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_isnan" >&5
 $as_echo "$ac_cv_func_isnan" >&6; }
-if test "x$ac_cv_func_isnan" = x""yes; then
+if test $ac_cv_func_isnan = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_ISNAN_IN_LIBC 1
 _ACEOF
@@ -13274,7 +13271,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mkfifo" >&5
 $as_echo "$ac_cv_func_mkfifo" >&6; }
-if test "x$ac_cv_func_mkfifo" = x""yes; then
+if test $ac_cv_func_mkfifo = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_MKFIFO 1
 _ACEOF
@@ -13403,9 +13400,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13504,9 +13500,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13548,13 +13543,14 @@ done
 
 
 
+
 
 
 for ac_func in bcopy bzero confstr fnmatch \
                getaddrinfo gethostbyname getservbyname getservent inet_aton \
                memmove pathconf putenv raise regcomp regexec \
                setenv setlinebuf setlocale setvbuf siginterrupt strchr \
-               sysconf tcgetattr times ttyname tzset unsetenv
+               sysconf syslog tcgetattr times ttyname tzset unsetenv
 do
 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -13644,9 +13640,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13749,9 +13744,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13855,9 +13849,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13958,9 +13951,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14060,9 +14052,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14175,9 +14166,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14290,9 +14280,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14399,9 +14388,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14471,7 +14459,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_confstr" >&5
 $as_echo "$ac_cv_have_decl_confstr" >&6; }
-if test "x$ac_cv_have_decl_confstr" = x""yes; then
+if test $ac_cv_have_decl_confstr = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_CONFSTR 1
@@ -14540,7 +14528,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_printf" >&5
 $as_echo "$ac_cv_have_decl_printf" >&6; }
-if test "x$ac_cv_have_decl_printf" = x""yes; then
+if test $ac_cv_have_decl_printf = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_PRINTF 1
@@ -14609,7 +14597,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sbrk" >&5
 $as_echo "$ac_cv_have_decl_sbrk" >&6; }
-if test "x$ac_cv_have_decl_sbrk" = x""yes; then
+if test $ac_cv_have_decl_sbrk = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_SBRK 1
@@ -14678,7 +14666,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_setregid" >&5
 $as_echo "$ac_cv_have_decl_setregid" >&6; }
-if test "x$ac_cv_have_decl_setregid" = x""yes; then
+if test $ac_cv_have_decl_setregid = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_SETREGID 1
@@ -14747,7 +14735,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strcpy" >&5
 $as_echo "$ac_cv_have_decl_strcpy" >&6; }
-if test "x$ac_cv_have_decl_strcpy" = x""yes; then
+if test $ac_cv_have_decl_strcpy = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_STRCPY 1
@@ -14816,7 +14804,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strsignal" >&5
 $as_echo "$ac_cv_have_decl_strsignal" >&6; }
-if test "x$ac_cv_have_decl_strsignal" = x""yes; then
+if test $ac_cv_have_decl_strsignal = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_STRSIGNAL 1
@@ -14886,7 +14874,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtold" >&5
 $as_echo "$ac_cv_have_decl_strtold" >&6; }
-if test "x$ac_cv_have_decl_strtold" = x""yes; then
+if test $ac_cv_have_decl_strtold = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_STRTOLD 1
@@ -15576,9 +15564,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -15685,9 +15672,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -16114,9 +16100,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -16267,9 +16252,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -16369,9 +16353,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -16668,9 +16651,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -16831,9 +16813,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -16982,9 +16963,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -17133,9 +17113,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -17230,7 +17209,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
 $as_echo "$ac_cv_func_mbrlen" >&6; }
-if test "x$ac_cv_func_mbrlen" = x""yes; then
+if test $ac_cv_func_mbrlen = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_MBRLEN 1
 _ACEOF
@@ -17322,7 +17301,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscasecmp" >&5
 $as_echo "$ac_cv_func_mbscasecmp" >&6; }
-if test "x$ac_cv_func_mbscasecmp" = x""yes; then
+if test $ac_cv_func_mbscasecmp = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_MBSCMP 1
 _ACEOF
@@ -17414,7 +17393,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscmp" >&5
 $as_echo "$ac_cv_func_mbscmp" >&6; }
-if test "x$ac_cv_func_mbscmp" = x""yes; then
+if test $ac_cv_func_mbscmp = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_MBSCMP 1
 _ACEOF
@@ -17506,7 +17485,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbsrtowcs" >&5
 $as_echo "$ac_cv_func_mbsrtowcs" >&6; }
-if test "x$ac_cv_func_mbsrtowcs" = x""yes; then
+if test $ac_cv_func_mbsrtowcs = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_MBSRTOWCS 1
 _ACEOF
@@ -17605,9 +17584,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -17709,7 +17687,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcrtomb" >&5
 $as_echo "$ac_cv_func_wcrtomb" >&6; }
-if test "x$ac_cv_func_wcrtomb" = x""yes; then
+if test $ac_cv_func_wcrtomb = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_WCRTOMB 1
 _ACEOF
@@ -17801,7 +17779,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcscoll" >&5
 $as_echo "$ac_cv_func_wcscoll" >&6; }
-if test "x$ac_cv_func_wcscoll" = x""yes; then
+if test $ac_cv_func_wcscoll = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_WCSCOLL 1
 _ACEOF
@@ -17893,7 +17871,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
 $as_echo "$ac_cv_func_wcsdup" >&6; }
-if test "x$ac_cv_func_wcsdup" = x""yes; then
+if test $ac_cv_func_wcsdup = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_WCSDUP 1
 _ACEOF
@@ -17985,7 +17963,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcwidth" >&5
 $as_echo "$ac_cv_func_wcwidth" >&6; }
-if test "x$ac_cv_func_wcwidth" = x""yes; then
+if test $ac_cv_func_wcwidth = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_WCWIDTH 1
 _ACEOF
@@ -18077,7 +18055,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wctype" >&5
 $as_echo "$ac_cv_func_wctype" >&6; }
-if test "x$ac_cv_func_wctype" = x""yes; then
+if test $ac_cv_func_wctype = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define HAVE_WCTYPE 1
 _ACEOF
@@ -18255,9 +18233,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -18581,7 +18558,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+if test $ac_cv_lib_dl_dlopen = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_LIBDL 1
 _ACEOF
@@ -18683,9 +18660,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -18754,7 +18730,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5
 $as_echo "$ac_cv_have_decl_sys_siglist" >&6; }
-if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then
+if test $ac_cv_have_decl_sys_siglist = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_SYS_SIGLIST 1
@@ -18916,7 +18892,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sun_getpwent" >&5
 $as_echo "$ac_cv_lib_sun_getpwent" >&6; }
-if test "x$ac_cv_lib_sun_getpwent" = x""yes; then
+if test $ac_cv_lib_sun_getpwent = yes; then
   cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_LIBSUN 1
 _ACEOF
@@ -19004,7 +18980,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_getpeername" >&5
 $as_echo "$ac_cv_lib_socket_getpeername" >&6; }
-if test "x$ac_cv_lib_socket_getpeername" = x""yes; then
+if test $ac_cv_lib_socket_getpeername = yes; then
   bash_cv_have_socklib=yes
 else
   bash_cv_have_socklib=no
@@ -19094,7 +19070,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_t_open" >&5
 $as_echo "$ac_cv_lib_nsl_t_open" >&6; }
-if test "x$ac_cv_lib_nsl_t_open" = x""yes; then
+if test $ac_cv_lib_nsl_t_open = yes; then
   bash_cv_have_libnsl=yes
 else
   bash_cv_have_libnsl=no
@@ -19435,7 +19411,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
 $as_echo "$ac_cv_type_off_t" >&6; }
-if test "x$ac_cv_type_off_t" = x""yes; then
+if test $ac_cv_type_off_t = yes; then
   :
 else
   
@@ -19539,7 +19515,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
 $as_echo "$ac_cv_type_mode_t" >&6; }
-if test "x$ac_cv_type_mode_t" = x""yes; then
+if test $ac_cv_type_mode_t = yes; then
   :
 else
   
@@ -19681,7 +19657,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
 $as_echo "$ac_cv_type_pid_t" >&6; }
-if test "x$ac_cv_type_pid_t" = x""yes; then
+if test $ac_cv_type_pid_t = yes; then
   :
 else
   
@@ -19785,7 +19761,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
 $as_echo "$ac_cv_type_size_t" >&6; }
-if test "x$ac_cv_type_size_t" = x""yes; then
+if test $ac_cv_type_size_t = yes; then
   :
 else
   
@@ -19889,7 +19865,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
 $as_echo "$ac_cv_type_ssize_t" >&6; }
-if test "x$ac_cv_type_ssize_t" = x""yes; then
+if test $ac_cv_type_ssize_t = yes; then
   :
 else
   
@@ -19993,7 +19969,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_time_t" >&5
 $as_echo "$ac_cv_type_time_t" >&6; }
-if test "x$ac_cv_type_time_t" = x""yes; then
+if test $ac_cv_type_time_t = yes; then
   :
 else
   
@@ -20350,7 +20326,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5
 $as_echo "$ac_cv_type_sig_atomic_t" >&6; }
-if test "x$ac_cv_type_sig_atomic_t" = x""yes; then
+if test $ac_cv_type_sig_atomic_t = yes; then
   :
 else
   
@@ -20614,13 +20590,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_char=$ac_lo;;
 '') if test "$ac_cv_type_char" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char=0
    fi ;;
@@ -20696,13 +20670,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_char" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char=0
    fi
@@ -20973,13 +20945,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_short=$ac_lo;;
 '') if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_short=0
    fi ;;
@@ -21055,13 +21025,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_short=0
    fi
@@ -21332,13 +21300,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_int=$ac_lo;;
 '') if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_int=0
    fi ;;
@@ -21414,13 +21380,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_int=0
    fi
@@ -21691,13 +21655,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_long=$ac_lo;;
 '') if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long=0
    fi ;;
@@ -21773,13 +21735,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -22050,13 +22010,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_char_p=$ac_lo;;
 '') if test "$ac_cv_type_char_p" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char_p=0
    fi ;;
@@ -22132,13 +22090,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_char_p" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char_p=0
    fi
@@ -22409,13 +22365,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_double=$ac_lo;;
 '') if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_double=0
    fi ;;
@@ -22491,13 +22445,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_double=0
    fi
@@ -22768,13 +22720,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_long_long=$ac_lo;;
 '') if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long_long=0
    fi ;;
@@ -22850,13 +22800,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long_long=0
    fi
@@ -22971,7 +22919,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_int" >&5
 $as_echo "$ac_cv_type_u_int" >&6; }
-if test "x$ac_cv_type_u_int" = x""yes; then
+if test $ac_cv_type_u_int = yes; then
   :
 else
   
@@ -23075,7 +23023,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_long" >&5
 $as_echo "$ac_cv_type_u_long" >&6; }
-if test "x$ac_cv_type_u_long" = x""yes; then
+if test $ac_cv_type_u_long = yes; then
   :
 else
   
@@ -23182,7 +23130,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
 $as_echo "$ac_cv_type_bits16_t" >&6; }
-if test "x$ac_cv_type_bits16_t" = x""yes; then
+if test $ac_cv_type_bits16_t = yes; then
   :
 else
   
@@ -23287,7 +23235,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
 $as_echo "$ac_cv_type_bits16_t" >&6; }
-if test "x$ac_cv_type_bits16_t" = x""yes; then
+if test $ac_cv_type_bits16_t = yes; then
   :
 else
   
@@ -23392,7 +23340,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
 $as_echo "$ac_cv_type_bits16_t" >&6; }
-if test "x$ac_cv_type_bits16_t" = x""yes; then
+if test $ac_cv_type_bits16_t = yes; then
   :
 else
   
@@ -23500,7 +23448,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
 $as_echo "$ac_cv_type_u_bits16_t" >&6; }
-if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+if test $ac_cv_type_u_bits16_t = yes; then
   :
 else
   
@@ -23605,7 +23553,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
 $as_echo "$ac_cv_type_u_bits16_t" >&6; }
-if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+if test $ac_cv_type_u_bits16_t = yes; then
   :
 else
   
@@ -23710,7 +23658,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
 $as_echo "$ac_cv_type_u_bits16_t" >&6; }
-if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+if test $ac_cv_type_u_bits16_t = yes; then
   :
 else
   
@@ -23818,7 +23766,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
 $as_echo "$ac_cv_type_bits32_t" >&6; }
-if test "x$ac_cv_type_bits32_t" = x""yes; then
+if test $ac_cv_type_bits32_t = yes; then
   :
 else
   
@@ -23923,7 +23871,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
 $as_echo "$ac_cv_type_bits32_t" >&6; }
-if test "x$ac_cv_type_bits32_t" = x""yes; then
+if test $ac_cv_type_bits32_t = yes; then
   :
 else
   
@@ -24028,7 +23976,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
 $as_echo "$ac_cv_type_bits32_t" >&6; }
-if test "x$ac_cv_type_bits32_t" = x""yes; then
+if test $ac_cv_type_bits32_t = yes; then
   :
 else
   
@@ -24136,7 +24084,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
 $as_echo "$ac_cv_type_u_bits32_t" >&6; }
-if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+if test $ac_cv_type_u_bits32_t = yes; then
   :
 else
   
@@ -24241,7 +24189,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
 $as_echo "$ac_cv_type_u_bits32_t" >&6; }
-if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+if test $ac_cv_type_u_bits32_t = yes; then
   :
 else
   
@@ -24346,7 +24294,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
 $as_echo "$ac_cv_type_u_bits32_t" >&6; }
-if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+if test $ac_cv_type_u_bits32_t = yes; then
   :
 else
   
@@ -24454,7 +24402,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
   
@@ -24559,7 +24507,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
   
@@ -24664,7 +24612,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
   
@@ -24769,7 +24717,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
   
@@ -24874,7 +24822,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
   
@@ -24983,7 +24931,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
   
@@ -25088,7 +25036,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
   
@@ -25193,7 +25141,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
   
@@ -25298,7 +25246,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
   
@@ -26835,7 +26783,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_termios_c_line" >&5
 $as_echo "$ac_cv_member_struct_termios_c_line" >&6; }
-if test "x$ac_cv_member_struct_termios_c_line" = x""yes; then
+if test $ac_cv_member_struct_termios_c_line = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define TERMIOS_LDISC 1
 _ACEOF
@@ -26947,7 +26895,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_termio_c_line" >&5
 $as_echo "$ac_cv_member_struct_termio_c_line" >&6; }
-if test "x$ac_cv_member_struct_termio_c_line" = x""yes; then
+if test $ac_cv_member_struct_termio_c_line = yes; then
   cat >>confdefs.h <<\_ACEOF
 @%:@define TERMIO_LDISC 1
 _ACEOF
@@ -27456,7 +27404,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5
 $as_echo "$ac_cv_member_struct_stat_st_blocks" >&6; }
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then
+if test $ac_cv_member_struct_stat_st_blocks = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -27628,7 +27576,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
 $as_echo "$ac_cv_member_struct_tm_tm_zone" >&6; }
-if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then
+if test $ac_cv_member_struct_tm_tm_zone = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_STRUCT_TM_TM_ZONE 1
@@ -27698,7 +27646,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
 $as_echo "$ac_cv_have_decl_tzname" >&6; }
-if test "x$ac_cv_have_decl_tzname" = x""yes; then
+if test $ac_cv_have_decl_tzname = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_TZNAME 1
@@ -28145,7 +28093,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fpurge" >&5
 $as_echo "$ac_cv_have_decl_fpurge" >&6; }
-if test "x$ac_cv_have_decl_fpurge" = x""yes; then
+if test $ac_cv_have_decl_fpurge = yes; then
   
 cat >>confdefs.h <<_ACEOF
 @%:@define HAVE_DECL_FPURGE 1
@@ -29820,7 +29768,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
 $as_echo "$ac_cv_func_tgetent" >&6; }
-if test "x$ac_cv_func_tgetent" = x""yes; then
+if test $ac_cv_func_tgetent = yes; then
   bash_cv_termcap_lib=libc
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
@@ -29888,7 +29836,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
 $as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
-if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then
+if test $ac_cv_lib_termcap_tgetent = yes; then
   bash_cv_termcap_lib=libtermcap
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
@@ -29956,7 +29904,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
 $as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
-if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then
+if test $ac_cv_lib_tinfo_tgetent = yes; then
   bash_cv_termcap_lib=libtinfo
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
@@ -30024,7 +29972,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
 $as_echo "$ac_cv_lib_curses_tgetent" >&6; }
-if test "x$ac_cv_lib_curses_tgetent" = x""yes; then
+if test $ac_cv_lib_curses_tgetent = yes; then
   bash_cv_termcap_lib=libcurses
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
@@ -30092,7 +30040,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
 $as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
-if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then
+if test $ac_cv_lib_ncurses_tgetent = yes; then
   bash_cv_termcap_lib=libncurses
 else
   bash_cv_termcap_lib=gnutermcap
@@ -30440,8 +30388,8 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -30511,7 +30459,6 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-
 : ${CONFIG_STATUS=./config.status}
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
@@ -30834,7 +30781,7 @@ exec 6>&1
 # values after options handling.
 ac_log="
 This file was extended by bash $as_me 4.0-maint, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+generated by GNU Autoconf 2.62.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -30847,15 +30794,6 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
 
 _ACEOF
 
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # Files that config.status was made for.
 config_files="$ac_config_files"
@@ -30869,17 +30807,16 @@ ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
 
-Usage: $0 [OPTION]... [FILE]...
+Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
+  -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE] 
+  --file=FILE[:TEMPLATE] 
                    instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE] 
+  --header=FILE[:TEMPLATE] 
                    instantiate the configuration header FILE
 
 Configuration files:
@@ -30897,7 +30834,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 bash config.status 4.0-maint
-configured by $0, generated by GNU Autoconf 2.63,
+configured by $0, generated by GNU Autoconf 2.62,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
 Copyright (C) 2008 Free Software Foundation, Inc.
@@ -31121,8 +31058,7 @@ for ac_last_try in false false false false false :; do
 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
    { (exit 1); exit 1; }; }
 
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
     break
   elif $ac_last_try; then
     { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -31327,9 +31263,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   }
   split(mac1, mac2, "(") #)
   macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
   if (D_is_set[macro]) {
     # Preserve the white space surrounding the "#".
+    prefix = substr(line, 1, index(line, defundef) - 1)
     print prefix "define", macro P[macro] D[macro]
     next
   } else {
@@ -31337,7 +31273,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
     # in the case of _POSIX_SOURCE, which is predefined and required
     # on some systems where configure will not decide to define it.
     if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
+      print "/*", line, "*/"
       next
     }
   }
@@ -31361,8 +31297,8 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
    { (exit 1); exit 1; }; };;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -31796,7 +31732,7 @@ if test "$no_create" != yes; then
   $ac_cs_success || { (exit 1); exit 1; }
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+  { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
index 2cffda6c74454636264357297df514afd6af909f..91fd638ea8611d405b8e4704f4fa0f19a6194c5f 100644 (file)
@@ -209,12 +209,9 @@ m4trace:configure.in:133: -1- AC_DEFINE_TRACE_LITERAL([DISABLE_MALLOC_WRAPPERS])
 m4trace:configure.in:133: -1- m4_pattern_allow([^DISABLE_MALLOC_WRAPPERS$])
 m4trace:configure.in:143: -1- AC_DEFINE_TRACE_LITERAL([AFS])
 m4trace:configure.in:143: -1- m4_pattern_allow([^AFS$])
-m4trace:configure.in:194: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.in:195: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:194: the top level])
-m4trace:configure.in:210: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:210: the top level])
+configure.in:195: the top level])
 m4trace:configure.in:211: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
 configure.in:211: the top level])
@@ -308,196 +305,206 @@ configure.in:240: the top level])
 m4trace:configure.in:241: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
 configure.in:241: the top level])
-m4trace:configure.in:244: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.in:242: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:244: the top level])
-m4trace:configure.in:245: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+configure.in:242: the top level])
+m4trace:configure.in:243: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:245: the top level])
+configure.in:243: the top level])
 m4trace:configure.in:246: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
 configure.in:246: the top level])
-m4trace:configure.in:255: -1- AC_DEFINE_TRACE_LITERAL([ALIAS])
-m4trace:configure.in:255: -1- m4_pattern_allow([^ALIAS$])
-m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([PUSHD_AND_POPD])
-m4trace:configure.in:258: -1- m4_pattern_allow([^PUSHD_AND_POPD$])
-m4trace:configure.in:261: -1- AC_DEFINE_TRACE_LITERAL([RESTRICTED_SHELL])
-m4trace:configure.in:261: -1- m4_pattern_allow([^RESTRICTED_SHELL$])
-m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([PROCESS_SUBSTITUTION])
-m4trace:configure.in:264: -1- m4_pattern_allow([^PROCESS_SUBSTITUTION$])
-m4trace:configure.in:267: -1- AC_DEFINE_TRACE_LITERAL([PROMPT_STRING_DECODE])
-m4trace:configure.in:267: -1- m4_pattern_allow([^PROMPT_STRING_DECODE$])
-m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([SELECT_COMMAND])
-m4trace:configure.in:270: -1- m4_pattern_allow([^SELECT_COMMAND$])
-m4trace:configure.in:273: -1- AC_DEFINE_TRACE_LITERAL([HELP_BUILTIN])
-m4trace:configure.in:273: -1- m4_pattern_allow([^HELP_BUILTIN$])
-m4trace:configure.in:276: -1- AC_DEFINE_TRACE_LITERAL([ARRAY_VARS])
-m4trace:configure.in:276: -1- m4_pattern_allow([^ARRAY_VARS$])
-m4trace:configure.in:279: -1- AC_DEFINE_TRACE_LITERAL([DPAREN_ARITHMETIC])
-m4trace:configure.in:279: -1- m4_pattern_allow([^DPAREN_ARITHMETIC$])
-m4trace:configure.in:282: -1- AC_DEFINE_TRACE_LITERAL([BRACE_EXPANSION])
-m4trace:configure.in:282: -1- m4_pattern_allow([^BRACE_EXPANSION$])
-m4trace:configure.in:285: -1- AC_DEFINE_TRACE_LITERAL([DISABLED_BUILTINS])
-m4trace:configure.in:285: -1- m4_pattern_allow([^DISABLED_BUILTINS$])
-m4trace:configure.in:288: -1- AC_DEFINE_TRACE_LITERAL([COMMAND_TIMING])
-m4trace:configure.in:288: -1- m4_pattern_allow([^COMMAND_TIMING$])
-m4trace:configure.in:291: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_ECHO_TO_XPG])
-m4trace:configure.in:291: -1- m4_pattern_allow([^DEFAULT_ECHO_TO_XPG$])
-m4trace:configure.in:294: -1- AC_DEFINE_TRACE_LITERAL([STRICT_POSIX])
-m4trace:configure.in:294: -1- m4_pattern_allow([^STRICT_POSIX$])
-m4trace:configure.in:297: -1- AC_DEFINE_TRACE_LITERAL([EXTENDED_GLOB])
-m4trace:configure.in:297: -1- m4_pattern_allow([^EXTENDED_GLOB$])
-m4trace:configure.in:300: -1- AC_DEFINE_TRACE_LITERAL([COND_COMMAND])
-m4trace:configure.in:300: -1- m4_pattern_allow([^COND_COMMAND$])
-m4trace:configure.in:303: -1- AC_DEFINE_TRACE_LITERAL([COND_REGEXP])
-m4trace:configure.in:303: -1- m4_pattern_allow([^COND_REGEXP$])
-m4trace:configure.in:306: -1- AC_DEFINE_TRACE_LITERAL([COPROCESS_SUPPORT])
-m4trace:configure.in:306: -1- m4_pattern_allow([^COPROCESS_SUPPORT$])
-m4trace:configure.in:309: -1- AC_DEFINE_TRACE_LITERAL([ARITH_FOR_COMMAND])
-m4trace:configure.in:309: -1- m4_pattern_allow([^ARITH_FOR_COMMAND$])
-m4trace:configure.in:312: -1- AC_DEFINE_TRACE_LITERAL([NETWORK_REDIRECTIONS])
-m4trace:configure.in:312: -1- m4_pattern_allow([^NETWORK_REDIRECTIONS$])
-m4trace:configure.in:315: -1- AC_DEFINE_TRACE_LITERAL([PROGRAMMABLE_COMPLETION])
-m4trace:configure.in:315: -1- m4_pattern_allow([^PROGRAMMABLE_COMPLETION$])
-m4trace:configure.in:318: -1- AC_DEFINE_TRACE_LITERAL([NO_MULTIBYTE_SUPPORT])
-m4trace:configure.in:318: -1- m4_pattern_allow([^NO_MULTIBYTE_SUPPORT$])
-m4trace:configure.in:321: -1- AC_DEFINE_TRACE_LITERAL([DEBUGGER])
-m4trace:configure.in:321: -1- m4_pattern_allow([^DEBUGGER$])
-m4trace:configure.in:324: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_ATTRS])
-m4trace:configure.in:324: -1- m4_pattern_allow([^CASEMOD_ATTRS$])
-m4trace:configure.in:327: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_EXPANSIONS])
-m4trace:configure.in:327: -1- m4_pattern_allow([^CASEMOD_EXPANSIONS$])
-m4trace:configure.in:331: -1- AC_DEFINE_TRACE_LITERAL([MEMSCRAMBLE])
-m4trace:configure.in:331: -1- m4_pattern_allow([^MEMSCRAMBLE$])
-m4trace:configure.in:356: -1- AC_SUBST([TESTSCRIPT])
-m4trace:configure.in:356: -1- AC_SUBST_TRACE([TESTSCRIPT])
-m4trace:configure.in:356: -1- m4_pattern_allow([^TESTSCRIPT$])
-m4trace:configure.in:357: -1- AC_SUBST([PURIFY])
-m4trace:configure.in:357: -1- AC_SUBST_TRACE([PURIFY])
-m4trace:configure.in:357: -1- m4_pattern_allow([^PURIFY$])
-m4trace:configure.in:358: -1- AC_SUBST([MALLOC_TARGET])
-m4trace:configure.in:358: -1- AC_SUBST_TRACE([MALLOC_TARGET])
-m4trace:configure.in:358: -1- m4_pattern_allow([^MALLOC_TARGET$])
-m4trace:configure.in:359: -1- AC_SUBST([MALLOC_SRC])
-m4trace:configure.in:359: -1- AC_SUBST_TRACE([MALLOC_SRC])
-m4trace:configure.in:359: -1- m4_pattern_allow([^MALLOC_SRC$])
-m4trace:configure.in:361: -1- AC_SUBST([MALLOC_LIB])
-m4trace:configure.in:361: -1- AC_SUBST_TRACE([MALLOC_LIB])
-m4trace:configure.in:361: -1- m4_pattern_allow([^MALLOC_LIB$])
-m4trace:configure.in:362: -1- AC_SUBST([MALLOC_LIBRARY])
-m4trace:configure.in:362: -1- AC_SUBST_TRACE([MALLOC_LIBRARY])
-m4trace:configure.in:362: -1- m4_pattern_allow([^MALLOC_LIBRARY$])
-m4trace:configure.in:363: -1- AC_SUBST([MALLOC_LDFLAGS])
-m4trace:configure.in:363: -1- AC_SUBST_TRACE([MALLOC_LDFLAGS])
-m4trace:configure.in:363: -1- m4_pattern_allow([^MALLOC_LDFLAGS$])
-m4trace:configure.in:364: -1- AC_SUBST([MALLOC_DEP])
-m4trace:configure.in:364: -1- AC_SUBST_TRACE([MALLOC_DEP])
-m4trace:configure.in:364: -1- m4_pattern_allow([^MALLOC_DEP$])
-m4trace:configure.in:366: -1- AC_SUBST([htmldir])
-m4trace:configure.in:366: -1- AC_SUBST_TRACE([htmldir])
-m4trace:configure.in:366: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.in:368: -1- AC_SUBST([HELPDIR])
-m4trace:configure.in:368: -1- AC_SUBST_TRACE([HELPDIR])
-m4trace:configure.in:368: -1- m4_pattern_allow([^HELPDIR$])
-m4trace:configure.in:369: -1- AC_SUBST([HELPDIRDEFINE])
-m4trace:configure.in:369: -1- AC_SUBST_TRACE([HELPDIRDEFINE])
-m4trace:configure.in:369: -1- m4_pattern_allow([^HELPDIRDEFINE$])
-m4trace:configure.in:370: -1- AC_SUBST([HELPINSTALL])
-m4trace:configure.in:370: -1- AC_SUBST_TRACE([HELPINSTALL])
-m4trace:configure.in:370: -1- m4_pattern_allow([^HELPINSTALL$])
-m4trace:configure.in:371: -1- AC_SUBST([HELPSTRINGS])
-m4trace:configure.in:371: -1- AC_SUBST_TRACE([HELPSTRINGS])
-m4trace:configure.in:371: -1- m4_pattern_allow([^HELPSTRINGS$])
-m4trace:configure.in:380: -1- AC_SUBST([CC])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:380: -1- AC_SUBST([CFLAGS])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CFLAGS])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:380: -1- AC_SUBST([LDFLAGS])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([LDFLAGS])
-m4trace:configure.in:380: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:380: -1- AC_SUBST([LIBS])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.in:380: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:380: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:380: -1- AC_SUBST([CC])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:380: -1- AC_SUBST([CC])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:380: -1- AC_SUBST([CC])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:380: -1- AC_SUBST([CC])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:380: -1- AC_SUBST([ac_ct_CC])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([ac_ct_CC])
-m4trace:configure.in:380: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.in:380: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([EXEEXT])
-m4trace:configure.in:380: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.in:380: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
-m4trace:configure.in:380: -1- AC_SUBST_TRACE([OBJEXT])
-m4trace:configure.in:380: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.in:384: -1- _m4_warn([obsolete], [The macro `AC_MINIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:459: AC_MINIX is expanded from...
-configure.in:384: the top level])
-m4trace:configure.in:384: -1- AC_SUBST([CPP])
-m4trace:configure.in:384: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:384: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:384: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:384: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:384: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:384: -1- AC_SUBST([CPP])
-m4trace:configure.in:384: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:384: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:384: -1- AC_SUBST([GREP])
-m4trace:configure.in:384: -1- AC_SUBST_TRACE([GREP])
-m4trace:configure.in:384: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:384: -1- AC_SUBST([EGREP])
-m4trace:configure.in:384: -1- AC_SUBST_TRACE([EGREP])
-m4trace:configure.in:384: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.in:384: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:384: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
+m4trace:configure.in:247: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:247: the top level])
+m4trace:configure.in:248: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:248: the top level])
+m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([ALIAS])
+m4trace:configure.in:257: -1- m4_pattern_allow([^ALIAS$])
+m4trace:configure.in:260: -1- AC_DEFINE_TRACE_LITERAL([PUSHD_AND_POPD])
+m4trace:configure.in:260: -1- m4_pattern_allow([^PUSHD_AND_POPD$])
+m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([RESTRICTED_SHELL])
+m4trace:configure.in:263: -1- m4_pattern_allow([^RESTRICTED_SHELL$])
+m4trace:configure.in:266: -1- AC_DEFINE_TRACE_LITERAL([PROCESS_SUBSTITUTION])
+m4trace:configure.in:266: -1- m4_pattern_allow([^PROCESS_SUBSTITUTION$])
+m4trace:configure.in:269: -1- AC_DEFINE_TRACE_LITERAL([PROMPT_STRING_DECODE])
+m4trace:configure.in:269: -1- m4_pattern_allow([^PROMPT_STRING_DECODE$])
+m4trace:configure.in:272: -1- AC_DEFINE_TRACE_LITERAL([SELECT_COMMAND])
+m4trace:configure.in:272: -1- m4_pattern_allow([^SELECT_COMMAND$])
+m4trace:configure.in:275: -1- AC_DEFINE_TRACE_LITERAL([HELP_BUILTIN])
+m4trace:configure.in:275: -1- m4_pattern_allow([^HELP_BUILTIN$])
+m4trace:configure.in:278: -1- AC_DEFINE_TRACE_LITERAL([ARRAY_VARS])
+m4trace:configure.in:278: -1- m4_pattern_allow([^ARRAY_VARS$])
+m4trace:configure.in:281: -1- AC_DEFINE_TRACE_LITERAL([DPAREN_ARITHMETIC])
+m4trace:configure.in:281: -1- m4_pattern_allow([^DPAREN_ARITHMETIC$])
+m4trace:configure.in:284: -1- AC_DEFINE_TRACE_LITERAL([BRACE_EXPANSION])
+m4trace:configure.in:284: -1- m4_pattern_allow([^BRACE_EXPANSION$])
+m4trace:configure.in:287: -1- AC_DEFINE_TRACE_LITERAL([DISABLED_BUILTINS])
+m4trace:configure.in:287: -1- m4_pattern_allow([^DISABLED_BUILTINS$])
+m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([COMMAND_TIMING])
+m4trace:configure.in:290: -1- m4_pattern_allow([^COMMAND_TIMING$])
+m4trace:configure.in:293: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_ECHO_TO_XPG])
+m4trace:configure.in:293: -1- m4_pattern_allow([^DEFAULT_ECHO_TO_XPG$])
+m4trace:configure.in:296: -1- AC_DEFINE_TRACE_LITERAL([STRICT_POSIX])
+m4trace:configure.in:296: -1- m4_pattern_allow([^STRICT_POSIX$])
+m4trace:configure.in:299: -1- AC_DEFINE_TRACE_LITERAL([EXTENDED_GLOB])
+m4trace:configure.in:299: -1- m4_pattern_allow([^EXTENDED_GLOB$])
+m4trace:configure.in:302: -1- AC_DEFINE_TRACE_LITERAL([EXTGLOB_DEFAULT])
+m4trace:configure.in:302: -1- m4_pattern_allow([^EXTGLOB_DEFAULT$])
+m4trace:configure.in:304: -1- AC_DEFINE_TRACE_LITERAL([EXTGLOB_DEFAULT])
+m4trace:configure.in:304: -1- m4_pattern_allow([^EXTGLOB_DEFAULT$])
+m4trace:configure.in:307: -1- AC_DEFINE_TRACE_LITERAL([COND_COMMAND])
+m4trace:configure.in:307: -1- m4_pattern_allow([^COND_COMMAND$])
+m4trace:configure.in:310: -1- AC_DEFINE_TRACE_LITERAL([COND_REGEXP])
+m4trace:configure.in:310: -1- m4_pattern_allow([^COND_REGEXP$])
+m4trace:configure.in:313: -1- AC_DEFINE_TRACE_LITERAL([COPROCESS_SUPPORT])
+m4trace:configure.in:313: -1- m4_pattern_allow([^COPROCESS_SUPPORT$])
+m4trace:configure.in:316: -1- AC_DEFINE_TRACE_LITERAL([ARITH_FOR_COMMAND])
+m4trace:configure.in:316: -1- m4_pattern_allow([^ARITH_FOR_COMMAND$])
+m4trace:configure.in:319: -1- AC_DEFINE_TRACE_LITERAL([NETWORK_REDIRECTIONS])
+m4trace:configure.in:319: -1- m4_pattern_allow([^NETWORK_REDIRECTIONS$])
+m4trace:configure.in:322: -1- AC_DEFINE_TRACE_LITERAL([PROGRAMMABLE_COMPLETION])
+m4trace:configure.in:322: -1- m4_pattern_allow([^PROGRAMMABLE_COMPLETION$])
+m4trace:configure.in:325: -1- AC_DEFINE_TRACE_LITERAL([NO_MULTIBYTE_SUPPORT])
+m4trace:configure.in:325: -1- m4_pattern_allow([^NO_MULTIBYTE_SUPPORT$])
+m4trace:configure.in:328: -1- AC_DEFINE_TRACE_LITERAL([DEBUGGER])
+m4trace:configure.in:328: -1- m4_pattern_allow([^DEBUGGER$])
+m4trace:configure.in:331: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_ATTRS])
+m4trace:configure.in:331: -1- m4_pattern_allow([^CASEMOD_ATTRS$])
+m4trace:configure.in:334: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_EXPANSIONS])
+m4trace:configure.in:334: -1- m4_pattern_allow([^CASEMOD_EXPANSIONS$])
+m4trace:configure.in:338: -1- AC_DEFINE_TRACE_LITERAL([MEMSCRAMBLE])
+m4trace:configure.in:338: -1- m4_pattern_allow([^MEMSCRAMBLE$])
+m4trace:configure.in:363: -1- AC_SUBST([TESTSCRIPT])
+m4trace:configure.in:363: -1- AC_SUBST_TRACE([TESTSCRIPT])
+m4trace:configure.in:363: -1- m4_pattern_allow([^TESTSCRIPT$])
+m4trace:configure.in:364: -1- AC_SUBST([PURIFY])
+m4trace:configure.in:364: -1- AC_SUBST_TRACE([PURIFY])
+m4trace:configure.in:364: -1- m4_pattern_allow([^PURIFY$])
+m4trace:configure.in:365: -1- AC_SUBST([MALLOC_TARGET])
+m4trace:configure.in:365: -1- AC_SUBST_TRACE([MALLOC_TARGET])
+m4trace:configure.in:365: -1- m4_pattern_allow([^MALLOC_TARGET$])
+m4trace:configure.in:366: -1- AC_SUBST([MALLOC_SRC])
+m4trace:configure.in:366: -1- AC_SUBST_TRACE([MALLOC_SRC])
+m4trace:configure.in:366: -1- m4_pattern_allow([^MALLOC_SRC$])
+m4trace:configure.in:368: -1- AC_SUBST([MALLOC_LIB])
+m4trace:configure.in:368: -1- AC_SUBST_TRACE([MALLOC_LIB])
+m4trace:configure.in:368: -1- m4_pattern_allow([^MALLOC_LIB$])
+m4trace:configure.in:369: -1- AC_SUBST([MALLOC_LIBRARY])
+m4trace:configure.in:369: -1- AC_SUBST_TRACE([MALLOC_LIBRARY])
+m4trace:configure.in:369: -1- m4_pattern_allow([^MALLOC_LIBRARY$])
+m4trace:configure.in:370: -1- AC_SUBST([MALLOC_LDFLAGS])
+m4trace:configure.in:370: -1- AC_SUBST_TRACE([MALLOC_LDFLAGS])
+m4trace:configure.in:370: -1- m4_pattern_allow([^MALLOC_LDFLAGS$])
+m4trace:configure.in:371: -1- AC_SUBST([MALLOC_DEP])
+m4trace:configure.in:371: -1- AC_SUBST_TRACE([MALLOC_DEP])
+m4trace:configure.in:371: -1- m4_pattern_allow([^MALLOC_DEP$])
+m4trace:configure.in:373: -1- AC_SUBST([htmldir])
+m4trace:configure.in:373: -1- AC_SUBST_TRACE([htmldir])
+m4trace:configure.in:373: -1- m4_pattern_allow([^htmldir$])
+m4trace:configure.in:375: -1- AC_SUBST([HELPDIR])
+m4trace:configure.in:375: -1- AC_SUBST_TRACE([HELPDIR])
+m4trace:configure.in:375: -1- m4_pattern_allow([^HELPDIR$])
+m4trace:configure.in:376: -1- AC_SUBST([HELPDIRDEFINE])
+m4trace:configure.in:376: -1- AC_SUBST_TRACE([HELPDIRDEFINE])
+m4trace:configure.in:376: -1- m4_pattern_allow([^HELPDIRDEFINE$])
+m4trace:configure.in:377: -1- AC_SUBST([HELPINSTALL])
+m4trace:configure.in:377: -1- AC_SUBST_TRACE([HELPINSTALL])
+m4trace:configure.in:377: -1- m4_pattern_allow([^HELPINSTALL$])
+m4trace:configure.in:378: -1- AC_SUBST([HELPSTRINGS])
+m4trace:configure.in:378: -1- AC_SUBST_TRACE([HELPSTRINGS])
+m4trace:configure.in:378: -1- m4_pattern_allow([^HELPSTRINGS$])
+m4trace:configure.in:387: -1- AC_SUBST([CC])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:387: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:387: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:387: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:387: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:387: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:387: -1- AC_SUBST([LIBS])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.in:387: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:387: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:387: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:387: -1- AC_SUBST([CC])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:387: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:387: -1- AC_SUBST([CC])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:387: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:387: -1- AC_SUBST([CC])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:387: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:387: -1- AC_SUBST([CC])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:387: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:387: -1- AC_SUBST([ac_ct_CC])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([ac_ct_CC])
+m4trace:configure.in:387: -1- m4_pattern_allow([^ac_ct_CC$])
+m4trace:configure.in:387: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([EXEEXT])
+m4trace:configure.in:387: -1- m4_pattern_allow([^EXEEXT$])
+m4trace:configure.in:387: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
+m4trace:configure.in:387: -1- AC_SUBST_TRACE([OBJEXT])
+m4trace:configure.in:387: -1- m4_pattern_allow([^OBJEXT$])
+m4trace:configure.in:391: -1- _m4_warn([obsolete], [The macro `AC_MINIX' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/specific.m4:456: AC_MINIX is expanded from...
+configure.in:391: the top level])
+m4trace:configure.in:391: -1- AC_SUBST([CPP])
+m4trace:configure.in:391: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:391: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:391: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:391: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:391: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:391: -1- AC_SUBST([CPP])
+m4trace:configure.in:391: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:391: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:391: -1- AC_SUBST([GREP])
+m4trace:configure.in:391: -1- AC_SUBST_TRACE([GREP])
+m4trace:configure.in:391: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:391: -1- AC_SUBST([EGREP])
+m4trace:configure.in:391: -1- AC_SUBST_TRACE([EGREP])
+m4trace:configure.in:391: -1- m4_pattern_allow([^EGREP$])
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
+m4trace:configure.in:391: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.in:391: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
 #undef HAVE_STRINGS_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H])
-m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:391: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_SOURCE])
-m4trace:configure.in:384: -1- m4_pattern_allow([^_POSIX_SOURCE$])
-m4trace:configure.in:384: -1- AH_OUTPUT([_POSIX_SOURCE], [/* Define to 1 if you need to in order for `stat\' and other things to work. */
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_SOURCE])
+m4trace:configure.in:391: -1- m4_pattern_allow([^_POSIX_SOURCE$])
+m4trace:configure.in:391: -1- AH_OUTPUT([_POSIX_SOURCE], [/* Define to 1 if you need to in order for `stat\' and other things to work. */
 #undef _POSIX_SOURCE])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_1_SOURCE])
-m4trace:configure.in:384: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
-m4trace:configure.in:384: -1- AH_OUTPUT([_POSIX_1_SOURCE], [/* Define to 2 if the system does not provide POSIX.1 features except with
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_1_SOURCE])
+m4trace:configure.in:391: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
+m4trace:configure.in:391: -1- AH_OUTPUT([_POSIX_1_SOURCE], [/* Define to 2 if the system does not provide POSIX.1 features except with
    this defined. */
 #undef _POSIX_1_SOURCE])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_MINIX])
-m4trace:configure.in:384: -1- m4_pattern_allow([^_MINIX$])
-m4trace:configure.in:384: -1- AH_OUTPUT([_MINIX], [/* Define to 1 if on MINIX. */
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([_MINIX])
+m4trace:configure.in:391: -1- m4_pattern_allow([^_MINIX$])
+m4trace:configure.in:391: -1- AH_OUTPUT([_MINIX], [/* Define to 1 if on MINIX. */
 #undef _MINIX])
-m4trace:configure.in:384: -1- AH_OUTPUT([USE_SYSTEM_EXTENSIONS], [/* Enable extensions on AIX 3, Interix.  */
+m4trace:configure.in:391: -1- AH_OUTPUT([__EXTENSIONS__], [/* Enable extensions on AIX 3, Interix.  */
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
@@ -518,219 +525,211 @@ m4trace:configure.in:384: -1- AH_OUTPUT([USE_SYSTEM_EXTENSIONS], [/* Enable exte
 # undef __EXTENSIONS__
 #endif
 ])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([__EXTENSIONS__])
-m4trace:configure.in:384: -1- m4_pattern_allow([^__EXTENSIONS__$])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_ALL_SOURCE])
-m4trace:configure.in:384: -1- m4_pattern_allow([^_ALL_SOURCE$])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
-m4trace:configure.in:384: -1- m4_pattern_allow([^_GNU_SOURCE$])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_PTHREAD_SEMANTICS])
-m4trace:configure.in:384: -1- m4_pattern_allow([^_POSIX_PTHREAD_SEMANTICS$])
-m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_TANDEM_SOURCE])
-m4trace:configure.in:384: -1- m4_pattern_allow([^_TANDEM_SOURCE$])
-m4trace:configure.in:386: -1- AC_DEFINE_TRACE_LITERAL([_FILE_OFFSET_BITS])
-m4trace:configure.in:386: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
-m4trace:configure.in:386: -1- AH_OUTPUT([_FILE_OFFSET_BITS], [/* Number of bits in a file offset, on hosts where this is settable. */
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([__EXTENSIONS__])
+m4trace:configure.in:391: -1- m4_pattern_allow([^__EXTENSIONS__$])
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([_ALL_SOURCE])
+m4trace:configure.in:391: -1- m4_pattern_allow([^_ALL_SOURCE$])
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
+m4trace:configure.in:391: -1- m4_pattern_allow([^_GNU_SOURCE$])
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_PTHREAD_SEMANTICS])
+m4trace:configure.in:391: -1- m4_pattern_allow([^_POSIX_PTHREAD_SEMANTICS$])
+m4trace:configure.in:391: -1- AC_DEFINE_TRACE_LITERAL([_TANDEM_SOURCE])
+m4trace:configure.in:391: -1- m4_pattern_allow([^_TANDEM_SOURCE$])
+m4trace:configure.in:393: -1- AC_DEFINE_TRACE_LITERAL([_FILE_OFFSET_BITS])
+m4trace:configure.in:393: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
+m4trace:configure.in:393: -1- AH_OUTPUT([_FILE_OFFSET_BITS], [/* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS])
-m4trace:configure.in:386: -1- AC_DEFINE_TRACE_LITERAL([_LARGE_FILES])
-m4trace:configure.in:386: -1- m4_pattern_allow([^_LARGE_FILES$])
-m4trace:configure.in:386: -1- AH_OUTPUT([_LARGE_FILES], [/* Define for large files, on AIX-style hosts. */
+m4trace:configure.in:393: -1- AC_DEFINE_TRACE_LITERAL([_LARGE_FILES])
+m4trace:configure.in:393: -1- m4_pattern_allow([^_LARGE_FILES$])
+m4trace:configure.in:393: -1- AH_OUTPUT([_LARGE_FILES], [/* Define for large files, on AIX-style hosts. */
 #undef _LARGE_FILES])
-m4trace:configure.in:423: -1- AC_SUBST([CROSS_COMPILE])
-m4trace:configure.in:423: -1- AC_SUBST_TRACE([CROSS_COMPILE])
-m4trace:configure.in:423: -1- m4_pattern_allow([^CROSS_COMPILE$])
-m4trace:configure.in:425: -1- AC_SUBST([SIGNAMES_H])
-m4trace:configure.in:425: -1- AC_SUBST_TRACE([SIGNAMES_H])
-m4trace:configure.in:425: -1- m4_pattern_allow([^SIGNAMES_H$])
-m4trace:configure.in:426: -1- AC_SUBST([SIGNAMES_O])
-m4trace:configure.in:426: -1- AC_SUBST_TRACE([SIGNAMES_O])
-m4trace:configure.in:426: -1- m4_pattern_allow([^SIGNAMES_O$])
-m4trace:configure.in:435: -1- AC_SUBST([CC_FOR_BUILD])
-m4trace:configure.in:435: -1- AC_SUBST_TRACE([CC_FOR_BUILD])
-m4trace:configure.in:435: -1- m4_pattern_allow([^CC_FOR_BUILD$])
-m4trace:configure.in:458: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
+m4trace:configure.in:430: -1- AC_SUBST([CROSS_COMPILE])
+m4trace:configure.in:430: -1- AC_SUBST_TRACE([CROSS_COMPILE])
+m4trace:configure.in:430: -1- m4_pattern_allow([^CROSS_COMPILE$])
+m4trace:configure.in:432: -1- AC_SUBST([SIGNAMES_H])
+m4trace:configure.in:432: -1- AC_SUBST_TRACE([SIGNAMES_H])
+m4trace:configure.in:432: -1- m4_pattern_allow([^SIGNAMES_H$])
+m4trace:configure.in:433: -1- AC_SUBST([SIGNAMES_O])
+m4trace:configure.in:433: -1- AC_SUBST_TRACE([SIGNAMES_O])
+m4trace:configure.in:433: -1- m4_pattern_allow([^SIGNAMES_O$])
+m4trace:configure.in:442: -1- AC_SUBST([CC_FOR_BUILD])
+m4trace:configure.in:442: -1- AC_SUBST_TRACE([CC_FOR_BUILD])
+m4trace:configure.in:442: -1- m4_pattern_allow([^CC_FOR_BUILD$])
+m4trace:configure.in:465: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/c.m4:538: ac_cv_prog_gcc is expanded from...
-configure.in:458: the top level])
-m4trace:configure.in:477: -1- AC_SUBST([CFLAGS])
-m4trace:configure.in:477: -1- AC_SUBST_TRACE([CFLAGS])
-m4trace:configure.in:477: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:478: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:478: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:478: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:479: -1- AC_SUBST([LDFLAGS])
-m4trace:configure.in:479: -1- AC_SUBST_TRACE([LDFLAGS])
-m4trace:configure.in:479: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:480: -1- AC_SUBST([STATIC_LD])
-m4trace:configure.in:480: -1- AC_SUBST_TRACE([STATIC_LD])
-m4trace:configure.in:480: -1- m4_pattern_allow([^STATIC_LD$])
-m4trace:configure.in:482: -1- AC_SUBST([CFLAGS_FOR_BUILD])
-m4trace:configure.in:482: -1- AC_SUBST_TRACE([CFLAGS_FOR_BUILD])
-m4trace:configure.in:482: -1- m4_pattern_allow([^CFLAGS_FOR_BUILD$])
-m4trace:configure.in:483: -1- AC_SUBST([CPPFLAGS_FOR_BUILD])
-m4trace:configure.in:483: -1- AC_SUBST_TRACE([CPPFLAGS_FOR_BUILD])
-m4trace:configure.in:483: -1- m4_pattern_allow([^CPPFLAGS_FOR_BUILD$])
-m4trace:configure.in:484: -1- AC_SUBST([LDFLAGS_FOR_BUILD])
-m4trace:configure.in:484: -1- AC_SUBST_TRACE([LDFLAGS_FOR_BUILD])
-m4trace:configure.in:484: -1- m4_pattern_allow([^LDFLAGS_FOR_BUILD$])
-m4trace:configure.in:498: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:465: the top level])
+m4trace:configure.in:484: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:484: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:484: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:485: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:485: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:485: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:486: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:486: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:486: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:487: -1- AC_SUBST([STATIC_LD])
+m4trace:configure.in:487: -1- AC_SUBST_TRACE([STATIC_LD])
+m4trace:configure.in:487: -1- m4_pattern_allow([^STATIC_LD$])
+m4trace:configure.in:489: -1- AC_SUBST([CFLAGS_FOR_BUILD])
+m4trace:configure.in:489: -1- AC_SUBST_TRACE([CFLAGS_FOR_BUILD])
+m4trace:configure.in:489: -1- m4_pattern_allow([^CFLAGS_FOR_BUILD$])
+m4trace:configure.in:490: -1- AC_SUBST([CPPFLAGS_FOR_BUILD])
+m4trace:configure.in:490: -1- AC_SUBST_TRACE([CPPFLAGS_FOR_BUILD])
+m4trace:configure.in:490: -1- m4_pattern_allow([^CPPFLAGS_FOR_BUILD$])
+m4trace:configure.in:491: -1- AC_SUBST([LDFLAGS_FOR_BUILD])
+m4trace:configure.in:491: -1- AC_SUBST_TRACE([LDFLAGS_FOR_BUILD])
+m4trace:configure.in:491: -1- m4_pattern_allow([^LDFLAGS_FOR_BUILD$])
+m4trace:configure.in:505: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1769: RL_LIB_READLINE_VERSION is expanded from...
-configure.in:498: the top level])
-m4trace:configure.in:498: -1- AC_DEFINE_TRACE_LITERAL([RL_READLINE_VERSION])
-m4trace:configure.in:498: -1- m4_pattern_allow([^RL_READLINE_VERSION$])
-m4trace:configure.in:498: -1- AH_OUTPUT([RL_READLINE_VERSION], [/* encoded version of the installed readline library */
+configure.in:505: the top level])
+m4trace:configure.in:505: -1- AC_DEFINE_TRACE_LITERAL([RL_READLINE_VERSION])
+m4trace:configure.in:505: -1- m4_pattern_allow([^RL_READLINE_VERSION$])
+m4trace:configure.in:505: -1- AH_OUTPUT([RL_READLINE_VERSION], [/* encoded version of the installed readline library */
 #undef RL_READLINE_VERSION])
-m4trace:configure.in:498: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MAJOR])
-m4trace:configure.in:498: -1- m4_pattern_allow([^RL_VERSION_MAJOR$])
-m4trace:configure.in:498: -1- AH_OUTPUT([RL_VERSION_MAJOR], [/* major version of installed readline library */
+m4trace:configure.in:505: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MAJOR])
+m4trace:configure.in:505: -1- m4_pattern_allow([^RL_VERSION_MAJOR$])
+m4trace:configure.in:505: -1- AH_OUTPUT([RL_VERSION_MAJOR], [/* major version of installed readline library */
 #undef RL_VERSION_MAJOR])
-m4trace:configure.in:498: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MINOR])
-m4trace:configure.in:498: -1- m4_pattern_allow([^RL_VERSION_MINOR$])
-m4trace:configure.in:498: -1- AH_OUTPUT([RL_VERSION_MINOR], [/* minor version of installed readline library */
+m4trace:configure.in:505: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MINOR])
+m4trace:configure.in:505: -1- m4_pattern_allow([^RL_VERSION_MINOR$])
+m4trace:configure.in:505: -1- AH_OUTPUT([RL_VERSION_MINOR], [/* minor version of installed readline library */
 #undef RL_VERSION_MINOR])
-m4trace:configure.in:498: -1- AC_SUBST([RL_VERSION])
-m4trace:configure.in:498: -1- AC_SUBST_TRACE([RL_VERSION])
-m4trace:configure.in:498: -1- m4_pattern_allow([^RL_VERSION$])
-m4trace:configure.in:498: -1- AC_SUBST([RL_MAJOR])
-m4trace:configure.in:498: -1- AC_SUBST_TRACE([RL_MAJOR])
-m4trace:configure.in:498: -1- m4_pattern_allow([^RL_MAJOR$])
-m4trace:configure.in:498: -1- AC_SUBST([RL_MINOR])
-m4trace:configure.in:498: -1- AC_SUBST_TRACE([RL_MINOR])
-m4trace:configure.in:498: -1- m4_pattern_allow([^RL_MINOR$])
-m4trace:configure.in:511: -1- AC_DEFINE_TRACE_LITERAL([READLINE])
-m4trace:configure.in:511: -1- m4_pattern_allow([^READLINE$])
-m4trace:configure.in:546: -1- AC_DEFINE_TRACE_LITERAL([HISTORY])
-m4trace:configure.in:546: -1- m4_pattern_allow([^HISTORY$])
-m4trace:configure.in:549: -1- AC_DEFINE_TRACE_LITERAL([BANG_HISTORY])
-m4trace:configure.in:549: -1- m4_pattern_allow([^BANG_HISTORY$])
-m4trace:configure.in:579: -1- AC_SUBST([READLINE_LIB])
-m4trace:configure.in:579: -1- AC_SUBST_TRACE([READLINE_LIB])
-m4trace:configure.in:579: -1- m4_pattern_allow([^READLINE_LIB$])
-m4trace:configure.in:580: -1- AC_SUBST([READLINE_DEP])
-m4trace:configure.in:580: -1- AC_SUBST_TRACE([READLINE_DEP])
-m4trace:configure.in:580: -1- m4_pattern_allow([^READLINE_DEP$])
-m4trace:configure.in:581: -1- AC_SUBST([RL_LIBDIR])
-m4trace:configure.in:581: -1- AC_SUBST_TRACE([RL_LIBDIR])
-m4trace:configure.in:581: -1- m4_pattern_allow([^RL_LIBDIR$])
-m4trace:configure.in:582: -1- AC_SUBST([RL_INCLUDEDIR])
-m4trace:configure.in:582: -1- AC_SUBST_TRACE([RL_INCLUDEDIR])
-m4trace:configure.in:582: -1- m4_pattern_allow([^RL_INCLUDEDIR$])
-m4trace:configure.in:583: -1- AC_SUBST([RL_INCLUDE])
-m4trace:configure.in:583: -1- AC_SUBST_TRACE([RL_INCLUDE])
-m4trace:configure.in:583: -1- m4_pattern_allow([^RL_INCLUDE$])
-m4trace:configure.in:584: -1- AC_SUBST([HISTORY_LIB])
-m4trace:configure.in:584: -1- AC_SUBST_TRACE([HISTORY_LIB])
-m4trace:configure.in:584: -1- m4_pattern_allow([^HISTORY_LIB$])
-m4trace:configure.in:585: -1- AC_SUBST([HISTORY_DEP])
-m4trace:configure.in:585: -1- AC_SUBST_TRACE([HISTORY_DEP])
-m4trace:configure.in:585: -1- m4_pattern_allow([^HISTORY_DEP$])
-m4trace:configure.in:586: -1- AC_SUBST([HIST_LIBDIR])
-m4trace:configure.in:586: -1- AC_SUBST_TRACE([HIST_LIBDIR])
-m4trace:configure.in:586: -1- m4_pattern_allow([^HIST_LIBDIR$])
-m4trace:configure.in:587: -1- AC_SUBST([TILDE_LIB])
-m4trace:configure.in:587: -1- AC_SUBST_TRACE([TILDE_LIB])
-m4trace:configure.in:587: -1- m4_pattern_allow([^TILDE_LIB$])
-m4trace:configure.in:592: -1- AC_REQUIRE_AUX_FILE([install-sh])
-m4trace:configure.in:592: -1- AC_SUBST([INSTALL_PROGRAM])
-m4trace:configure.in:592: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
-m4trace:configure.in:592: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
-m4trace:configure.in:592: -1- AC_SUBST([INSTALL_SCRIPT])
-m4trace:configure.in:592: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
-m4trace:configure.in:592: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
-m4trace:configure.in:592: -1- AC_SUBST([INSTALL_DATA])
-m4trace:configure.in:592: -1- AC_SUBST_TRACE([INSTALL_DATA])
-m4trace:configure.in:592: -1- m4_pattern_allow([^INSTALL_DATA$])
-m4trace:configure.in:593: -1- AC_SUBST([AR])
-m4trace:configure.in:593: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.in:593: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:597: -1- AC_SUBST([RANLIB])
-m4trace:configure.in:597: -1- AC_SUBST_TRACE([RANLIB])
-m4trace:configure.in:597: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.in:598: -1- AC_SUBST([YACC])
-m4trace:configure.in:598: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.in:598: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.in:598: -1- AC_SUBST([YACC])
-m4trace:configure.in:598: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.in:598: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.in:598: -1- AC_SUBST([YFLAGS])
-m4trace:configure.in:598: -1- AC_SUBST_TRACE([YFLAGS])
-m4trace:configure.in:598: -1- m4_pattern_allow([^YFLAGS$])
-m4trace:configure.in:599: -1- AC_SUBST([SET_MAKE])
-m4trace:configure.in:599: -1- AC_SUBST_TRACE([SET_MAKE])
-m4trace:configure.in:599: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.in:605: -1- AC_SUBST([MAKE_SHELL])
-m4trace:configure.in:605: -1- AC_SUBST_TRACE([MAKE_SHELL])
-m4trace:configure.in:605: -1- m4_pattern_allow([^MAKE_SHELL$])
-m4trace:configure.in:627: -1- AC_SUBST([SIZE])
-m4trace:configure.in:627: -1- AC_SUBST_TRACE([SIZE])
-m4trace:configure.in:627: -1- m4_pattern_allow([^SIZE$])
-m4trace:configure.in:630: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
-m4trace:configure.in:630: -1- m4_pattern_allow([^_GNU_SOURCE$])
-m4trace:configure.in:633: -1- AC_DEFINE_TRACE_LITERAL([const])
-m4trace:configure.in:633: -1- m4_pattern_allow([^const$])
-m4trace:configure.in:633: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
+m4trace:configure.in:505: -1- AC_SUBST([RL_VERSION])
+m4trace:configure.in:505: -1- AC_SUBST_TRACE([RL_VERSION])
+m4trace:configure.in:505: -1- m4_pattern_allow([^RL_VERSION$])
+m4trace:configure.in:505: -1- AC_SUBST([RL_MAJOR])
+m4trace:configure.in:505: -1- AC_SUBST_TRACE([RL_MAJOR])
+m4trace:configure.in:505: -1- m4_pattern_allow([^RL_MAJOR$])
+m4trace:configure.in:505: -1- AC_SUBST([RL_MINOR])
+m4trace:configure.in:505: -1- AC_SUBST_TRACE([RL_MINOR])
+m4trace:configure.in:505: -1- m4_pattern_allow([^RL_MINOR$])
+m4trace:configure.in:518: -1- AC_DEFINE_TRACE_LITERAL([READLINE])
+m4trace:configure.in:518: -1- m4_pattern_allow([^READLINE$])
+m4trace:configure.in:553: -1- AC_DEFINE_TRACE_LITERAL([HISTORY])
+m4trace:configure.in:553: -1- m4_pattern_allow([^HISTORY$])
+m4trace:configure.in:556: -1- AC_DEFINE_TRACE_LITERAL([BANG_HISTORY])
+m4trace:configure.in:556: -1- m4_pattern_allow([^BANG_HISTORY$])
+m4trace:configure.in:586: -1- AC_SUBST([READLINE_LIB])
+m4trace:configure.in:586: -1- AC_SUBST_TRACE([READLINE_LIB])
+m4trace:configure.in:586: -1- m4_pattern_allow([^READLINE_LIB$])
+m4trace:configure.in:587: -1- AC_SUBST([READLINE_DEP])
+m4trace:configure.in:587: -1- AC_SUBST_TRACE([READLINE_DEP])
+m4trace:configure.in:587: -1- m4_pattern_allow([^READLINE_DEP$])
+m4trace:configure.in:588: -1- AC_SUBST([RL_LIBDIR])
+m4trace:configure.in:588: -1- AC_SUBST_TRACE([RL_LIBDIR])
+m4trace:configure.in:588: -1- m4_pattern_allow([^RL_LIBDIR$])
+m4trace:configure.in:589: -1- AC_SUBST([RL_INCLUDEDIR])
+m4trace:configure.in:589: -1- AC_SUBST_TRACE([RL_INCLUDEDIR])
+m4trace:configure.in:589: -1- m4_pattern_allow([^RL_INCLUDEDIR$])
+m4trace:configure.in:590: -1- AC_SUBST([RL_INCLUDE])
+m4trace:configure.in:590: -1- AC_SUBST_TRACE([RL_INCLUDE])
+m4trace:configure.in:590: -1- m4_pattern_allow([^RL_INCLUDE$])
+m4trace:configure.in:591: -1- AC_SUBST([HISTORY_LIB])
+m4trace:configure.in:591: -1- AC_SUBST_TRACE([HISTORY_LIB])
+m4trace:configure.in:591: -1- m4_pattern_allow([^HISTORY_LIB$])
+m4trace:configure.in:592: -1- AC_SUBST([HISTORY_DEP])
+m4trace:configure.in:592: -1- AC_SUBST_TRACE([HISTORY_DEP])
+m4trace:configure.in:592: -1- m4_pattern_allow([^HISTORY_DEP$])
+m4trace:configure.in:593: -1- AC_SUBST([HIST_LIBDIR])
+m4trace:configure.in:593: -1- AC_SUBST_TRACE([HIST_LIBDIR])
+m4trace:configure.in:593: -1- m4_pattern_allow([^HIST_LIBDIR$])
+m4trace:configure.in:594: -1- AC_SUBST([TILDE_LIB])
+m4trace:configure.in:594: -1- AC_SUBST_TRACE([TILDE_LIB])
+m4trace:configure.in:594: -1- m4_pattern_allow([^TILDE_LIB$])
+m4trace:configure.in:599: -1- AC_REQUIRE_AUX_FILE([install-sh])
+m4trace:configure.in:599: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.in:599: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
+m4trace:configure.in:599: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
+m4trace:configure.in:599: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.in:599: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
+m4trace:configure.in:599: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
+m4trace:configure.in:599: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.in:599: -1- AC_SUBST_TRACE([INSTALL_DATA])
+m4trace:configure.in:599: -1- m4_pattern_allow([^INSTALL_DATA$])
+m4trace:configure.in:600: -1- AC_SUBST([AR])
+m4trace:configure.in:600: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:600: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:604: -1- AC_SUBST([RANLIB])
+m4trace:configure.in:604: -1- AC_SUBST_TRACE([RANLIB])
+m4trace:configure.in:604: -1- m4_pattern_allow([^RANLIB$])
+m4trace:configure.in:605: -1- AC_SUBST([YACC])
+m4trace:configure.in:605: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:605: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:605: -1- AC_SUBST([YACC])
+m4trace:configure.in:605: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:605: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:605: -1- AC_SUBST([YFLAGS])
+m4trace:configure.in:605: -1- AC_SUBST_TRACE([YFLAGS])
+m4trace:configure.in:605: -1- m4_pattern_allow([^YFLAGS$])
+m4trace:configure.in:606: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.in:606: -1- AC_SUBST_TRACE([SET_MAKE])
+m4trace:configure.in:606: -1- m4_pattern_allow([^SET_MAKE$])
+m4trace:configure.in:612: -1- AC_SUBST([MAKE_SHELL])
+m4trace:configure.in:612: -1- AC_SUBST_TRACE([MAKE_SHELL])
+m4trace:configure.in:612: -1- m4_pattern_allow([^MAKE_SHELL$])
+m4trace:configure.in:634: -1- AC_SUBST([SIZE])
+m4trace:configure.in:634: -1- AC_SUBST_TRACE([SIZE])
+m4trace:configure.in:634: -1- m4_pattern_allow([^SIZE$])
+m4trace:configure.in:637: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
+m4trace:configure.in:637: -1- m4_pattern_allow([^_GNU_SOURCE$])
+m4trace:configure.in:640: -1- AC_DEFINE_TRACE_LITERAL([const])
+m4trace:configure.in:640: -1- m4_pattern_allow([^const$])
+m4trace:configure.in:640: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
 #undef const])
-m4trace:configure.in:634: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
+m4trace:configure.in:641: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
    calls it, or to nothing if \'inline\' is not supported under any name.  */
 #ifndef __cplusplus
 #undef inline
 #endif])
-m4trace:configure.in:635: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
+m4trace:configure.in:642: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel and VAX). */
+#if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+#elif ! defined __LITTLE_ENDIAN__
+# undef WORDS_BIGENDIAN
 #endif])
-m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
-m4trace:configure.in:635: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
-m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.in:635: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
-m4trace:configure.in:635: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.in:636: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRINGIZE])
-m4trace:configure.in:636: -1- m4_pattern_allow([^HAVE_STRINGIZE$])
-m4trace:configure.in:636: -1- AH_OUTPUT([HAVE_STRINGIZE], [/* Define to 1 if cpp supports the ANSI @%:@ stringizing operator. */
+m4trace:configure.in:642: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
+m4trace:configure.in:642: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
+m4trace:configure.in:643: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRINGIZE])
+m4trace:configure.in:643: -1- m4_pattern_allow([^HAVE_STRINGIZE$])
+m4trace:configure.in:643: -1- AH_OUTPUT([HAVE_STRINGIZE], [/* Define to 1 if cpp supports the ANSI @%:@ stringizing operator. */
 #undef HAVE_STRINGIZE])
-m4trace:configure.in:637: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete.
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete.
 You should run autoupdate.], [../../lib/autoconf/types.m4:455: AC_C_LONG_DOUBLE is expanded from...
-configure.in:637: the top level])
-m4trace:configure.in:637: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER])
-m4trace:configure.in:637: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$])
-m4trace:configure.in:637: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision
    than `double\'. */
 #undef HAVE_LONG_DOUBLE_WIDER])
-m4trace:configure.in:637: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE])
-m4trace:configure.in:637: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$])
-m4trace:configure.in:637: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision
    than `double\'. */
 #undef HAVE_LONG_DOUBLE])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
-m4trace:configure.in:638: -1- m4_pattern_allow([^PROTOTYPES$])
-m4trace:configure.in:638: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
+m4trace:configure.in:645: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
+m4trace:configure.in:645: -1- m4_pattern_allow([^PROTOTYPES$])
+m4trace:configure.in:645: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
 #undef PROTOTYPES])
-m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
-m4trace:configure.in:638: -1- m4_pattern_allow([^__PROTOTYPES$])
-m4trace:configure.in:638: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
+m4trace:configure.in:645: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
+m4trace:configure.in:645: -1- m4_pattern_allow([^__PROTOTYPES$])
+m4trace:configure.in:645: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
 #undef __PROTOTYPES])
-m4trace:configure.in:639: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc.  */
+m4trace:configure.in:646: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc.  */
 #ifndef __CHAR_UNSIGNED__
 # undef __CHAR_UNSIGNED__
 #endif])
-m4trace:configure.in:639: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
-m4trace:configure.in:639: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
-m4trace:configure.in:640: -1- AC_DEFINE_TRACE_LITERAL([volatile])
-m4trace:configure.in:640: -1- m4_pattern_allow([^volatile$])
-m4trace:configure.in:640: -1- AH_OUTPUT([volatile], [/* Define to empty if the keyword `volatile\' does not work. Warning: valid
+m4trace:configure.in:646: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
+m4trace:configure.in:646: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
+m4trace:configure.in:647: -1- AC_DEFINE_TRACE_LITERAL([volatile])
+m4trace:configure.in:647: -1- m4_pattern_allow([^volatile$])
+m4trace:configure.in:647: -1- AH_OUTPUT([volatile], [/* Define to empty if the keyword `volatile\' does not work. Warning: valid
    code using `volatile\' can become incorrect without. Disable with care. */
 #undef volatile])
-m4trace:configure.in:641: -1- AH_OUTPUT([restrict], [/* Define to the equivalent of the C99 \'restrict\' keyword, or to
+m4trace:configure.in:648: -1- AH_OUTPUT([restrict], [/* Define to the equivalent of the C99 \'restrict\' keyword, or to
    nothing if this is not supported.  Do not define if restrict is
    supported directly.  */
 #undef restrict
@@ -742,1788 +741,1786 @@ m4trace:configure.in:641: -1- AH_OUTPUT([restrict], [/* Define to the equivalent
 #if defined __SUNPRO_CC && !defined __RESTRICT
 # define _Restrict
 #endif])
-m4trace:configure.in:641: -1- AC_DEFINE_TRACE_LITERAL([restrict])
-m4trace:configure.in:641: -1- m4_pattern_allow([^restrict$])
-m4trace:configure.in:641: -1- AC_DEFINE_TRACE_LITERAL([restrict])
-m4trace:configure.in:641: -1- m4_pattern_allow([^restrict$])
-m4trace:configure.in:644: -1- AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
-m4trace:configure.in:644: -1- AC_SUBST([MKINSTALLDIRS])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
-m4trace:configure.in:644: -1- m4_pattern_allow([^MKINSTALLDIRS$])
-m4trace:configure.in:644: -1- AC_SUBST([USE_NLS])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.in:644: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:644: -1- AC_SUBST([MSGFMT])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([MSGFMT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^MSGFMT$])
-m4trace:configure.in:644: -1- AC_SUBST([GMSGFMT])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([GMSGFMT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^GMSGFMT$])
-m4trace:configure.in:644: -1- AC_SUBST([XGETTEXT])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([XGETTEXT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^XGETTEXT$])
-m4trace:configure.in:644: -1- AC_SUBST([MSGMERGE])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([MSGMERGE])
-m4trace:configure.in:644: -1- m4_pattern_allow([^MSGMERGE$])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/status.m4:1022: AC_OUTPUT_COMMANDS is expanded from...
+m4trace:configure.in:648: -1- AC_DEFINE_TRACE_LITERAL([restrict])
+m4trace:configure.in:648: -1- m4_pattern_allow([^restrict$])
+m4trace:configure.in:648: -1- AC_DEFINE_TRACE_LITERAL([restrict])
+m4trace:configure.in:648: -1- m4_pattern_allow([^restrict$])
+m4trace:configure.in:651: -1- AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+m4trace:configure.in:651: -1- AC_SUBST([MKINSTALLDIRS])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
+m4trace:configure.in:651: -1- m4_pattern_allow([^MKINSTALLDIRS$])
+m4trace:configure.in:651: -1- AC_SUBST([USE_NLS])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.in:651: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.in:651: -1- AC_SUBST([MSGFMT])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([MSGFMT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^MSGFMT$])
+m4trace:configure.in:651: -1- AC_SUBST([GMSGFMT])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([GMSGFMT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^GMSGFMT$])
+m4trace:configure.in:651: -1- AC_SUBST([XGETTEXT])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([XGETTEXT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^XGETTEXT$])
+m4trace:configure.in:651: -1- AC_SUBST([MSGMERGE])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([MSGMERGE])
+m4trace:configure.in:651: -1- m4_pattern_allow([^MSGMERGE$])
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/status.m4:1021: AC_OUTPUT_COMMANDS is expanded from...
 aclocal.m4:3670: AM_PO_SUBDIRS is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([off_t])
-m4trace:configure.in:644: -1- m4_pattern_allow([^off_t$])
-m4trace:configure.in:644: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.in:651: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.in:651: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
 #undef off_t])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.in:644: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:644: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.in:651: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.in:651: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef size_t])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
    */
 #undef HAVE_ALLOCA_H])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
 #undef HAVE_ALLOCA])
-m4trace:configure.in:644: -1- AC_LIBSOURCE([alloca.c])
-m4trace:configure.in:644: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([ALLOCA])
-m4trace:configure.in:644: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
-m4trace:configure.in:644: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.in:644: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+m4trace:configure.in:651: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.in:651: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.in:651: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.in:651: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.in:651: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
 #undef C_ALLOCA])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
-m4trace:configure.in:644: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.in:644: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.in:651: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.in:651: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c\' support on those systems.
    */
 #undef CRAY_STACKSEG_END])
-m4trace:configure.in:644: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+m4trace:configure.in:651: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
        STACK_DIRECTION > 0 => grows toward higher addresses
        STACK_DIRECTION < 0 => grows toward lower addresses
        STACK_DIRECTION = 0 => direction of growth unknown */
 @%:@undef STACK_DIRECTION])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
-m4trace:configure.in:644: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.in:651: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 #undef HAVE_GETPAGESIZE])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_MMAP$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
 #undef HAVE_MMAP])
-m4trace:configure.in:644: -1- AC_SUBST([GLIBC21])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([GLIBC21])
-m4trace:configure.in:644: -1- m4_pattern_allow([^GLIBC21$])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- AC_SUBST([GLIBC21])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([GLIBC21])
+m4trace:configure.in:651: -1- m4_pattern_allow([^GLIBC21$])
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2576: gt_INTDIV0 is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE])
-m4trace:configure.in:644: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$])
-m4trace:configure.in:644: -1- AH_OUTPUT([INTDIV0_RAISES_SIGFPE], [/* Define if integer division by zero raises signal SIGFPE. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE])
+m4trace:configure.in:651: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$])
+m4trace:configure.in:651: -1- AH_OUTPUT([INTDIV0_RAISES_SIGFPE], [/* Define if integer division by zero raises signal SIGFPE. */
 #undef INTDIV0_RAISES_SIGFPE])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2678: jm_AC_HEADER_INTTYPES_H is expanded from...
 aclocal.m4:3979: jm_AC_TYPE_UINTMAX_T is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_INTTYPES_H_WITH_UINTMAX], [/* Define if <inttypes.h> exists, doesn\'t clash with <sys/types.h>, and
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_INTTYPES_H_WITH_UINTMAX], [/* Define if <inttypes.h> exists, doesn\'t clash with <sys/types.h>, and
    declares uintmax_t. */
 #undef HAVE_INTTYPES_H_WITH_UINTMAX])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:3949: jm_AC_HEADER_STDINT_H is expanded from...
 aclocal.m4:3979: jm_AC_TYPE_UINTMAX_T is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDINT_H_WITH_UINTMAX], [/* Define if <stdint.h> exists, doesn\'t clash with <sys/types.h>, and declares
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STDINT_H_WITH_UINTMAX], [/* Define if <stdint.h> exists, doesn\'t clash with <sys/types.h>, and declares
    uintmax_t. */
 #undef HAVE_STDINT_H_WITH_UINTMAX])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:4006: jm_AC_TYPE_UNSIGNED_LONG_LONG is expanded from...
 aclocal.m4:3979: jm_AC_TYPE_UINTMAX_T is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UNSIGNED_LONG_LONG], [/* Define if you have the unsigned long long type. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_UNSIGNED_LONG_LONG], [/* Define if you have the unsigned long long type. */
 #undef HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.in:644: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.in:644: -1- AH_OUTPUT([uintmax_t], [/* Define to unsigned long or unsigned long long if <stdint.h> and
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.in:651: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.in:651: -1- AH_OUTPUT([uintmax_t], [/* Define to unsigned long or unsigned long long if <stdint.h> and
    <inttypes.h> don\'t define. */
 #undef uintmax_t])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UINTMAX_T])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_UINTMAX_T$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UINTMAX_T], [/* Define if you have the \'uintmax_t\' type in <stdint.h> or <inttypes.h>. */
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UINTMAX_T])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_UINTMAX_T$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_UINTMAX_T], [/* Define if you have the \'uintmax_t\' type in <stdint.h> or <inttypes.h>. */
 #undef HAVE_UINTMAX_T])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2651: gt_HEADER_INTTYPES_H is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if <inttypes.h> exists and doesn\'t clash with <sys/types.h>. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if <inttypes.h> exists and doesn\'t clash with <sys/types.h>. */
 #undef HAVE_INTTYPES_H])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2706: gt_INTTYPES_PRI is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN])
-m4trace:configure.in:644: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$])
-m4trace:configure.in:644: -1- AH_OUTPUT([PRI_MACROS_BROKEN], [/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN])
+m4trace:configure.in:651: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$])
+m4trace:configure.in:651: -1- AH_OUTPUT([PRI_MACROS_BROKEN], [/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
 #undef PRI_MACROS_BROKEN])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
 #undef HAVE_ARGZ_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
 #undef HAVE_LIMITS_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_NL_TYPES_H], [/* Define to 1 if you have the <nl_types.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_NL_TYPES_H], [/* Define to 1 if you have the <nl_types.h> header file. */
 #undef HAVE_NL_TYPES_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 #undef HAVE_MALLOC_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
 #undef HAVE_STDDEF_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.in:651: -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.in:644: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
 #undef HAVE_FEOF_UNLOCKED])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
 #undef HAVE_FGETS_UNLOCKED])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
 #undef HAVE_GETC_UNLOCKED])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
 #undef HAVE_GETCWD])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETEGID], [/* Define to 1 if you have the `getegid\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETEGID], [/* Define to 1 if you have the `getegid\' function. */
 #undef HAVE_GETEGID])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
 #undef HAVE_GETEUID])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETGID], [/* Define to 1 if you have the `getgid\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETGID], [/* Define to 1 if you have the `getgid\' function. */
 #undef HAVE_GETGID])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
 #undef HAVE_GETUID])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
 #undef HAVE_MEMPCPY])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
 #undef HAVE_MUNMAP])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
 #undef HAVE_PUTENV])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
 #undef HAVE_SETENV])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
 #undef HAVE_SETLOCALE])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LOCALECONV], [/* Define to 1 if you have the `localeconv\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_LOCALECONV], [/* Define to 1 if you have the `localeconv\' function. */
 #undef HAVE_LOCALECONV])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
 #undef HAVE_STPCPY])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
 #undef HAVE_STRCASECMP])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
 #undef HAVE_STRDUP])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
 #undef HAVE_STRTOUL])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_TSEARCH], [/* Define to 1 if you have the `tsearch\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_TSEARCH], [/* Define to 1 if you have the `tsearch\' function. */
 #undef HAVE_TSEARCH])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
 #undef HAVE___ARGZ_COUNT])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
 #undef HAVE___ARGZ_STRINGIFY])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
 #undef HAVE___ARGZ_NEXT])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___FSETLOCKING], [/* Define to 1 if you have the `__fsetlocking\' function. */
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE___FSETLOCKING], [/* Define to 1 if you have the `__fsetlocking\' function. */
 #undef HAVE___FSETLOCKING])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2484: AM_ICONV_LINK is expanded from...
 aclocal.m4:2539: AM_ICONV is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2484: AM_ICONV_LINK is expanded from...
 aclocal.m4:2539: AM_ICONV is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_ICONV$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_ICONV$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
 #undef HAVE_ICONV])
-m4trace:configure.in:644: -1- AC_SUBST([LIBICONV])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([LIBICONV])
-m4trace:configure.in:644: -1- m4_pattern_allow([^LIBICONV$])
-m4trace:configure.in:644: -1- AC_SUBST([LTLIBICONV])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([LTLIBICONV])
-m4trace:configure.in:644: -1- m4_pattern_allow([^LTLIBICONV$])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+m4trace:configure.in:651: -1- AC_SUBST([LIBICONV])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([LIBICONV])
+m4trace:configure.in:651: -1- m4_pattern_allow([^LIBICONV$])
+m4trace:configure.in:651: -1- AC_SUBST([LTLIBICONV])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([LTLIBICONV])
+m4trace:configure.in:651: -1- m4_pattern_allow([^LTLIBICONV$])
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:2539: AM_ICONV is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
-m4trace:configure.in:644: -1- m4_pattern_allow([^ICONV_CONST$])
-m4trace:configure.in:644: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
+m4trace:configure.in:651: -1- m4_pattern_allow([^ICONV_CONST$])
+m4trace:configure.in:651: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
 #undef ICONV_CONST])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2003: AM_LANGINFO_CODESET is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2773: AM_LC_MESSAGES is expanded from...
 aclocal.m4:2362: AM_INTL_SUBDIR is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
 #undef HAVE_LC_MESSAGES])
-m4trace:configure.in:644: -1- AC_SUBST([INTLBISON])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTLBISON])
-m4trace:configure.in:644: -1- m4_pattern_allow([^INTLBISON$])
-m4trace:configure.in:644: -1- AC_SUBST([USE_NLS])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.in:644: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:651: -1- AC_SUBST([INTLBISON])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([INTLBISON])
+m4trace:configure.in:651: -1- m4_pattern_allow([^INTLBISON$])
+m4trace:configure.in:651: -1- AC_SUBST([USE_NLS])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.in:651: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:2074: AM_GNU_GETTEXT is expanded from...
-configure.in:644: the top level])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
-m4trace:configure.in:644: -1- m4_pattern_allow([^ENABLE_NLS$])
-m4trace:configure.in:644: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
+configure.in:651: the top level])
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
+m4trace:configure.in:651: -1- m4_pattern_allow([^ENABLE_NLS$])
+m4trace:configure.in:651: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
    language is requested. */
 #undef ENABLE_NLS])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_GETTEXT$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_GETTEXT$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
 #undef HAVE_GETTEXT])
-m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
-m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
+m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
+m4trace:configure.in:651: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
    */
 #undef HAVE_DCGETTEXT])
-m4trace:configure.in:644: -1- AC_SUBST([BUILD_INCLUDED_LIBINTL])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([BUILD_INCLUDED_LIBINTL])
-m4trace:configure.in:644: -1- m4_pattern_allow([^BUILD_INCLUDED_LIBINTL$])
-m4trace:configure.in:644: -1- AC_SUBST([USE_INCLUDED_LIBINTL])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([USE_INCLUDED_LIBINTL])
-m4trace:configure.in:644: -1- m4_pattern_allow([^USE_INCLUDED_LIBINTL$])
-m4trace:configure.in:644: -1- AC_SUBST([CATOBJEXT])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([CATOBJEXT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^CATOBJEXT$])
-m4trace:configure.in:644: -1- AC_SUBST([DATADIRNAME])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([DATADIRNAME])
-m4trace:configure.in:644: -1- m4_pattern_allow([^DATADIRNAME$])
-m4trace:configure.in:644: -1- AC_SUBST([INSTOBJEXT])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([INSTOBJEXT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^INSTOBJEXT$])
-m4trace:configure.in:644: -1- AC_SUBST([GENCAT])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([GENCAT])
-m4trace:configure.in:644: -1- m4_pattern_allow([^GENCAT$])
-m4trace:configure.in:644: -1- AC_SUBST([INTLOBJS])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTLOBJS])
-m4trace:configure.in:644: -1- m4_pattern_allow([^INTLOBJS$])
-m4trace:configure.in:644: -1- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTL_LIBTOOL_SUFFIX_PREFIX])
-m4trace:configure.in:644: -1- m4_pattern_allow([^INTL_LIBTOOL_SUFFIX_PREFIX$])
-m4trace:configure.in:644: -1- AC_SUBST([INTLLIBS])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTLLIBS])
-m4trace:configure.in:644: -1- m4_pattern_allow([^INTLLIBS$])
-m4trace:configure.in:644: -1- AC_SUBST([LIBINTL])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([LIBINTL])
-m4trace:configure.in:644: -1- m4_pattern_allow([^LIBINTL$])
-m4trace:configure.in:644: -1- AC_SUBST([LTLIBINTL])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([LTLIBINTL])
-m4trace:configure.in:644: -1- m4_pattern_allow([^LTLIBINTL$])
-m4trace:configure.in:644: -1- AC_SUBST([POSUB])
-m4trace:configure.in:644: -1- AC_SUBST_TRACE([POSUB])
-m4trace:configure.in:644: -1- m4_pattern_allow([^POSUB$])
-m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
+m4trace:configure.in:651: -1- AC_SUBST([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.in:651: -1- m4_pattern_allow([^BUILD_INCLUDED_LIBINTL$])
+m4trace:configure.in:651: -1- AC_SUBST([USE_INCLUDED_LIBINTL])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([USE_INCLUDED_LIBINTL])
+m4trace:configure.in:651: -1- m4_pattern_allow([^USE_INCLUDED_LIBINTL$])
+m4trace:configure.in:651: -1- AC_SUBST([CATOBJEXT])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([CATOBJEXT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^CATOBJEXT$])
+m4trace:configure.in:651: -1- AC_SUBST([DATADIRNAME])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([DATADIRNAME])
+m4trace:configure.in:651: -1- m4_pattern_allow([^DATADIRNAME$])
+m4trace:configure.in:651: -1- AC_SUBST([INSTOBJEXT])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([INSTOBJEXT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^INSTOBJEXT$])
+m4trace:configure.in:651: -1- AC_SUBST([GENCAT])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([GENCAT])
+m4trace:configure.in:651: -1- m4_pattern_allow([^GENCAT$])
+m4trace:configure.in:651: -1- AC_SUBST([INTLOBJS])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([INTLOBJS])
+m4trace:configure.in:651: -1- m4_pattern_allow([^INTLOBJS$])
+m4trace:configure.in:651: -1- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.in:651: -1- m4_pattern_allow([^INTL_LIBTOOL_SUFFIX_PREFIX$])
+m4trace:configure.in:651: -1- AC_SUBST([INTLLIBS])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([INTLLIBS])
+m4trace:configure.in:651: -1- m4_pattern_allow([^INTLLIBS$])
+m4trace:configure.in:651: -1- AC_SUBST([LIBINTL])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([LIBINTL])
+m4trace:configure.in:651: -1- m4_pattern_allow([^LIBINTL$])
+m4trace:configure.in:651: -1- AC_SUBST([LTLIBINTL])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([LTLIBINTL])
+m4trace:configure.in:651: -1- m4_pattern_allow([^LTLIBINTL$])
+m4trace:configure.in:651: -1- AC_SUBST([POSUB])
+m4trace:configure.in:651: -1- AC_SUBST_TRACE([POSUB])
+m4trace:configure.in:651: -1- m4_pattern_allow([^POSUB$])
+m4trace:configure.in:654: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
    */
 #undef HAVE_DIRENT_H])
-m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
+m4trace:configure.in:654: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
    */
 #undef HAVE_SYS_NDIR_H])
-m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
+m4trace:configure.in:654: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
    */
 #undef HAVE_SYS_DIR_H])
-m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
+m4trace:configure.in:654: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
 #undef HAVE_NDIR_H])
-m4trace:configure.in:648: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
-m4trace:configure.in:648: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.in:648: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+m4trace:configure.in:655: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
+m4trace:configure.in:655: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
+m4trace:configure.in:655: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
 #undef TIME_WITH_SYS_TIME])
-m4trace:configure.in:650: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+m4trace:configure.in:657: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
 #undef HAVE_STDARG_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
 #undef HAVE_VARARGS_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
 #undef HAVE_LIMITS_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_TERMCAP_H], [/* Define to 1 if you have the <termcap.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_TERMCAP_H], [/* Define to 1 if you have the <termcap.h> header file. */
 #undef HAVE_TERMCAP_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_TERMIO_H], [/* Define to 1 if you have the <termio.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_TERMIO_H], [/* Define to 1 if you have the <termio.h> header file. */
 #undef HAVE_TERMIO_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
 #undef HAVE_TERMIOS_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
 #undef HAVE_STDDEF_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
 #undef HAVE_NETDB_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
 #undef HAVE_PWD_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_GRP_H], [/* Define to 1 if you have the <grp.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_GRP_H], [/* Define to 1 if you have the <grp.h> header file. */
 #undef HAVE_GRP_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
 #undef HAVE_STRINGS_H])
-m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_REGEX_H], [/* Define to 1 if you have the <regex.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_REGEX_H], [/* Define to 1 if you have the <regex.h> header file. */
 #undef HAVE_REGEX_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_PTE_H], [/* Define to 1 if you have the <sys/pte.h> header file. */
+m4trace:configure.in:659: -1- AH_OUTPUT([HAVE_SYSLOG_H], [/* Define to 1 if you have the <syslog.h> header file. */
+#undef HAVE_SYSLOG_H])
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_PTE_H], [/* Define to 1 if you have the <sys/pte.h> header file. */
 #undef HAVE_SYS_PTE_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_STREAM_H], [/* Define to 1 if you have the <sys/stream.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_STREAM_H], [/* Define to 1 if you have the <sys/stream.h> header file. */
 #undef HAVE_SYS_STREAM_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
 #undef HAVE_SYS_SELECT_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
 #undef HAVE_SYS_FILE_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
 #undef HAVE_SYS_RESOURCE_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.in:663: -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.in:655: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
 #undef HAVE_SYS_SOCKET_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.in:663: -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.in:655: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
 #undef HAVE_SYS_TIMES_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H])
-m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
+m4trace:configure.in:663: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
 #undef HAVE_SYS_WAIT_H])
-m4trace:configure.in:658: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
+m4trace:configure.in:666: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
 #undef HAVE_NETINET_IN_H])
-m4trace:configure.in:658: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
+m4trace:configure.in:666: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H])
-m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
-m4trace:configure.in:669: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.in:669: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+m4trace:configure.in:677: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.in:677: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.in:677: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
    */
 #undef HAVE_ALLOCA_H])
-m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
-m4trace:configure.in:669: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.in:669: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+m4trace:configure.in:677: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.in:677: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.in:677: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
 #undef HAVE_ALLOCA])
-m4trace:configure.in:669: -1- AC_LIBSOURCE([alloca.c])
-m4trace:configure.in:669: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
-m4trace:configure.in:669: -1- AC_SUBST_TRACE([ALLOCA])
-m4trace:configure.in:669: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
-m4trace:configure.in:669: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.in:669: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+m4trace:configure.in:677: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.in:677: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.in:677: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.in:677: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.in:677: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.in:677: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.in:677: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
 #undef C_ALLOCA])
-m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
-m4trace:configure.in:669: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.in:669: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+m4trace:configure.in:677: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.in:677: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.in:677: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c\' support on those systems.
    */
 #undef CRAY_STACKSEG_END])
-m4trace:configure.in:669: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+m4trace:configure.in:677: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
        STACK_DIRECTION > 0 => grows toward higher addresses
        STACK_DIRECTION < 0 => grows toward lower addresses
        STACK_DIRECTION = 0 => direction of growth unknown */
 @%:@undef STACK_DIRECTION])
-m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
-m4trace:configure.in:669: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.in:670: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID])
-m4trace:configure.in:670: -1- m4_pattern_allow([^GETPGRP_VOID$])
-m4trace:configure.in:670: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */
+m4trace:configure.in:677: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.in:677: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.in:678: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID])
+m4trace:configure.in:678: -1- m4_pattern_allow([^GETPGRP_VOID$])
+m4trace:configure.in:678: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */
 #undef GETPGRP_VOID])
-m4trace:configure.in:671: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete.  Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1680: AC_FUNC_SETVBUF_REVERSED is expanded from...
-configure.in:671: the top level])
-m4trace:configure.in:672: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
+m4trace:configure.in:679: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete.  Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1680: AC_FUNC_SETVBUF_REVERSED is expanded from...
+configure.in:679: the top level])
+m4trace:configure.in:680: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
 #undef HAVE_VPRINTF])
-m4trace:configure.in:672: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
-m4trace:configure.in:672: -1- m4_pattern_allow([^HAVE_DOPRNT$])
-m4trace:configure.in:672: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
+m4trace:configure.in:680: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
+m4trace:configure.in:680: -1- m4_pattern_allow([^HAVE_DOPRNT$])
+m4trace:configure.in:680: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
 #undef HAVE_DOPRNT])
-m4trace:configure.in:673: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
-m4trace:configure.in:673: -1- m4_pattern_allow([^HAVE_STRCOLL$])
-m4trace:configure.in:673: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
+m4trace:configure.in:681: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
+m4trace:configure.in:681: -1- m4_pattern_allow([^HAVE_STRCOLL$])
+m4trace:configure.in:681: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
    */
 #undef HAVE_STRCOLL])
-m4trace:configure.in:694: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
-m4trace:configure.in:694: -1- m4_pattern_allow([^HAVE_VPRINTF$])
-m4trace:configure.in:699: -1- AC_LIBSOURCE([vprint.c])
-m4trace:configure.in:699: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"])
-m4trace:configure.in:699: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:699: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:703: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/types.m4:699: AC_TYPE_SIGNAL is expanded from...
-configure.in:703: the top level])
-m4trace:configure.in:703: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.in:703: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.in:703: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+m4trace:configure.in:702: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
+m4trace:configure.in:702: -1- m4_pattern_allow([^HAVE_VPRINTF$])
+m4trace:configure.in:707: -1- AC_LIBSOURCE([vprint.c])
+m4trace:configure.in:707: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"])
+m4trace:configure.in:707: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:707: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:711: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.in:711: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.in:711: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
 #undef RETSIGTYPE])
-m4trace:configure.in:706: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE])
-m4trace:configure.in:706: -2- m4_pattern_allow([^HAVE_SETOSTYPE$])
-m4trace:configure.in:707: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
-m4trace:configure.in:707: -2- m4_pattern_allow([^HAVE_WAIT3$])
-m4trace:configure.in:708: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISINF_IN_LIBC])
-m4trace:configure.in:708: -2- m4_pattern_allow([^HAVE_ISINF_IN_LIBC$])
-m4trace:configure.in:709: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISNAN_IN_LIBC])
-m4trace:configure.in:709: -2- m4_pattern_allow([^HAVE_ISNAN_IN_LIBC$])
-m4trace:configure.in:712: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO])
-m4trace:configure.in:712: -2- m4_pattern_allow([^HAVE_MKFIFO$])
-m4trace:configure.in:712: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING])
-m4trace:configure.in:712: -2- m4_pattern_allow([^MKFIFO_MISSING$])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
+m4trace:configure.in:714: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE])
+m4trace:configure.in:714: -2- m4_pattern_allow([^HAVE_SETOSTYPE$])
+m4trace:configure.in:715: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
+m4trace:configure.in:715: -2- m4_pattern_allow([^HAVE_WAIT3$])
+m4trace:configure.in:716: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISINF_IN_LIBC])
+m4trace:configure.in:716: -2- m4_pattern_allow([^HAVE_ISINF_IN_LIBC$])
+m4trace:configure.in:717: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISNAN_IN_LIBC])
+m4trace:configure.in:717: -2- m4_pattern_allow([^HAVE_ISNAN_IN_LIBC$])
+m4trace:configure.in:720: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO])
+m4trace:configure.in:720: -2- m4_pattern_allow([^HAVE_MKFIFO$])
+m4trace:configure.in:720: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING])
+m4trace:configure.in:720: -2- m4_pattern_allow([^MKFIFO_MISSING$])
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
 #undef HAVE_DUP2])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */
 #undef HAVE_EACCESS])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */
 #undef HAVE_FCNTL])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */
 #undef HAVE_GETDTABLESIZE])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
 #undef HAVE_GETGROUPS])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
 #undef HAVE_GETHOSTNAME])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 #undef HAVE_GETPAGESIZE])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */
 #undef HAVE_GETPEERNAME])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
 #undef HAVE_GETRLIMIT])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
 #undef HAVE_GETRUSAGE])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
 #undef HAVE_GETTIMEOFDAY])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
 #undef HAVE_KILL])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */
 #undef HAVE_KILLPG])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
 #undef HAVE_LSTAT])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
 #undef HAVE_READLINK])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */
 #undef HAVE_SBRK])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
 #undef HAVE_SELECT])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */
 #undef HAVE_SETDTABLESIZE])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */
 #undef HAVE_SETITIMER])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */
 #undef HAVE_TCGETPGRP])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */
 #undef HAVE_UNAME])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */
 #undef HAVE_ULIMIT])
-m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
+m4trace:configure.in:723: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
 #undef HAVE_WAITPID])
-m4trace:configure.in:719: -1- AC_LIBSOURCE([rename.c])
-m4trace:configure.in:719: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */
+m4trace:configure.in:727: -1- AC_LIBSOURCE([rename.c])
+m4trace:configure.in:727: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */
 #undef HAVE_RENAME])
-m4trace:configure.in:719: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:719: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:719: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
+m4trace:configure.in:727: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:727: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:727: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
 #undef HAVE_BCOPY])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */
 #undef HAVE_BZERO])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */
 #undef HAVE_CONFSTR])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */
 #undef HAVE_FNMATCH])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */
 #undef HAVE_GETADDRINFO])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
 #undef HAVE_GETHOSTBYNAME])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */
 #undef HAVE_GETSERVBYNAME])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */
 #undef HAVE_GETSERVENT])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
 #undef HAVE_INET_ATON])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
 #undef HAVE_MEMMOVE])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
 #undef HAVE_PATHCONF])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
 #undef HAVE_PUTENV])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */
 #undef HAVE_RAISE])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
 #undef HAVE_REGCOMP])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */
 #undef HAVE_REGEXEC])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
 #undef HAVE_SETENV])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
 #undef HAVE_SETLINEBUF])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
 #undef HAVE_SETLOCALE])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
 #undef HAVE_SETVBUF])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */
 #undef HAVE_SIGINTERRUPT])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
 #undef HAVE_STRCHR])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
 #undef HAVE_SYSCONF])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_SYSLOG], [/* Define to 1 if you have the `syslog\' function. */
+#undef HAVE_SYSLOG])
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */
 #undef HAVE_TCGETATTR])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
 #undef HAVE_TIMES])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */
 #undef HAVE_TTYNAME])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
 #undef HAVE_TZSET])
-m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */
 #undef HAVE_UNSETENV])
-m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
+m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
 #undef HAVE_VSNPRINTF])
-m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
+m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
 #undef HAVE_SNPRINTF])
-m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */
+m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */
 #undef HAVE_VASPRINTF])
-m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */
+m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */
 #undef HAVE_ASPRINTF])
-m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */
 #undef HAVE_ISASCII])
-m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */
 #undef HAVE_ISBLANK])
-m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */
 #undef HAVE_ISGRAPH])
-m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */
 #undef HAVE_ISPRINT])
-m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */
 #undef HAVE_ISSPACE])
-m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */
 #undef HAVE_ISXDIGIT])
-m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */
+m4trace:configure.in:738: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */
 #undef HAVE_GETPWENT])
-m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
+m4trace:configure.in:738: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
 #undef HAVE_GETPWNAM])
-m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
+m4trace:configure.in:738: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
 #undef HAVE_GETPWUID])
-m4trace:configure.in:731: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.in:731: -1- AC_LIBSOURCE([memset.c])
-m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+m4trace:configure.in:739: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.in:739: -1- AC_LIBSOURCE([memset.c])
+m4trace:configure.in:739: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
 #undef HAVE_GETCWD])
-m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
+m4trace:configure.in:739: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
 #undef HAVE_MEMSET])
-m4trace:configure.in:731: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:731: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:731: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:732: -1- AC_LIBSOURCE([strcasecmp.c])
-m4trace:configure.in:732: -1- AC_LIBSOURCE([strcasestr.c])
-m4trace:configure.in:732: -1- AC_LIBSOURCE([strerror.c])
-m4trace:configure.in:732: -1- AC_LIBSOURCE([strftime.c])
-m4trace:configure.in:732: -1- AC_LIBSOURCE([strnlen.c])
-m4trace:configure.in:732: -1- AC_LIBSOURCE([strpbrk.c])
-m4trace:configure.in:732: -1- AC_LIBSOURCE([strstr.c])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+m4trace:configure.in:739: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:739: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:739: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:740: -1- AC_LIBSOURCE([strcasecmp.c])
+m4trace:configure.in:740: -1- AC_LIBSOURCE([strcasestr.c])
+m4trace:configure.in:740: -1- AC_LIBSOURCE([strerror.c])
+m4trace:configure.in:740: -1- AC_LIBSOURCE([strftime.c])
+m4trace:configure.in:740: -1- AC_LIBSOURCE([strnlen.c])
+m4trace:configure.in:740: -1- AC_LIBSOURCE([strpbrk.c])
+m4trace:configure.in:740: -1- AC_LIBSOURCE([strstr.c])
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
 #undef HAVE_STRCASECMP])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */
 #undef HAVE_STRCASESTR])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
 #undef HAVE_STRERROR])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
 #undef HAVE_STRFTIME])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
 #undef HAVE_STRNLEN])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */
 #undef HAVE_STRPBRK])
-m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
 #undef HAVE_STRSTR])
-m4trace:configure.in:732: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:732: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:732: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:733: -1- AC_LIBSOURCE([strtod.c])
-m4trace:configure.in:733: -1- AC_LIBSOURCE([strtol.c])
-m4trace:configure.in:733: -1- AC_LIBSOURCE([strtoul.c])
-m4trace:configure.in:733: -1- AC_LIBSOURCE([strtoll.c])
-m4trace:configure.in:733: -1- AC_LIBSOURCE([strtoull.c])
-m4trace:configure.in:733: -1- AC_LIBSOURCE([strtoimax.c])
-m4trace:configure.in:733: -1- AC_LIBSOURCE([strtoumax.c])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
+m4trace:configure.in:740: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:740: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:740: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:741: -1- AC_LIBSOURCE([strtod.c])
+m4trace:configure.in:741: -1- AC_LIBSOURCE([strtol.c])
+m4trace:configure.in:741: -1- AC_LIBSOURCE([strtoul.c])
+m4trace:configure.in:741: -1- AC_LIBSOURCE([strtoll.c])
+m4trace:configure.in:741: -1- AC_LIBSOURCE([strtoull.c])
+m4trace:configure.in:741: -1- AC_LIBSOURCE([strtoimax.c])
+m4trace:configure.in:741: -1- AC_LIBSOURCE([strtoumax.c])
+m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
 #undef HAVE_STRTOD])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
+m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
 #undef HAVE_STRTOL])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
 #undef HAVE_STRTOUL])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */
+m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */
 #undef HAVE_STRTOLL])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */
+m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */
 #undef HAVE_STRTOULL])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */
+m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */
 #undef HAVE_STRTOIMAX])
-m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */
+m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */
 #undef HAVE_STRTOUMAX])
-m4trace:configure.in:733: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:733: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:733: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:734: -1- AC_LIBSOURCE([fdprintf.c])
-m4trace:configure.in:734: -1- AH_OUTPUT([HAVE_FDPRINTF], [/* Define to 1 if you have the `fdprintf\' function. */
+m4trace:configure.in:741: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:741: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:741: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:742: -1- AC_LIBSOURCE([fdprintf.c])
+m4trace:configure.in:742: -1- AH_OUTPUT([HAVE_FDPRINTF], [/* Define to 1 if you have the `fdprintf\' function. */
 #undef HAVE_FDPRINTF])
-m4trace:configure.in:734: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:734: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:734: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
-m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
-m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
+m4trace:configure.in:742: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:742: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:742: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:744: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.in:744: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.in:744: -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.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
-m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
-m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
-m4trace:configure.in:737: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
-m4trace:configure.in:737: -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.in:744: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.in:744: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.in:745: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.in:745: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.in:745: -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.in:737: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
-m4trace:configure.in:737: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
-m4trace:configure.in:738: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
-m4trace:configure.in:738: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
-m4trace:configure.in:738: -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.in:745: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.in:745: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.in:746: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.in:746: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.in:746: -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.in:738: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
-m4trace:configure.in:738: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
-m4trace:configure.in:739: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
-m4trace:configure.in:739: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
-m4trace:configure.in:739: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
+m4trace:configure.in:746: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.in:746: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.in:747: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.in:747: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.in:747: -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.in:739: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
-m4trace:configure.in:739: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
-m4trace:configure.in:740: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
-m4trace:configure.in:740: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
-m4trace:configure.in:740: -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.in:747: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.in:747: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.in:748: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.in:748: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.in:748: -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.in:740: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
-m4trace:configure.in:740: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
-m4trace:configure.in:741: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
-m4trace:configure.in:741: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
-m4trace:configure.in:741: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
+m4trace:configure.in:748: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.in:748: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.in:749: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.in:749: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.in:749: -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.in:741: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
-m4trace:configure.in:741: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
-m4trace:configure.in:744: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
-m4trace:configure.in:744: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
-m4trace:configure.in:744: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
+m4trace:configure.in:749: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.in:749: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.in:752: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.in:752: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.in:752: -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.in:744: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2644: AC_CHECK_DECL is expanded from...
-../../lib/autoconf/general.m4:2666: AC_CHECK_DECLS is expanded from...
-configure.in:744: the top level])
-m4trace:configure.in:744: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
-m4trace:configure.in:744: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
-m4trace:configure.in:744: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
-m4trace:configure.in:744: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
-m4trace:configure.in:761: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:752: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2643: AC_CHECK_DECL is expanded from...
+../../lib/autoconf/general.m4:2665: AC_CHECK_DECLS is expanded from...
+configure.in:752: the top level])
+m4trace:configure.in:752: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
+m4trace:configure.in:752: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
+m4trace:configure.in:752: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.in:752: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.in:769: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.in:761: the top level])
-m4trace:configure.in:762: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:769: the top level])
+m4trace:configure.in:770: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.in:762: the top level])
-m4trace:configure.in:763: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:770: the top level])
+m4trace:configure.in:771: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.in:763: the top level])
-m4trace:configure.in:764: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:771: the top level])
+m4trace:configure.in:772: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.in:764: the top level])
-m4trace:configure.in:765: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:772: the top level])
+m4trace:configure.in:773: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.in:765: the top level])
-m4trace:configure.in:766: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:773: the top level])
+m4trace:configure.in:774: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:103: BASH_CHECK_DECL is expanded from...
-configure.in:766: the top level])
-m4trace:configure.in:768: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+configure.in:774: the top level])
+m4trace:configure.in:776: -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.in:768: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:776: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:768: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
+m4trace:configure.in:776: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
 #undef HAVE_ALARM])
-m4trace:configure.in:768: -1- AC_LIBSOURCE([mktime.c])
-m4trace:configure.in:768: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
-m4trace:configure.in:768: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:768: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:775: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+m4trace:configure.in:776: -1- AC_LIBSOURCE([mktime.c])
+m4trace:configure.in:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
+m4trace:configure.in:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:776: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:783: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
 #undef HAVE_ARGZ_H])
-m4trace:configure.in:775: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
+m4trace:configure.in:783: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
 #undef HAVE_ERRNO_H])
-m4trace:configure.in:775: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
+m4trace:configure.in:783: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H])
-m4trace:configure.in:775: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.in:783: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 #undef HAVE_MALLOC_H])
-m4trace:configure.in:775: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
+m4trace:configure.in:783: -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.in:778: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.in:786: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H])
-m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.in:786: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H])
-m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+m4trace:configure.in:786: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
 #undef HAVE_GETPAGESIZE])
-m4trace:configure.in:778: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
-m4trace:configure.in:778: -1- m4_pattern_allow([^HAVE_MMAP$])
-m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+m4trace:configure.in:786: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.in:786: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.in:786: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
 #undef HAVE_MMAP])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
 #undef HAVE___ARGZ_COUNT])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
 #undef HAVE___ARGZ_NEXT])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
 #undef HAVE___ARGZ_STRINGIFY])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
 #undef HAVE_DCGETTEXT])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
 #undef HAVE_MEMPCPY])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
 #undef HAVE_MUNMAP])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
 #undef HAVE_STPCPY])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
 #undef HAVE_STRCSPN])
-m4trace:configure.in:779: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+m4trace:configure.in:787: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
 #undef HAVE_STRDUP])
-m4trace:configure.in:788: -1- AC_SUBST([INTL_DEP])
-m4trace:configure.in:788: -1- AC_SUBST_TRACE([INTL_DEP])
-m4trace:configure.in:788: -1- m4_pattern_allow([^INTL_DEP$])
-m4trace:configure.in:789: -1- AC_SUBST([INTL_INC])
-m4trace:configure.in:789: -1- AC_SUBST_TRACE([INTL_INC])
-m4trace:configure.in:789: -1- m4_pattern_allow([^INTL_INC$])
-m4trace:configure.in:790: -1- AC_SUBST([LIBINTL_H])
-m4trace:configure.in:790: -1- AC_SUBST_TRACE([LIBINTL_H])
-m4trace:configure.in:790: -1- m4_pattern_allow([^LIBINTL_H$])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
+m4trace:configure.in:796: -1- AC_SUBST([INTL_DEP])
+m4trace:configure.in:796: -1- AC_SUBST_TRACE([INTL_DEP])
+m4trace:configure.in:796: -1- m4_pattern_allow([^INTL_DEP$])
+m4trace:configure.in:797: -1- AC_SUBST([INTL_INC])
+m4trace:configure.in:797: -1- AC_SUBST_TRACE([INTL_INC])
+m4trace:configure.in:797: -1- m4_pattern_allow([^INTL_INC$])
+m4trace:configure.in:798: -1- AC_SUBST([LIBINTL_H])
+m4trace:configure.in:798: -1- AC_SUBST_TRACE([LIBINTL_H])
+m4trace:configure.in:798: -1- m4_pattern_allow([^LIBINTL_H$])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
 #undef HAVE_WCTYPE_H])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
 #undef HAVE_WCHAR_H])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
 #undef HAVE_LANGINFO_H])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_MBRLEN$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_MBSCMP$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_MBSCMP$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
-m4trace:configure.in:796: -1- AC_LIBSOURCE([mbschr.c])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_MBRLEN$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
+m4trace:configure.in:804: -1- AC_LIBSOURCE([mbschr.c])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */
 #undef HAVE_MBSCHR])
-m4trace:configure.in:796: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
-m4trace:configure.in:796: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:796: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_WCSDUP$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
-m4trace:configure.in:796: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
-m4trace:configure.in:796: -2- m4_pattern_allow([^HAVE_WCTYPE$])
-m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
-m4trace:configure.in:796: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+m4trace:configure.in:804: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:804: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:804: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_WCSDUP$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
+m4trace:configure.in:804: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
+m4trace:configure.in:804: -2- m4_pattern_allow([^HAVE_WCTYPE$])
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
 #undef HAVE_MBRTOWC])
-m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
-m4trace:configure.in:796: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
 #undef HAVE_ISWLOWER])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
 #undef HAVE_ISWUPPER])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
 #undef HAVE_TOWLOWER])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
 #undef HAVE_TOWUPPER])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
 #undef HAVE_ISWCTYPE])
-m4trace:configure.in:796: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:804: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:796: the top level])
-m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.in:796: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
-m4trace:configure.in:796: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:804: the top level])
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.in:804: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:796: the top level])
-m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
-m4trace:configure.in:796: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
+configure.in:804: the top level])
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
 #undef HAVE_WCHAR_T])
-m4trace:configure.in:796: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:804: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:796: the top level])
-m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
-m4trace:configure.in:796: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
+configure.in:804: the top level])
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
 #undef HAVE_WCTYPE_T])
-m4trace:configure.in:796: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:804: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from...
-configure.in:796: the top level])
-m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
-m4trace:configure.in:796: -1- m4_pattern_allow([^HAVE_WINT_T$])
-m4trace:configure.in:796: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
+configure.in:804: the top level])
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_WINT_T$])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
 #undef HAVE_WINT_T])
-m4trace:configure.in:800: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
+m4trace:configure.in:808: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
 #undef HAVE_LIBDL])
-m4trace:configure.in:800: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
-m4trace:configure.in:800: -1- m4_pattern_allow([^HAVE_LIBDL$])
-m4trace:configure.in:801: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
+m4trace:configure.in:808: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
+m4trace:configure.in:808: -1- m4_pattern_allow([^HAVE_LIBDL$])
+m4trace:configure.in:809: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
 #undef HAVE_DLOPEN])
-m4trace:configure.in:801: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
+m4trace:configure.in:809: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
 #undef HAVE_DLCLOSE])
-m4trace:configure.in:801: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
+m4trace:configure.in:809: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
 #undef HAVE_DLSYM])
-m4trace:configure.in:805: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:63: AC_DECL_SYS_SIGLIST is expanded from...
-configure.in:805: the top level])
-m4trace:configure.in:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.in:805: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.in:805: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
+m4trace:configure.in:813: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/specific.m4:62: AC_DECL_SYS_SIGLIST is expanded from...
+configure.in:813: the top level])
+m4trace:configure.in:813: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.in:813: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.in:813: -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.in:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.in:805: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.in:809: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:813: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.in:813: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.in:817: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:563: BASH_FUNC_INET_ATON is expanded from...
-configure.in:809: the top level])
-m4trace:configure.in:809: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
-m4trace:configure.in:809: -1- m4_pattern_allow([^HAVE_INET_ATON$])
-m4trace:configure.in:809: -1- AC_LIBSOURCE([inet_aton.c])
-m4trace:configure.in:809: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
-m4trace:configure.in:809: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:809: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:815: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
+configure.in:817: the top level])
+m4trace:configure.in:817: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
+m4trace:configure.in:817: -1- m4_pattern_allow([^HAVE_INET_ATON$])
+m4trace:configure.in:817: -1- AC_LIBSOURCE([inet_aton.c])
+m4trace:configure.in:817: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
+m4trace:configure.in:817: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:817: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:823: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
 #undef HAVE_LIBSUN])
-m4trace:configure.in:815: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
-m4trace:configure.in:815: -1- m4_pattern_allow([^HAVE_LIBSUN$])
-m4trace:configure.in:820: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
-m4trace:configure.in:820: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
-m4trace:configure.in:820: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
-m4trace:configure.in:820: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
-m4trace:configure.in:824: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+m4trace:configure.in:823: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
+m4trace:configure.in:823: -1- m4_pattern_allow([^HAVE_LIBSUN$])
+m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
+m4trace:configure.in:828: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
+m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
+m4trace:configure.in:828: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
+m4trace:configure.in:832: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:732: BASH_FUNC_GETHOSTBYNAME is expanded from...
-configure.in:824: the top level])
-m4trace:configure.in:824: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
-m4trace:configure.in:824: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
-m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.in:828: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.in:828: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+configure.in:832: the top level])
+m4trace:configure.in:832: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
+m4trace:configure.in:832: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
+m4trace:configure.in:836: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.in:836: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.in:836: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef uid_t])
-m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.in:828: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.in:828: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.in:836: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.in:836: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.in:836: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef gid_t])
-m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
-m4trace:configure.in:828: -1- m4_pattern_allow([^GETGROUPS_T$])
-m4trace:configure.in:828: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
+m4trace:configure.in:836: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
+m4trace:configure.in:836: -1- m4_pattern_allow([^GETGROUPS_T$])
+m4trace:configure.in:836: -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.in:829: -1- AC_DEFINE_TRACE_LITERAL([off_t])
-m4trace:configure.in:829: -1- m4_pattern_allow([^off_t$])
-m4trace:configure.in:829: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+m4trace:configure.in:837: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.in:837: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.in:837: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
 #undef off_t])
-m4trace:configure.in:830: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
-m4trace:configure.in:830: -1- m4_pattern_allow([^mode_t$])
-m4trace:configure.in:830: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:838: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
+m4trace:configure.in:838: -1- m4_pattern_allow([^mode_t$])
+m4trace:configure.in:838: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef mode_t])
-m4trace:configure.in:831: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.in:831: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.in:831: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.in:839: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.in:839: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.in:839: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef uid_t])
-m4trace:configure.in:831: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.in:831: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.in:831: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.in:839: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.in:839: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.in:839: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #undef gid_t])
-m4trace:configure.in:832: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
-m4trace:configure.in:832: -1- m4_pattern_allow([^pid_t$])
-m4trace:configure.in:832: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:840: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
+m4trace:configure.in:840: -1- m4_pattern_allow([^pid_t$])
+m4trace:configure.in:840: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef pid_t])
-m4trace:configure.in:833: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.in:833: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:833: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:841: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.in:841: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.in:841: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef size_t])
-m4trace:configure.in:834: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
-m4trace:configure.in:834: -1- m4_pattern_allow([^ssize_t$])
-m4trace:configure.in:834: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:842: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
+m4trace:configure.in:842: -1- m4_pattern_allow([^ssize_t$])
+m4trace:configure.in:842: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef ssize_t])
-m4trace:configure.in:835: -1- AC_DEFINE_TRACE_LITERAL([time_t])
-m4trace:configure.in:835: -1- m4_pattern_allow([^time_t$])
-m4trace:configure.in:835: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:843: -1- AC_DEFINE_TRACE_LITERAL([time_t])
+m4trace:configure.in:843: -1- m4_pattern_allow([^time_t$])
+m4trace:configure.in:843: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef time_t])
-m4trace:configure.in:837: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:845: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:472: BASH_TYPE_LONG_LONG is expanded from...
-configure.in:837: the top level])
-m4trace:configure.in:837: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
-m4trace:configure.in:837: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
-m4trace:configure.in:838: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:845: the top level])
+m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
+m4trace:configure.in:845: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
+m4trace:configure.in:846: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:486: BASH_TYPE_UNSIGNED_LONG_LONG is expanded from...
-configure.in:838: the top level])
-m4trace:configure.in:838: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
-m4trace:configure.in:838: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
-m4trace:configure.in:840: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/types.m4:699: AC_TYPE_SIGNAL is expanded from...
-configure.in:840: the top level])
-m4trace:configure.in:840: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.in:840: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.in:840: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+configure.in:846: the top level])
+m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.in:846: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.in:848: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.in:848: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
 #undef RETSIGTYPE])
-m4trace:configure.in:841: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:849: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:537: BASH_TYPE_SIG_ATOMIC_T is expanded from...
-configure.in:841: the top level])
-m4trace:configure.in:841: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
-m4trace:configure.in:841: -1- m4_pattern_allow([^sig_atomic_t$])
-m4trace:configure.in:841: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if <sys/types.h> does not define. */
+configure.in:849: the top level])
+m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
+m4trace:configure.in:849: -1- m4_pattern_allow([^sig_atomic_t$])
+m4trace:configure.in:849: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef sig_atomic_t])
-m4trace:configure.in:843: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
-m4trace:configure.in:843: -1- m4_pattern_allow([^SIZEOF_CHAR$])
-m4trace:configure.in:843: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
+m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
+m4trace:configure.in:851: -1- m4_pattern_allow([^SIZEOF_CHAR$])
+m4trace:configure.in:851: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
 #undef SIZEOF_CHAR])
-m4trace:configure.in:844: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
-m4trace:configure.in:844: -1- m4_pattern_allow([^SIZEOF_SHORT$])
-m4trace:configure.in:844: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
+m4trace:configure.in:852: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
+m4trace:configure.in:852: -1- m4_pattern_allow([^SIZEOF_SHORT$])
+m4trace:configure.in:852: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
 #undef SIZEOF_SHORT])
-m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
-m4trace:configure.in:845: -1- m4_pattern_allow([^SIZEOF_INT$])
-m4trace:configure.in:845: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
+m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
+m4trace:configure.in:853: -1- m4_pattern_allow([^SIZEOF_INT$])
+m4trace:configure.in:853: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
 #undef SIZEOF_INT])
-m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
-m4trace:configure.in:846: -1- m4_pattern_allow([^SIZEOF_LONG$])
-m4trace:configure.in:846: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
+m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
+m4trace:configure.in:854: -1- m4_pattern_allow([^SIZEOF_LONG$])
+m4trace:configure.in:854: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
 #undef SIZEOF_LONG])
-m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
-m4trace:configure.in:847: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
-m4trace:configure.in:847: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
+m4trace:configure.in:855: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
+m4trace:configure.in:855: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
 #undef SIZEOF_CHAR_P])
-m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
-m4trace:configure.in:848: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
-m4trace:configure.in:848: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
+m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
+m4trace:configure.in:856: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
+m4trace:configure.in:856: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
 #undef SIZEOF_DOUBLE])
-m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
-m4trace:configure.in:849: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
-m4trace:configure.in:849: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
+m4trace:configure.in:857: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
+m4trace:configure.in:857: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
 #undef SIZEOF_LONG_LONG])
-m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([u_int])
-m4trace:configure.in:851: -1- m4_pattern_allow([^u_int$])
-m4trace:configure.in:851: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([u_int])
+m4trace:configure.in:859: -1- m4_pattern_allow([^u_int$])
+m4trace:configure.in:859: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef u_int])
-m4trace:configure.in:852: -1- AC_DEFINE_TRACE_LITERAL([u_long])
-m4trace:configure.in:852: -1- m4_pattern_allow([^u_long$])
-m4trace:configure.in:852: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([u_long])
+m4trace:configure.in:860: -1- m4_pattern_allow([^u_long$])
+m4trace:configure.in:860: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 #undef u_long])
-m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.in:854: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.in:854: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.in:862: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:862: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:862: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 #undef bits16_t])
-m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.in:854: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.in:854: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
+m4trace:configure.in:862: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:862: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:862: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
 #undef bits16_t])
-m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
-m4trace:configure.in:854: -1- m4_pattern_allow([^bits16_t$])
-m4trace:configure.in:854: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+m4trace:configure.in:862: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:862: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:862: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
 #undef bits16_t])
-m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.in:855: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.in:855: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.in:863: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:863: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:863: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 #undef u_bits16_t])
-m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.in:855: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.in:855: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
+m4trace:configure.in:863: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:863: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:863: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
 #undef u_bits16_t])
-m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
-m4trace:configure.in:855: -1- m4_pattern_allow([^u_bits16_t$])
-m4trace:configure.in:855: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+m4trace:configure.in:863: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:863: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:863: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
 #undef u_bits16_t])
-m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.in:856: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.in:856: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:864: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:864: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:864: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef bits32_t])
-m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.in:856: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.in:856: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:864: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:864: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:864: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef bits32_t])
-m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
-m4trace:configure.in:856: -1- m4_pattern_allow([^bits32_t$])
-m4trace:configure.in:856: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:864: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:864: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:864: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef bits32_t])
-m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.in:857: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.in:857: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:865: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:865: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:865: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef u_bits32_t])
-m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.in:857: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.in:857: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+m4trace:configure.in:865: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:865: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:865: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
 #undef u_bits32_t])
-m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
-m4trace:configure.in:857: -1- m4_pattern_allow([^u_bits32_t$])
-m4trace:configure.in:857: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.in:865: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:865: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:865: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
 #undef u_bits32_t])
-m4trace:configure.in:858: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:858: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:858: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
+m4trace:configure.in:866: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:866: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:866: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:858: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:858: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:858: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.in:866: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:866: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:866: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:858: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:858: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:858: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.in:866: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:866: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:866: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:858: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:858: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:858: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:866: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:866: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:866: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:858: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
-m4trace:configure.in:858: -1- m4_pattern_allow([^bits64_t$])
-m4trace:configure.in:858: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+m4trace:configure.in:866: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:866: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:866: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
 #undef bits64_t])
-m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:860: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:860: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:868: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:868: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:868: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:860: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:860: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
+m4trace:configure.in:868: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:868: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:868: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:860: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:860: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+m4trace:configure.in:868: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:868: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:868: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
-m4trace:configure.in:860: -1- m4_pattern_allow([^ptrdiff_t$])
-m4trace:configure.in:860: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.in:868: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:868: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:868: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #undef ptrdiff_t])
-m4trace:configure.in:863: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
-m4trace:configure.in:863: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
-m4trace:configure.in:863: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
+m4trace:configure.in:871: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
+m4trace:configure.in:871: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
+m4trace:configure.in:871: -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.in:868: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
-m4trace:configure.in:868: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
-m4trace:configure.in:873: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+m4trace:configure.in:876: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
+m4trace:configure.in:876: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
+m4trace:configure.in:881: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:549: BASH_FUNC_LSTAT is expanded from...
-configure.in:873: the top level])
-m4trace:configure.in:873: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
-m4trace:configure.in:873: -1- m4_pattern_allow([^HAVE_LSTAT$])
-m4trace:configure.in:877: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:881: the top level])
+m4trace:configure.in:881: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
+m4trace:configure.in:881: -1- m4_pattern_allow([^HAVE_LSTAT$])
+m4trace:configure.in:885: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1883: BASH_FUNC_CTYPE_NONASCII is expanded from...
-configure.in:877: the top level])
-m4trace:configure.in:877: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
-m4trace:configure.in:877: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
-m4trace:configure.in:878: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:885: the top level])
+m4trace:configure.in:885: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
+m4trace:configure.in:885: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
+m4trace:configure.in:886: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:270: BASH_FUNC_DUP2_CLOEXEC_CHECK is expanded from...
-configure.in:878: the top level])
-m4trace:configure.in:878: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
-m4trace:configure.in:878: -1- m4_pattern_allow([^DUP2_BROKEN$])
-m4trace:configure.in:879: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:886: the top level])
+m4trace:configure.in:886: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
+m4trace:configure.in:886: -1- m4_pattern_allow([^DUP2_BROKEN$])
+m4trace:configure.in:887: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1235: BASH_SYS_PGRP_SYNC is expanded from...
-configure.in:879: the top level])
-m4trace:configure.in:879: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.in:879: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.in:880: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:887: the top level])
+m4trace:configure.in:887: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.in:887: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.in:888: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.in:880: the top level])
-m4trace:configure.in:880: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2518: AC_LINK_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:888: the top level])
+m4trace:configure.in:888: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2517: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.in:880: the top level])
-m4trace:configure.in:880: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2518: AC_LINK_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2518: AC_LINK_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:888: the top level])
+m4trace:configure.in:888: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2517: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2517: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from...
-configure.in:880: the top level])
-m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
-m4trace:configure.in:880: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
-m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
-m4trace:configure.in:880: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
-m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
-m4trace:configure.in:880: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
-m4trace:configure.in:883: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:888: the top level])
+m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
+m4trace:configure.in:888: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
+m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
+m4trace:configure.in:888: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
+m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
+m4trace:configure.in:888: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
+m4trace:configure.in:891: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:253: BASH_SYS_ERRLIST is expanded from...
-configure.in:883: the top level])
-m4trace:configure.in:883: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
-m4trace:configure.in:883: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
-m4trace:configure.in:884: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:891: the top level])
+m4trace:configure.in:891: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
+m4trace:configure.in:891: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
+m4trace:configure.in:892: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:211: BASH_SYS_SIGLIST is expanded from...
-configure.in:884: the top level])
-m4trace:configure.in:884: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
-m4trace:configure.in:884: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
-m4trace:configure.in:885: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:892: the top level])
+m4trace:configure.in:892: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
+m4trace:configure.in:892: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
+m4trace:configure.in:893: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: 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.in:885: the top level])
-m4trace:configure.in:885: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
-m4trace:configure.in:885: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
-m4trace:configure.in:885: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:893: the top level])
+m4trace:configure.in:893: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
+m4trace:configure.in:893: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
+m4trace:configure.in:893: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:184: BASH_UNDER_SYS_SIGLIST is expanded from...
-configure.in:885: the top level])
-m4trace:configure.in:885: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
-m4trace:configure.in:885: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
-m4trace:configure.in:888: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:893: the top level])
+m4trace:configure.in:893: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
+m4trace:configure.in:893: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
+m4trace:configure.in:896: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:366: BASH_TYPE_SIGHANDLER is expanded from...
-configure.in:888: the top level])
-m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
-m4trace:configure.in:888: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
-m4trace:configure.in:889: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
-m4trace:configure.in:889: -1- m4_pattern_allow([^clock_t$])
-m4trace:configure.in:890: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
-m4trace:configure.in:890: -1- m4_pattern_allow([^sigset_t$])
-m4trace:configure.in:891: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
-m4trace:configure.in:891: -1- m4_pattern_allow([^HAVE_QUAD_T$])
-m4trace:configure.in:891: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
-m4trace:configure.in:891: -1- m4_pattern_allow([^quad_t$])
-m4trace:configure.in:892: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
-m4trace:configure.in:892: -1- m4_pattern_allow([^intmax_t$])
-m4trace:configure.in:893: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.in:893: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.in:895: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
-m4trace:configure.in:895: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
-m4trace:configure.in:895: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
-m4trace:configure.in:895: -1- m4_pattern_allow([^socklen_t$])
-m4trace:configure.in:897: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:896: the top level])
+m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
+m4trace:configure.in:896: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
+m4trace:configure.in:897: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
+m4trace:configure.in:897: -1- m4_pattern_allow([^clock_t$])
+m4trace:configure.in:898: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
+m4trace:configure.in:898: -1- m4_pattern_allow([^sigset_t$])
+m4trace:configure.in:899: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
+m4trace:configure.in:899: -1- m4_pattern_allow([^HAVE_QUAD_T$])
+m4trace:configure.in:899: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
+m4trace:configure.in:899: -1- m4_pattern_allow([^quad_t$])
+m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
+m4trace:configure.in:900: -1- m4_pattern_allow([^intmax_t$])
+m4trace:configure.in:901: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.in:901: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.in:903: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
+m4trace:configure.in:903: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
+m4trace:configure.in:903: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
+m4trace:configure.in:903: -1- m4_pattern_allow([^socklen_t$])
+m4trace:configure.in:905: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from...
-configure.in:897: the top level])
-m4trace:configure.in:897: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2462: AC_COMPILE_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:905: the top level])
+m4trace:configure.in:905: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2461: AC_COMPILE_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from...
-configure.in:897: the top level])
-m4trace:configure.in:897: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.in:897: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.in:897: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
-m4trace:configure.in:897: -1- m4_pattern_allow([^RLIMTYPE$])
-m4trace:configure.in:900: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
-m4trace:configure.in:900: -2- m4_pattern_allow([^TERMIOS_LDISC$])
-m4trace:configure.in:901: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
-m4trace:configure.in:901: -2- m4_pattern_allow([^TERMIO_LDISC$])
-m4trace:configure.in:902: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:905: the top level])
+m4trace:configure.in:905: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.in:905: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.in:905: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.in:905: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.in:908: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
+m4trace:configure.in:908: -2- m4_pattern_allow([^TERMIOS_LDISC$])
+m4trace:configure.in:909: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
+m4trace:configure.in:909: -2- m4_pattern_allow([^TERMIO_LDISC$])
+m4trace:configure.in:910: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1042: BASH_STRUCT_DIRENT_D_INO is expanded from...
-configure.in:902: the top level])
-m4trace:configure.in:902: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
-m4trace:configure.in:902: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
-m4trace:configure.in:903: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:910: the top level])
+m4trace:configure.in:910: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
+m4trace:configure.in:910: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
+m4trace:configure.in:911: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1075: BASH_STRUCT_DIRENT_D_FILENO is expanded from...
-configure.in:903: the top level])
-m4trace:configure.in:903: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
-m4trace:configure.in:903: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
-m4trace:configure.in:904: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:911: the top level])
+m4trace:configure.in:911: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
+m4trace:configure.in:911: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
+m4trace:configure.in:912: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1108: BASH_STRUCT_DIRENT_D_NAMLEN is expanded from...
-configure.in:904: the top level])
-m4trace:configure.in:904: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
-m4trace:configure.in:904: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
-m4trace:configure.in:905: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:912: the top level])
+m4trace:configure.in:912: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
+m4trace:configure.in:912: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
+m4trace:configure.in:913: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from...
-configure.in:905: the top level])
-m4trace:configure.in:905: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2462: AC_COMPILE_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:913: the top level])
+m4trace:configure.in:913: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2461: AC_COMPILE_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from...
-configure.in:905: the top level])
-m4trace:configure.in:905: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
-m4trace:configure.in:905: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
-m4trace:configure.in:905: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
-m4trace:configure.in:905: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
-m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
-m4trace:configure.in:906: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
-m4trace:configure.in:907: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.in:907: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
-m4trace:configure.in:907: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is member of `struct stat\'. */
+configure.in:913: the top level])
+m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
+m4trace:configure.in:913: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
+m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
+m4trace:configure.in:913: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
+m4trace:configure.in:914: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
+m4trace:configure.in:914: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
+m4trace:configure.in:915: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
+m4trace:configure.in:915: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
+m4trace:configure.in:915: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is member of `struct stat\'. */
 #undef HAVE_STRUCT_STAT_ST_BLOCKS])
-m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
-m4trace:configure.in:908: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
-m4trace:configure.in:908: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
+m4trace:configure.in:916: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
+m4trace:configure.in:916: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
+m4trace:configure.in:916: -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.in:909: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.in:909: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
-m4trace:configure.in:909: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
+m4trace:configure.in:917: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
+m4trace:configure.in:917: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
+m4trace:configure.in:917: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
 #undef HAVE_STRUCT_TM_TM_ZONE])
-m4trace:configure.in:909: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
-m4trace:configure.in:909: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
-m4trace:configure.in:909: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
+m4trace:configure.in:917: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
+m4trace:configure.in:917: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
+m4trace:configure.in:917: -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.in:909: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
-m4trace:configure.in:909: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
-m4trace:configure.in:909: -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.in:917: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.in:917: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.in:917: -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.in:909: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
-m4trace:configure.in:909: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
-m4trace:configure.in:909: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
-m4trace:configure.in:909: -1- m4_pattern_allow([^HAVE_TZNAME$])
-m4trace:configure.in:909: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
+m4trace:configure.in:917: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.in:917: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.in:917: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
+m4trace:configure.in:917: -1- m4_pattern_allow([^HAVE_TZNAME$])
+m4trace:configure.in:917: -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.in:910: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
-m4trace:configure.in:910: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
-m4trace:configure.in:913: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+m4trace:configure.in:918: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
+m4trace:configure.in:918: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
+m4trace:configure.in:921: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:299: BASH_FUNC_STRSIGNAL is expanded from...
-configure.in:913: the top level])
-m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
-m4trace:configure.in:913: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
-m4trace:configure.in:914: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:921: the top level])
+m4trace:configure.in:921: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
+m4trace:configure.in:921: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
+m4trace:configure.in:922: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:313: BASH_FUNC_OPENDIR_CHECK is expanded from...
-configure.in:914: the top level])
-m4trace:configure.in:914: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
-m4trace:configure.in:914: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
-m4trace:configure.in:915: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:922: the top level])
+m4trace:configure.in:922: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
+m4trace:configure.in:922: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
+m4trace:configure.in:923: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:683: BASH_FUNC_ULIMIT_MAXFDS is expanded from...
-configure.in:915: the top level])
-m4trace:configure.in:915: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
-m4trace:configure.in:915: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
-m4trace:configure.in:916: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
+configure.in:923: the top level])
+m4trace:configure.in:923: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
+m4trace:configure.in:923: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
+m4trace:configure.in:924: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
 #undef HAVE_FPURGE])
-m4trace:configure.in:916: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
+m4trace:configure.in:924: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
 #undef HAVE___FPURGE])
-m4trace:configure.in:916: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
-m4trace:configure.in:916: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
-m4trace:configure.in:916: -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.in:924: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:924: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:924: -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.in:916: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
-m4trace:configure.in:916: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
-m4trace:configure.in:917: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+m4trace:configure.in:924: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:924: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:925: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:579: BASH_FUNC_GETENV is expanded from...
-configure.in:917: the top level])
-m4trace:configure.in:917: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
-m4trace:configure.in:917: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
-m4trace:configure.in:919: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:925: the top level])
+m4trace:configure.in:925: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
+m4trace:configure.in:925: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
+m4trace:configure.in:927: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:702: BASH_FUNC_GETCWD is expanded from...
-configure.in:919: the top level])
-m4trace:configure.in:919: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
-m4trace:configure.in:919: -1- m4_pattern_allow([^GETCWD_BROKEN$])
-m4trace:configure.in:919: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.in:919: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
-m4trace:configure.in:919: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:919: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:921: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:927: the top level])
+m4trace:configure.in:927: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
+m4trace:configure.in:927: -1- m4_pattern_allow([^GETCWD_BROKEN$])
+m4trace:configure.in:927: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.in:927: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
+m4trace:configure.in:927: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:927: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:929: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:778: BASH_FUNC_POSIX_SETJMP is expanded from...
-configure.in:921: the top level])
-m4trace:configure.in:921: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
-m4trace:configure.in:921: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
-m4trace:configure.in:922: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:929: the top level])
+m4trace:configure.in:929: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
+m4trace:configure.in:929: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
+m4trace:configure.in:930: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:829: BASH_FUNC_STRCOLL is expanded from...
-configure.in:922: the top level])
-m4trace:configure.in:922: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
-m4trace:configure.in:922: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
-m4trace:configure.in:928: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:930: the top level])
+m4trace:configure.in:930: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
+m4trace:configure.in:930: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
+m4trace:configure.in:936: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:624: BASH_FUNC_STD_PUTENV is expanded from...
-configure.in:928: the top level])
-m4trace:configure.in:928: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.in:928: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.in:930: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.in:930: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.in:933: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+configure.in:936: the top level])
+m4trace:configure.in:936: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:936: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:938: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:938: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:941: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2526: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1993: AC_CACHE_CHECK is expanded from...
 aclocal.m4:654: BASH_FUNC_STD_UNSETENV is expanded from...
-configure.in:933: the top level])
-m4trace:configure.in:933: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.in:933: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.in:935: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.in:935: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.in:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:941: the top level])
+m4trace:configure.in:941: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:941: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:943: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:943: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:946: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:878: BASH_FUNC_PRINTF_A_FORMAT is expanded from...
-configure.in:938: the top level])
-m4trace:configure.in:938: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
-m4trace:configure.in:938: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
-m4trace:configure.in:941: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:946: the top level])
+m4trace:configure.in:946: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
+m4trace:configure.in:946: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
+m4trace:configure.in:949: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1297: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from...
-configure.in:941: the top level])
-m4trace:configure.in:941: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
-m4trace:configure.in:941: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
-m4trace:configure.in:942: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:949: the top level])
+m4trace:configure.in:949: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
+m4trace:configure.in:949: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
+m4trace:configure.in:950: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1356: BASH_SYS_JOB_CONTROL_MISSING is expanded from...
-configure.in:942: the top level])
-m4trace:configure.in:942: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
-m4trace:configure.in:942: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
-m4trace:configure.in:943: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:950: the top level])
+m4trace:configure.in:950: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
+m4trace:configure.in:950: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
+m4trace:configure.in:951: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1415: BASH_SYS_NAMED_PIPES is expanded from...
-configure.in:943: the top level])
-m4trace:configure.in:943: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
-m4trace:configure.in:943: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
-m4trace:configure.in:946: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.in:946: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
-m4trace:configure.in:946: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
+configure.in:951: the top level])
+m4trace:configure.in:951: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
+m4trace:configure.in:951: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
+m4trace:configure.in:954: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
+m4trace:configure.in:954: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
+m4trace:configure.in:954: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
 #undef GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.in:947: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+m4trace:configure.in:955: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1496: BASH_HAVE_TIOCSTAT is expanded from...
-configure.in:947: the top level])
-m4trace:configure.in:947: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
-m4trace:configure.in:947: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
-m4trace:configure.in:948: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:955: the top level])
+m4trace:configure.in:955: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
+m4trace:configure.in:955: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
+m4trace:configure.in:956: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1508: BASH_HAVE_FIONREAD is expanded from...
-configure.in:948: the top level])
-m4trace:configure.in:948: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
-m4trace:configure.in:948: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
-m4trace:configure.in:950: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:956: the top level])
+m4trace:configure.in:956: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
+m4trace:configure.in:956: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
+m4trace:configure.in:958: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1927: BASH_CHECK_WCONTINUED is expanded from...
-configure.in:950: the top level])
-m4trace:configure.in:950: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
-m4trace:configure.in:950: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
-m4trace:configure.in:953: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:958: the top level])
+m4trace:configure.in:958: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
+m4trace:configure.in:958: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
+m4trace:configure.in:961: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1526: BASH_CHECK_SPEED_T is expanded from...
-configure.in:953: the top level])
-m4trace:configure.in:953: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
-m4trace:configure.in:953: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
-m4trace:configure.in:954: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
-m4trace:configure.in:954: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
-m4trace:configure.in:955: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:961: the top level])
+m4trace:configure.in:961: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
+m4trace:configure.in:961: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
+m4trace:configure.in:962: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
+m4trace:configure.in:962: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
+m4trace:configure.in:963: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2591: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1653: BASH_CHECK_RTSIGS is expanded from...
-configure.in:955: the top level])
-m4trace:configure.in:955: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
-m4trace:configure.in:955: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
-m4trace:configure.in:956: -1- AC_SUBST([SIGLIST_O])
-m4trace:configure.in:956: -1- AC_SUBST_TRACE([SIGLIST_O])
-m4trace:configure.in:956: -1- m4_pattern_allow([^SIGLIST_O$])
-m4trace:configure.in:960: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:963: the top level])
+m4trace:configure.in:963: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
+m4trace:configure.in:963: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
+m4trace:configure.in:964: -1- AC_SUBST([SIGLIST_O])
+m4trace:configure.in:964: -1- AC_SUBST_TRACE([SIGLIST_O])
+m4trace:configure.in:964: -1- m4_pattern_allow([^SIGLIST_O$])
+m4trace:configure.in:968: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.in:960: the top level])
-m4trace:configure.in:960: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2462: AC_COMPILE_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+configure.in:968: the top level])
+m4trace:configure.in:968: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2461: AC_COMPILE_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2469: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:508: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1973: AC_CACHE_VAL is expanded from...
 aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.in:960: the top level])
-m4trace:configure.in:960: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
-m4trace:configure.in:960: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
-m4trace:configure.in:970: -1- AC_SUBST([TERMCAP_LIB])
-m4trace:configure.in:970: -1- AC_SUBST_TRACE([TERMCAP_LIB])
-m4trace:configure.in:970: -1- m4_pattern_allow([^TERMCAP_LIB$])
-m4trace:configure.in:971: -1- AC_SUBST([TERMCAP_DEP])
-m4trace:configure.in:971: -1- AC_SUBST_TRACE([TERMCAP_DEP])
-m4trace:configure.in:971: -1- m4_pattern_allow([^TERMCAP_DEP$])
-m4trace:configure.in:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.in:973: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.in:973: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.in:973: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.in:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.in:973: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.in:973: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.in:973: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.in:974: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
-m4trace:configure.in:974: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
-m4trace:configure.in:975: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
-m4trace:configure.in:975: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
-m4trace:configure.in:982: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
-m4trace:configure.in:982: -1- m4_pattern_allow([^JOB_CONTROL$])
-m4trace:configure.in:988: -1- AC_SUBST([JOBS_O])
-m4trace:configure.in:988: -1- AC_SUBST_TRACE([JOBS_O])
-m4trace:configure.in:988: -1- m4_pattern_allow([^JOBS_O$])
-m4trace:configure.in:1001: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
-m4trace:configure.in:1001: -1- m4_pattern_allow([^SVR4_2$])
-m4trace:configure.in:1002: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.in:1002: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:1003: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.in:1003: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:1004: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
-m4trace:configure.in:1004: -1- m4_pattern_allow([^SVR5$])
-m4trace:configure.in:1023: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.in:1023: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.in:1070: -1- AC_SUBST([SHOBJ_CC])
-m4trace:configure.in:1070: -1- AC_SUBST_TRACE([SHOBJ_CC])
-m4trace:configure.in:1070: -1- m4_pattern_allow([^SHOBJ_CC$])
-m4trace:configure.in:1071: -1- AC_SUBST([SHOBJ_CFLAGS])
-m4trace:configure.in:1071: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
-m4trace:configure.in:1071: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
-m4trace:configure.in:1072: -1- AC_SUBST([SHOBJ_LD])
-m4trace:configure.in:1072: -1- AC_SUBST_TRACE([SHOBJ_LD])
-m4trace:configure.in:1072: -1- m4_pattern_allow([^SHOBJ_LD$])
-m4trace:configure.in:1073: -1- AC_SUBST([SHOBJ_LDFLAGS])
-m4trace:configure.in:1073: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
-m4trace:configure.in:1073: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
-m4trace:configure.in:1074: -1- AC_SUBST([SHOBJ_XLDFLAGS])
-m4trace:configure.in:1074: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
-m4trace:configure.in:1074: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
-m4trace:configure.in:1075: -1- AC_SUBST([SHOBJ_LIBS])
-m4trace:configure.in:1075: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
-m4trace:configure.in:1075: -1- m4_pattern_allow([^SHOBJ_LIBS$])
-m4trace:configure.in:1076: -1- AC_SUBST([SHOBJ_STATUS])
-m4trace:configure.in:1076: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
-m4trace:configure.in:1076: -1- m4_pattern_allow([^SHOBJ_STATUS$])
-m4trace:configure.in:1108: -1- AC_SUBST([PROFILE_FLAGS])
-m4trace:configure.in:1108: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
-m4trace:configure.in:1108: -1- m4_pattern_allow([^PROFILE_FLAGS$])
-m4trace:configure.in:1110: -1- AC_SUBST([incdir])
-m4trace:configure.in:1110: -1- AC_SUBST_TRACE([incdir])
-m4trace:configure.in:1110: -1- m4_pattern_allow([^incdir$])
-m4trace:configure.in:1111: -1- AC_SUBST([BUILD_DIR])
-m4trace:configure.in:1111: -1- AC_SUBST_TRACE([BUILD_DIR])
-m4trace:configure.in:1111: -1- m4_pattern_allow([^BUILD_DIR$])
-m4trace:configure.in:1114: -1- AC_SUBST([datarootdir])
-m4trace:configure.in:1114: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.in:1114: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:1115: -1- AC_SUBST([localedir])
-m4trace:configure.in:1115: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.in:1115: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:1117: -1- AC_SUBST([YACC])
-m4trace:configure.in:1117: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.in:1117: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.in:1118: -1- AC_SUBST([AR])
-m4trace:configure.in:1118: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.in:1118: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:1119: -1- AC_SUBST([ARFLAGS])
-m4trace:configure.in:1119: -1- AC_SUBST_TRACE([ARFLAGS])
-m4trace:configure.in:1119: -1- m4_pattern_allow([^ARFLAGS$])
-m4trace:configure.in:1121: -1- AC_SUBST([BASHVERS])
-m4trace:configure.in:1121: -1- AC_SUBST_TRACE([BASHVERS])
-m4trace:configure.in:1121: -1- m4_pattern_allow([^BASHVERS$])
-m4trace:configure.in:1122: -1- AC_SUBST([RELSTATUS])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([RELSTATUS])
-m4trace:configure.in:1122: -1- m4_pattern_allow([^RELSTATUS$])
-m4trace:configure.in:1123: -1- AC_SUBST([DEBUG])
-m4trace:configure.in:1123: -1- AC_SUBST_TRACE([DEBUG])
-m4trace:configure.in:1123: -1- m4_pattern_allow([^DEBUG$])
-m4trace:configure.in:1124: -1- AC_SUBST([MALLOC_DEBUG])
-m4trace:configure.in:1124: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
-m4trace:configure.in:1124: -1- m4_pattern_allow([^MALLOC_DEBUG$])
-m4trace:configure.in:1126: -1- AC_SUBST([host_cpu])
-m4trace:configure.in:1126: -1- AC_SUBST_TRACE([host_cpu])
-m4trace:configure.in:1126: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.in:1127: -1- AC_SUBST([host_vendor])
-m4trace:configure.in:1127: -1- AC_SUBST_TRACE([host_vendor])
-m4trace:configure.in:1127: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.in:1128: -1- AC_SUBST([host_os])
-m4trace:configure.in:1128: -1- AC_SUBST_TRACE([host_os])
-m4trace:configure.in:1128: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.in:1130: -1- AC_SUBST([LOCAL_LIBS])
-m4trace:configure.in:1130: -1- AC_SUBST_TRACE([LOCAL_LIBS])
-m4trace:configure.in:1130: -1- m4_pattern_allow([^LOCAL_LIBS$])
-m4trace:configure.in:1131: -1- AC_SUBST([LOCAL_CFLAGS])
-m4trace:configure.in:1131: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
-m4trace:configure.in:1131: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
-m4trace:configure.in:1132: -1- AC_SUBST([LOCAL_LDFLAGS])
-m4trace:configure.in:1132: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
-m4trace:configure.in:1132: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
-m4trace:configure.in:1133: -1- AC_SUBST([LOCAL_DEFS])
-m4trace:configure.in:1133: -1- AC_SUBST_TRACE([LOCAL_DEFS])
-m4trace:configure.in:1133: -1- m4_pattern_allow([^LOCAL_DEFS$])
-m4trace:configure.in:1138: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+configure.in:968: the top level])
+m4trace:configure.in:968: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
+m4trace:configure.in:968: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
+m4trace:configure.in:978: -1- AC_SUBST([TERMCAP_LIB])
+m4trace:configure.in:978: -1- AC_SUBST_TRACE([TERMCAP_LIB])
+m4trace:configure.in:978: -1- m4_pattern_allow([^TERMCAP_LIB$])
+m4trace:configure.in:979: -1- AC_SUBST([TERMCAP_DEP])
+m4trace:configure.in:979: -1- AC_SUBST_TRACE([TERMCAP_DEP])
+m4trace:configure.in:979: -1- m4_pattern_allow([^TERMCAP_DEP$])
+m4trace:configure.in:981: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:981: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:981: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:981: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:981: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:981: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:981: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:981: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:982: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
+m4trace:configure.in:982: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
+m4trace:configure.in:983: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
+m4trace:configure.in:983: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
+m4trace:configure.in:990: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
+m4trace:configure.in:990: -1- m4_pattern_allow([^JOB_CONTROL$])
+m4trace:configure.in:996: -1- AC_SUBST([JOBS_O])
+m4trace:configure.in:996: -1- AC_SUBST_TRACE([JOBS_O])
+m4trace:configure.in:996: -1- m4_pattern_allow([^JOBS_O$])
+m4trace:configure.in:1009: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
+m4trace:configure.in:1009: -1- m4_pattern_allow([^SVR4_2$])
+m4trace:configure.in:1010: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.in:1010: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:1011: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.in:1011: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:1012: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
+m4trace:configure.in:1012: -1- m4_pattern_allow([^SVR5$])
+m4trace:configure.in:1031: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.in:1031: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.in:1078: -1- AC_SUBST([SHOBJ_CC])
+m4trace:configure.in:1078: -1- AC_SUBST_TRACE([SHOBJ_CC])
+m4trace:configure.in:1078: -1- m4_pattern_allow([^SHOBJ_CC$])
+m4trace:configure.in:1079: -1- AC_SUBST([SHOBJ_CFLAGS])
+m4trace:configure.in:1079: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
+m4trace:configure.in:1079: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
+m4trace:configure.in:1080: -1- AC_SUBST([SHOBJ_LD])
+m4trace:configure.in:1080: -1- AC_SUBST_TRACE([SHOBJ_LD])
+m4trace:configure.in:1080: -1- m4_pattern_allow([^SHOBJ_LD$])
+m4trace:configure.in:1081: -1- AC_SUBST([SHOBJ_LDFLAGS])
+m4trace:configure.in:1081: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
+m4trace:configure.in:1081: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
+m4trace:configure.in:1082: -1- AC_SUBST([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1082: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1082: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
+m4trace:configure.in:1083: -1- AC_SUBST([SHOBJ_LIBS])
+m4trace:configure.in:1083: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
+m4trace:configure.in:1083: -1- m4_pattern_allow([^SHOBJ_LIBS$])
+m4trace:configure.in:1084: -1- AC_SUBST([SHOBJ_STATUS])
+m4trace:configure.in:1084: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
+m4trace:configure.in:1084: -1- m4_pattern_allow([^SHOBJ_STATUS$])
+m4trace:configure.in:1116: -1- AC_SUBST([PROFILE_FLAGS])
+m4trace:configure.in:1116: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
+m4trace:configure.in:1116: -1- m4_pattern_allow([^PROFILE_FLAGS$])
+m4trace:configure.in:1118: -1- AC_SUBST([incdir])
+m4trace:configure.in:1118: -1- AC_SUBST_TRACE([incdir])
+m4trace:configure.in:1118: -1- m4_pattern_allow([^incdir$])
+m4trace:configure.in:1119: -1- AC_SUBST([BUILD_DIR])
+m4trace:configure.in:1119: -1- AC_SUBST_TRACE([BUILD_DIR])
+m4trace:configure.in:1119: -1- m4_pattern_allow([^BUILD_DIR$])
+m4trace:configure.in:1122: -1- AC_SUBST([datarootdir])
+m4trace:configure.in:1122: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.in:1122: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:1123: -1- AC_SUBST([localedir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.in:1123: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:1125: -1- AC_SUBST([YACC])
+m4trace:configure.in:1125: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:1125: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:1126: -1- AC_SUBST([AR])
+m4trace:configure.in:1126: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:1126: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:1127: -1- AC_SUBST([ARFLAGS])
+m4trace:configure.in:1127: -1- AC_SUBST_TRACE([ARFLAGS])
+m4trace:configure.in:1127: -1- m4_pattern_allow([^ARFLAGS$])
+m4trace:configure.in:1129: -1- AC_SUBST([BASHVERS])
+m4trace:configure.in:1129: -1- AC_SUBST_TRACE([BASHVERS])
+m4trace:configure.in:1129: -1- m4_pattern_allow([^BASHVERS$])
+m4trace:configure.in:1130: -1- AC_SUBST([RELSTATUS])
+m4trace:configure.in:1130: -1- AC_SUBST_TRACE([RELSTATUS])
+m4trace:configure.in:1130: -1- m4_pattern_allow([^RELSTATUS$])
+m4trace:configure.in:1131: -1- AC_SUBST([DEBUG])
+m4trace:configure.in:1131: -1- AC_SUBST_TRACE([DEBUG])
+m4trace:configure.in:1131: -1- m4_pattern_allow([^DEBUG$])
+m4trace:configure.in:1132: -1- AC_SUBST([MALLOC_DEBUG])
+m4trace:configure.in:1132: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
+m4trace:configure.in:1132: -1- m4_pattern_allow([^MALLOC_DEBUG$])
+m4trace:configure.in:1134: -1- AC_SUBST([host_cpu])
+m4trace:configure.in:1134: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.in:1134: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:1135: -1- AC_SUBST([host_vendor])
+m4trace:configure.in:1135: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.in:1135: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:1136: -1- AC_SUBST([host_os])
+m4trace:configure.in:1136: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.in:1136: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:1138: -1- AC_SUBST([LOCAL_LIBS])
+m4trace:configure.in:1138: -1- AC_SUBST_TRACE([LOCAL_LIBS])
+m4trace:configure.in:1138: -1- m4_pattern_allow([^LOCAL_LIBS$])
+m4trace:configure.in:1139: -1- AC_SUBST([LOCAL_CFLAGS])
+m4trace:configure.in:1139: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
+m4trace:configure.in:1139: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
+m4trace:configure.in:1140: -1- AC_SUBST([LOCAL_LDFLAGS])
+m4trace:configure.in:1140: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
+m4trace:configure.in:1140: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
+m4trace:configure.in:1141: -1- AC_SUBST([LOCAL_DEFS])
+m4trace:configure.in:1141: -1- AC_SUBST_TRACE([LOCAL_DEFS])
+m4trace:configure.in:1141: -1- m4_pattern_allow([^LOCAL_DEFS$])
+m4trace:configure.in:1146: -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.in:1138: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+m4trace:configure.in:1146: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
 You should run autoupdate.], [])
-m4trace:configure.in:1138: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:1138: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:1138: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.in:1138: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([top_build_prefix])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([abs_top_builddir])
-m4trace:configure.in:1138: -1- AC_SUBST_TRACE([INSTALL])
+m4trace:configure.in:1146: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:1146: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:1146: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.in:1146: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([top_build_prefix])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.in:1146: -1- AC_SUBST_TRACE([INSTALL])
index 5c61f67568a345a1a7f4b9a8aacd0063a6956dbd..a80968fd5c6269a09c445f04581689f3955cf33e 100644 (file)
 
 #include "bashintl.h"
 
+#if defined (SYSLOG_HISTORY)
+#  include <syslog.h>
+#endif
+
 #include "shell.h"
 #include "flags.h"
 #include "input.h"
@@ -691,6 +695,26 @@ check_add_history (line, force)
   return 0;
 }
 
+#if defined (SYSLOG_HISTORY)
+#define SYSLOG_MAXLEN 600
+
+void
+bash_syslog_history (line)
+     const char *line;
+{
+  char trunc[SYSLOG_MAXLEN];
+
+  if (strlen(line) < SYSLOG_MAXLEN)
+    syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY: PID=%d UID=%d %s", getpid(), current_user.uid, line);
+  else
+    {
+      strncpy (trunc, line, SYSLOG_MAXLEN);
+      trunc[SYSLOG_MAXLEN - 1] = '\0';
+      syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED): PID=%d UID=%d %s", getpid(), current_user.uid, trunc);
+    }
+}
+#endif
+       
 /* Add a line to the history list.
    The variable COMMAND_ORIENTED_HISTORY controls the style of history
    remembering;  when non-zero, and LINE is not the first line of a
@@ -746,6 +770,10 @@ bash_add_history (line)
   if (add_it)
     really_add_history (line);
 
+#if defined (SYSLOG_HISTORY)
+  bash_syslog_history (line);
+#endif
+
   using_history ();
 }
 
diff --git a/bashhist.c~ b/bashhist.c~
new file mode 100644 (file)
index 0000000..30c8108
--- /dev/null
@@ -0,0 +1,898 @@
+/* bashhist.c -- bash interface to the GNU history library. */
+
+/* Copyright (C) 1993-2009 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"
+
+#if defined (HISTORY)
+
+#if defined (HAVE_UNISTD_H)
+#  ifdef _MINIX
+#    include <sys/types.h>
+#  endif
+#  include <unistd.h>
+#endif
+
+#include "bashtypes.h"
+#include <stdio.h>
+#include <errno.h>
+#include "bashansi.h"
+#include "posixstat.h"
+#include "filecntl.h"
+
+#include "bashintl.h"
+
+#if defined (SYSLOG_HISTORY)
+#  include <syslog.h>
+#endif
+
+#include "shell.h"
+#include "flags.h"
+#include "input.h"
+#include "parser.h"    /* for the struct dstack stuff. */
+#include "pathexp.h"   /* for the struct ignorevar stuff */
+#include "bashhist.h"  /* matching prototypes and declarations */
+#include "builtins/common.h"
+
+#include <readline/history.h>
+#include <glob/glob.h>
+#include <glob/strmatch.h>
+
+#if defined (READLINE)
+#  include "bashline.h"
+extern int rl_done, rl_dispatching;    /* should really include readline.h */
+#endif
+
+#if !defined (errno)
+extern int errno;
+#endif
+
+static int histignore_item_func __P((struct ign *));
+static int check_history_control __P((char *));
+static void hc_erasedups __P((char *));
+static void really_add_history __P((char *));
+
+static struct ignorevar histignore =
+{
+  "HISTIGNORE",
+  (struct ign *)0,
+  0,
+  (char *)0,
+  (sh_iv_item_func_t *)histignore_item_func,
+};
+
+#define HIGN_EXPAND 0x01
+
+/* Declarations of bash history variables. */
+/* Non-zero means to remember lines typed to the shell on the history
+   list.  This is different than the user-controlled behaviour; this
+   becomes zero when we read lines from a file, for example. */
+int remember_on_history = 1;
+int enable_history_list = 1;   /* value for `set -o history' */
+
+/* The number of lines that Bash has added to this history session.  The
+   difference between the number of the top element in the history list
+   (offset from history_base) and the number of lines in the history file.
+   Appending this session's history to the history file resets this to 0. */
+int history_lines_this_session;
+
+/* The number of lines that Bash has read from the history file. */
+int history_lines_in_file;
+
+#if defined (BANG_HISTORY)
+/* Non-zero means do no history expansion on this line, regardless
+   of what history_expansion says. */
+int history_expansion_inhibited;
+#endif
+
+/* With the old default, every line was saved in the history individually.
+   I.e., if the user enters:
+       bash$ for i in a b c
+       > do
+       > echo $i
+       > done
+   Each line will be individually saved in the history.
+       bash$ history
+       10  for i in a b c
+       11  do
+       12  echo $i
+       13  done
+       14  history
+   If the variable command_oriented_history is set, multiple lines
+   which form one command will be saved as one history entry.
+       bash$ for i in a b c
+       > do
+       > echo $i
+       > done
+       bash$ history
+       10  for i in a b c
+    do
+    echo $i
+    done
+       11  history
+   The user can then recall the whole command all at once instead
+   of just being able to recall one line at a time.
+
+   This is now enabled by default.
+   */
+int command_oriented_history = 1;
+
+/* Set to 1 if the first line of a possibly-multi-line command was saved
+   in the history list.  Managed by maybe_add_history(), but global so
+   the history-manipluating builtins can see it. */
+int current_command_first_line_saved = 0;
+
+/* Non-zero means to store newlines in the history list when using
+   command_oriented_history rather than trying to use semicolons. */
+int literal_history;
+
+/* Non-zero means to append the history to the history file at shell
+   exit, even if the history has been stifled. */
+int force_append_history;
+
+/* A nit for picking at history saving.  Flags have the following values:
+
+   Value == 0 means save all lines parsed by the shell on the history.
+   Value & HC_IGNSPACE means save all lines that do not start with a space.
+   Value & HC_IGNDUPS means save all lines that do not match the last
+   line saved.
+   Value & HC_ERASEDUPS means to remove all other matching lines from the
+   history list before saving the latest line. */
+int history_control;
+
+/* Set to 1 if the last command was added to the history list successfully
+   as a separate history entry; set to 0 if the line was ignored or added
+   to a previous entry as part of command-oriented-history processing. */
+int hist_last_line_added;
+
+/* Set to 1 if builtins/history.def:push_history added the last history
+   entry. */
+int hist_last_line_pushed;
+
+#if defined (READLINE)
+/* If non-zero, and readline is being used, the user is offered the
+   chance to re-edit a failed history expansion. */
+int history_reediting;
+
+/* If non-zero, and readline is being used, don't directly execute a
+   line with history substitution.  Reload it into the editing buffer
+   instead and let the user further edit and confirm with a newline. */
+int hist_verify;
+
+#endif /* READLINE */
+
+/* Non-zero means to not save function definitions in the history list. */
+int dont_save_function_defs;
+
+/* Variables declared in other files used here. */
+extern int current_command_line_count;
+
+extern struct dstack dstack;
+
+static int bash_history_inhibit_expansion __P((char *, int));
+#if defined (READLINE)
+static void re_edit __P((char *));
+#endif
+static int history_expansion_p __P((char *));
+static int shell_comment __P((char *));
+static int should_expand __P((char *));
+static HIST_ENTRY *last_history_entry __P((void));
+static char *expand_histignore_pattern __P((char *));
+static int history_should_ignore __P((char *));
+
+/* Is the history expansion starting at string[i] one that should not
+   be expanded? */
+static int
+bash_history_inhibit_expansion (string, i)
+     char *string;
+     int i;
+{
+  /* The shell uses ! as a pattern negation character in globbing [...]
+     expressions, so let those pass without expansion. */
+  if (i > 0 && (string[i - 1] == '[') && member (']', string + i + 1))
+    return (1);
+  /* The shell uses ! as the indirect expansion character, so let those
+     expansions pass as well. */
+  else if (i > 1 && string[i - 1] == '{' && string[i - 2] == '$' &&
+            member ('}', string + i + 1))
+    return (1);
+#if defined (EXTENDED_GLOB)
+  else if (extended_glob && i > 1 && string[i+1] == '(' && member (')', string + i + 2))
+    return (1);
+#endif
+  else
+    return (0);
+}
+
+void
+bash_initialize_history ()
+{
+  history_quotes_inhibit_expansion = 1;
+  history_search_delimiter_chars = ";&()|<>";
+  history_inhibit_expansion_function = bash_history_inhibit_expansion;
+#if defined (BANG_HISTORY)
+  sv_histchars ("histchars");
+#endif
+}
+
+void
+bash_history_reinit (interact)
+     int interact;
+{
+#if defined (BANG_HISTORY)
+  history_expansion = interact != 0;
+  history_expansion_inhibited = 1;
+#endif
+  remember_on_history = enable_history_list = interact != 0;
+  history_inhibit_expansion_function = bash_history_inhibit_expansion;
+}
+
+void
+bash_history_disable ()
+{
+  remember_on_history = 0;
+#if defined (BANG_HISTORY)
+  history_expansion_inhibited = 1;
+#endif
+}
+
+void
+bash_history_enable ()
+{
+  remember_on_history = 1;
+#if defined (BANG_HISTORY)
+  history_expansion_inhibited = 0;
+#endif
+  history_inhibit_expansion_function = bash_history_inhibit_expansion;
+  sv_history_control ("HISTCONTROL");
+  sv_histignore ("HISTIGNORE");
+}
+
+/* Load the history list from the history file. */
+void
+load_history ()
+{
+  char *hf;
+
+  /* Truncate history file for interactive shells which desire it.
+     Note that the history file is automatically truncated to the
+     size of HISTSIZE if the user does not explicitly set the size
+     differently. */
+  set_if_not ("HISTSIZE", "500");
+  sv_histsize ("HISTSIZE");
+
+  set_if_not ("HISTFILESIZE", get_string_value ("HISTSIZE"));
+  sv_histsize ("HISTFILESIZE");
+
+  /* Read the history in HISTFILE into the history list. */
+  hf = get_string_value ("HISTFILE");
+
+  if (hf && *hf && file_exists (hf))
+    {
+      read_history (hf);
+      using_history ();
+      history_lines_in_file = where_history ();
+    }
+}
+
+void
+bash_clear_history ()
+{
+  clear_history ();
+  history_lines_this_session = 0;
+}
+
+/* Delete and free the history list entry at offset I. */
+int
+bash_delete_histent (i)
+     int i;
+{
+  HIST_ENTRY *discard;
+
+  discard = remove_history (i);
+  if (discard)
+    free_history_entry (discard);
+  history_lines_this_session--;
+
+  return 1;
+}
+
+int
+bash_delete_last_history ()
+{
+  register int i;
+  HIST_ENTRY **hlist, *histent;
+  int r;
+
+  hlist = history_list ();
+  if (hlist == NULL)
+    return 0;
+
+  for (i = 0; hlist[i]; i++)
+    ;
+  i--;
+
+  /* History_get () takes a parameter that must be offset by history_base. */
+  histent = history_get (history_base + i);    /* Don't free this */
+  if (histent == NULL)
+    return 0;
+
+  r = bash_delete_histent (i);
+
+  if (where_history () > history_length)
+    history_set_pos (history_length);
+
+  return r;
+}
+
+#ifdef INCLUDE_UNUSED
+/* Write the existing history out to the history file. */
+void
+save_history ()
+{
+  char *hf;
+
+  hf = get_string_value ("HISTFILE");
+  if (hf && *hf && file_exists (hf))
+    {
+      /* Append only the lines that occurred this session to
+        the history file. */
+      using_history ();
+
+      if (history_lines_this_session < where_history () || force_append_history)
+       append_history (history_lines_this_session, hf);
+      else
+       write_history (hf);
+      sv_histsize ("HISTFILESIZE");
+    }
+}
+#endif
+
+int
+maybe_append_history (filename)
+     char *filename;
+{
+  int fd, result;
+  struct stat buf;
+
+  result = EXECUTION_SUCCESS;
+  if (history_lines_this_session && (history_lines_this_session < where_history ()))
+    {
+      /* If the filename was supplied, then create it if necessary. */
+      if (stat (filename, &buf) == -1 && errno == ENOENT)
+       {
+         fd = open (filename, O_WRONLY|O_CREAT, 0600);
+         if (fd < 0)
+           {
+             builtin_error (_("%s: cannot create: %s"), filename, strerror (errno));
+             return (EXECUTION_FAILURE);
+           }
+         close (fd);
+       }
+      result = append_history (history_lines_this_session, filename);
+      history_lines_in_file += history_lines_this_session;
+      history_lines_this_session = 0;
+    }
+  return (result);
+}
+
+/* If this is an interactive shell, then append the lines executed
+   this session to the history file. */
+int
+maybe_save_shell_history ()
+{
+  int result;
+  char *hf;
+
+  result = 0;
+  if (history_lines_this_session)
+    {
+      hf = get_string_value ("HISTFILE");
+
+      if (hf && *hf)
+       {
+         /* If the file doesn't exist, then create it. */
+         if (file_exists (hf) == 0)
+           {
+             int file;
+             file = open (hf, O_CREAT | O_TRUNC | O_WRONLY, 0600);
+             if (file != -1)
+               close (file);
+           }
+
+         /* Now actually append the lines if the history hasn't been
+            stifled.  If the history has been stifled, rewrite the
+            history file. */
+         using_history ();
+         if (history_lines_this_session <= where_history () || force_append_history)
+           {
+             result = append_history (history_lines_this_session, hf);
+             history_lines_in_file += history_lines_this_session;
+           }
+         else
+           {
+             result = write_history (hf);
+             history_lines_in_file = history_lines_this_session;
+           }
+         history_lines_this_session = 0;
+
+         sv_histsize ("HISTFILESIZE");
+       }
+    }
+  return (result);
+}
+
+#if defined (READLINE)
+/* Tell readline () that we have some text for it to edit. */
+static void
+re_edit (text)
+     char *text;
+{
+  if (bash_input.type == st_stdin)
+    bash_re_edit (text);
+}
+#endif /* READLINE */
+
+/* Return 1 if this line needs history expansion. */
+static int
+history_expansion_p (line)
+     char *line;
+{
+  register char *s;
+
+  for (s = line; *s; s++)
+    if (*s == history_expansion_char || *s == history_subst_char)
+      return 1;
+  return 0;
+}
+
+/* Do pre-processing on LINE.  If PRINT_CHANGES is non-zero, then
+   print the results of expanding the line if there were any changes.
+   If there is an error, return NULL, otherwise the expanded line is
+   returned.  If ADDIT is non-zero the line is added to the history
+   list after history expansion.  ADDIT is just a suggestion;
+   REMEMBER_ON_HISTORY can veto, and does.
+   Right now this does history expansion. */
+char *
+pre_process_line (line, print_changes, addit)
+     char *line;
+     int print_changes, addit;
+{
+  char *history_value;
+  char *return_value;
+  int expanded;
+
+  return_value = line;
+  expanded = 0;
+
+#  if defined (BANG_HISTORY)
+  /* History expand the line.  If this results in no errors, then
+     add that line to the history if ADDIT is non-zero. */
+  if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
+    {
+      expanded = history_expand (line, &history_value);
+
+      if (expanded)
+       {
+         if (print_changes)
+           {
+             if (expanded < 0)
+               internal_error ("%s", history_value);
+#if defined (READLINE)
+             else if (hist_verify == 0 || expanded == 2)
+#else
+             else
+#endif
+               fprintf (stderr, "%s\n", history_value);
+           }
+
+         /* If there was an error, return NULL. */
+         if (expanded < 0 || expanded == 2)    /* 2 == print only */
+           {
+#    if defined (READLINE)
+             if (expanded == 2 && rl_dispatching == 0 && *history_value)
+#    else            
+             if (expanded == 2 && *history_value)
+#    endif /* !READLINE */
+               maybe_add_history (history_value);
+
+             free (history_value);
+
+#    if defined (READLINE)
+             /* New hack.  We can allow the user to edit the
+                failed history expansion. */
+             if (history_reediting && expanded < 0 && rl_done)
+               re_edit (line);
+#    endif /* READLINE */
+             return ((char *)NULL);
+           }
+
+#    if defined (READLINE)
+         if (hist_verify && expanded == 1)
+           {
+             re_edit (history_value);
+             return ((char *)NULL);
+           }
+#    endif
+       }
+
+      /* Let other expansions know that return_value can be free'ed,
+        and that a line has been added to the history list.  Note
+        that we only add lines that have something in them. */
+      expanded = 1;
+      return_value = history_value;
+    }
+#  endif /* BANG_HISTORY */
+
+  if (addit && remember_on_history && *return_value)
+    maybe_add_history (return_value);
+
+#if 0
+  if (expanded == 0)
+    return_value = savestring (line);
+#endif
+
+  return (return_value);
+}
+
+/* Return 1 if the first non-whitespace character in LINE is a `#', indicating
+ * that the line is a shell comment. */
+static int
+shell_comment (line)
+     char *line;
+{
+  char *p;
+
+  for (p = line; p && *p && whitespace (*p); p++)
+    ;
+  return (p && *p == '#');
+}
+
+#ifdef INCLUDE_UNUSED
+/* Remove shell comments from LINE.  A `#' and anything after it is a comment.
+   This isn't really useful yet, since it doesn't handle quoting. */
+static char *
+filter_comments (line)
+     char *line;
+{
+  char *p;
+
+  for (p = line; p && *p && *p != '#'; p++)
+    ;
+  if (p && *p == '#')
+    *p = '\0';
+  return (line);
+}
+#endif
+
+/* Check LINE against what HISTCONTROL says to do.  Returns 1 if the line
+   should be saved; 0 if it should be discarded. */
+static int
+check_history_control (line)
+     char *line;
+{
+  HIST_ENTRY *temp;
+  int r;
+
+  if (history_control == 0)
+    return 1;
+
+  /* ignorespace or ignoreboth */
+  if ((history_control & HC_IGNSPACE) && *line == ' ')
+    return 0;
+
+  /* ignoredups or ignoreboth */
+  if (history_control & HC_IGNDUPS)
+    {
+      using_history ();
+      temp = previous_history ();
+
+      r = (temp == 0 || STREQ (temp->line, line) == 0);
+
+      using_history ();
+
+      if (r == 0)
+       return r;
+    }
+
+  return 1;
+}
+
+/* Remove all entries matching LINE from the history list.  Triggered when
+   HISTCONTROL includes `erasedups'. */
+static void
+hc_erasedups (line)
+     char *line;
+{
+  HIST_ENTRY *temp;
+  int r;
+
+  using_history ();
+  while (temp = previous_history ())
+    {
+      if (STREQ (temp->line, line))
+       {
+         r = where_history ();
+         remove_history (r);
+       }
+    }
+  using_history ();
+}
+
+/* Add LINE to the history list, handling possibly multi-line compound
+   commands.  We note whether or not we save the first line of each command
+   (which is usually the entire command and history entry), and don't add
+   the second and subsequent lines of a multi-line compound command if we
+   didn't save the first line.  We don't usually save shell comment lines in
+   compound commands in the history, because they could have the effect of
+   commenting out the rest of the command when the entire command is saved as
+   a single history entry (when COMMAND_ORIENTED_HISTORY is enabled).  If
+   LITERAL_HISTORY is set, we're saving lines in the history with embedded
+   newlines, so it's OK to save comment lines.  We also make sure to save
+   multiple-line quoted strings or other constructs. */
+void
+maybe_add_history (line)
+     char *line;
+{
+  hist_last_line_added = 0;
+
+  /* Don't use the value of history_control to affect the second
+     and subsequent lines of a multi-line command (old code did
+     this only when command_oriented_history is enabled). */
+  if (current_command_line_count > 1)
+    {
+      if (current_command_first_line_saved &&
+         (literal_history || dstack.delimiter_depth != 0 || shell_comment (line) == 0))
+       bash_add_history (line);
+      return;
+    }
+
+  /* This is the first line of a (possible multi-line) command.  Note whether
+     or not we should save the first line and remember it. */
+  current_command_first_line_saved = check_add_history (line, 0);
+}
+
+/* Just check LINE against HISTCONTROL and HISTIGNORE and add it to the
+   history if it's OK.  Used by `history -s' as well as maybe_add_history().
+   Returns 1 if the line was saved in the history, 0 otherwise. */
+int
+check_add_history (line, force)
+     char *line;
+     int force;
+{
+  if (check_history_control (line) && history_should_ignore (line) == 0)
+    {
+      /* We're committed to saving the line.  If the user has requested it,
+        remove other matching lines from the history. */
+      if (history_control & HC_ERASEDUPS)
+       hc_erasedups (line);
+        
+      if (force)
+       {
+         really_add_history (line);
+         using_history ();
+       }
+      else
+       bash_add_history (line);
+      return 1;
+    }
+  return 0;
+}
+
+#if defined (SYSLOG_HISTORY)
+#define SYSLOG_MAXLEN 600
+
+void
+bash_syslog_history (line)
+     const char *line;
+{
+  char trunc[SYSLOG_MAXLEN];
+
+  if (strlen(line) < SYSLOG_MAXLEN)
+    syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY: PID=%d UID=%d %s", getpid(), current_user.uid, line);
+  else
+    {
+      strcpy (trunc, line, SYSLOG_MAXLEN);
+      trunc[SYSLOG_MAXLEN - 1] = '\0';
+      syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED): PID=%d UID=%d %s", getpid(), current_user.uid, trunc);
+    }
+}
+#endif
+       
+/* Add a line to the history list.
+   The variable COMMAND_ORIENTED_HISTORY controls the style of history
+   remembering;  when non-zero, and LINE is not the first line of a
+   complete parser construct, append LINE to the last history line instead
+   of adding it as a new line. */
+void
+bash_add_history (line)
+     char *line;
+{
+  int add_it, offset, curlen;
+  HIST_ENTRY *current, *old;
+  char *chars_to_add, *new_line;
+
+  add_it = 1;
+  if (command_oriented_history && current_command_line_count > 1)
+    {
+      chars_to_add = literal_history ? "\n" : history_delimiting_chars ();
+
+      using_history ();
+      current = previous_history ();
+
+      if (current)
+       {
+         /* If the previous line ended with an escaped newline (escaped
+            with backslash, but otherwise unquoted), then remove the quoted
+            newline, since that is what happens when the line is parsed. */
+         curlen = strlen (current->line);
+
+         if (dstack.delimiter_depth == 0 && current->line[curlen - 1] == '\\' &&
+             current->line[curlen - 2] != '\\')
+           {
+             current->line[curlen - 1] = '\0';
+             curlen--;
+             chars_to_add = "";
+           }
+
+         new_line = (char *)xmalloc (1
+                                     + curlen
+                                     + strlen (line)
+                                     + strlen (chars_to_add));
+         sprintf (new_line, "%s%s%s", current->line, chars_to_add, line);
+         offset = where_history ();
+         old = replace_history_entry (offset, new_line, current->data);
+         free (new_line);
+
+         if (old)
+           free_history_entry (old);
+
+         add_it = 0;
+       }
+    }
+
+  if (add_it)
+    really_add_history (line);
+
+#if defined (SYSLOG_HISTORY)
+  bash_syslog_history (line);
+#endif
+
+  using_history ();
+}
+
+static void
+really_add_history (line)
+     char *line;
+{
+  hist_last_line_added = 1;
+  hist_last_line_pushed = 0;
+  add_history (line);
+  history_lines_this_session++;
+}
+
+int
+history_number ()
+{
+  using_history ();
+  return (remember_on_history ? history_base + where_history () : 1);
+}
+
+static int
+should_expand (s)
+     char *s;
+{
+  char *p;
+
+  for (p = s; p && *p; p++)
+    {
+      if (*p == '\\')
+       p++;
+      else if (*p == '&')
+       return 1;
+    }
+  return 0;
+}
+
+static int
+histignore_item_func (ign)
+     struct ign *ign;
+{
+  if (should_expand (ign->val))
+    ign->flags |= HIGN_EXPAND;
+  return (0);
+}
+
+void
+setup_history_ignore (varname)
+     char *varname;
+{
+  setup_ignore_patterns (&histignore);
+}
+
+static HIST_ENTRY *
+last_history_entry ()
+{
+  HIST_ENTRY *he;
+
+  using_history ();
+  he = previous_history ();
+  using_history ();
+  return he;
+}
+
+char *
+last_history_line ()
+{
+  HIST_ENTRY *he;
+
+  he = last_history_entry ();
+  if (he == 0)
+    return ((char *)NULL);
+  return he->line;
+}
+
+static char *
+expand_histignore_pattern (pat)
+     char *pat;
+{
+  HIST_ENTRY *phe;
+  char *ret;
+
+  phe = last_history_entry ();
+
+  if (phe == (HIST_ENTRY *)0)
+    return (savestring (pat));
+
+  ret = strcreplace (pat, '&', phe->line, 1);
+
+  return ret;
+}
+
+/* Return 1 if we should not put LINE into the history according to the
+   patterns in HISTIGNORE. */
+static int
+history_should_ignore (line)
+     char *line;
+{
+  register int i, match;
+  char *npat;
+
+  if (histignore.num_ignores == 0)
+    return 0;
+
+  for (i = match = 0; i < histignore.num_ignores; i++)
+    {
+      if (histignore.ignores[i].flags & HIGN_EXPAND)
+       npat = expand_histignore_pattern (histignore.ignores[i].val);
+      else
+       npat = histignore.ignores[i].val;
+
+      match = strmatch (npat, line, FNMATCH_EXTFLAG) != FNM_NOMATCH;
+
+      if (histignore.ignores[i].flags & HIGN_EXPAND)
+       free (npat);
+
+      if (match)
+       break;
+    }
+
+  return match;
+}
+#endif /* HISTORY */
index ecf9d1b454fa1f37ad78fec866a040e105c8bad2..a19403057deea3bf6a455fb5664ebd9daa1bd919 100644 (file)
@@ -141,6 +141,10 @@ extern int shopt_listopt __P((char *, int));
 
 extern int set_login_shell __P((int));
 
+extern void set_bashopts __P((void));
+extern void parse_bashopts __P((char *));
+extern void intialize_bashopts __P((int));
+
 /* Functions from type.def */
 extern int describe_command __P((char *, int));
 
diff --git a/builtins/common.h~ b/builtins/common.h~
new file mode 100644 (file)
index 0000000..182083a
--- /dev/null
@@ -0,0 +1,174 @@
+/* common.h -- extern declarations for functions defined in common.c. */
+
+/* Copyright (C) 1993-2004 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/>.
+*/
+
+#if  !defined (__COMMON_H)
+#  define __COMMON_H
+
+#include "stdc.h"
+
+#define ISOPTION(s, c) (s[0] == '-' && !s[2] && s[1] == c)
+
+/* Flag values for parse_and_execute () */
+#define SEVAL_NONINT   0x001
+#define SEVAL_INTERACT 0x002
+#define SEVAL_NOHIST   0x004
+#define SEVAL_NOFREE   0x008
+#define SEVAL_RESETLINE        0x010
+#define SEVAL_PARSEONLY        0x020
+#define SEVAL_NOLONGJMP 0x040
+
+/* Flags for describe_command, shared between type.def and command.def */
+#define CDESC_ALL              0x001   /* type -a */
+#define CDESC_SHORTDESC                0x002   /* command -V */
+#define CDESC_REUSABLE         0x004   /* command -v */
+#define CDESC_TYPE             0x008   /* type -t */
+#define CDESC_PATH_ONLY                0x010   /* type -p */
+#define CDESC_FORCE_PATH       0x020   /* type -ap or type -P */
+#define CDESC_NOFUNCS          0x040   /* type -f */
+#define CDESC_ABSPATH          0x080   /* convert to absolute path, no ./ */
+
+/* Flags for get_job_by_name */
+#define JM_PREFIX              0x01    /* prefix of job name */
+#define JM_SUBSTRING           0x02    /* substring of job name */
+#define JM_EXACT               0x04    /* match job name exactly */
+#define JM_STOPPED             0x08    /* match stopped jobs only */
+#define JM_FIRSTMATCH          0x10    /* return first matching job */
+
+/* Flags for remember_args and value of changed_dollar_vars */
+#define ARGS_NONE              0x0
+#define ARGS_INVOC             0x01
+#define ARGS_FUNC              0x02
+#define ARGS_SETBLTIN          0x04
+
+/* Functions from common.c */
+extern void builtin_error __P((const char *, ...))  __attribute__((__format__ (printf, 1, 2)));
+extern void builtin_warning __P((const char *, ...))  __attribute__((__format__ (printf, 1, 2)));
+extern void builtin_usage __P((void));
+extern void no_args __P((WORD_LIST *));
+extern int no_options __P((WORD_LIST *));
+
+/* common error message functions */
+extern void sh_needarg __P((char *));
+extern void sh_neednumarg __P((char *));
+extern void sh_notfound __P((char *));
+extern void sh_invalidopt __P((char *));
+extern void sh_invalidoptname __P((char *));
+extern void sh_invalidid __P((char *));
+extern void sh_invalidnum __P((char *));
+extern void sh_invalidsig __P((char *));
+extern void sh_erange __P((char *, char *));
+extern void sh_badpid __P((char *));
+extern void sh_badjob __P((char *));
+extern void sh_readonly __P((const char *));
+extern void sh_nojobs __P((char *));
+extern void sh_restricted __P((char *));
+extern void sh_notbuiltin __P((char *));
+extern void sh_wrerror __P((void));
+extern void sh_ttyerror __P((int));
+extern int sh_chkwrite __P((int));
+
+extern char **make_builtin_argv __P((WORD_LIST *, int *));
+extern void remember_args __P((WORD_LIST *, int));
+
+extern int dollar_vars_changed __P((void));
+extern void set_dollar_vars_unchanged __P((void));
+extern void set_dollar_vars_changed __P((void));
+
+extern int get_numeric_arg __P((WORD_LIST *, int, intmax_t *));
+extern int get_exitstat __P((WORD_LIST *));
+extern int read_octal __P((char *));
+
+/* Keeps track of the current working directory. */
+extern char *the_current_working_directory;
+extern char *get_working_directory __P((char *));
+extern void set_working_directory __P((char *));
+
+#if defined (JOB_CONTROL)
+extern int get_job_by_name __P((const char *, int));
+extern int get_job_spec __P((WORD_LIST *));
+#endif
+extern int display_signal_list __P((WORD_LIST *, int));
+
+/* It's OK to declare a function as returning a Function * without
+   providing a definition of what a `Function' is. */
+extern struct builtin *builtin_address_internal __P((char *, int));
+extern sh_builtin_func_t *find_shell_builtin __P((char *));
+extern sh_builtin_func_t *builtin_address __P((char *));
+extern sh_builtin_func_t *find_special_builtin __P((char *));
+extern void initialize_shell_builtins __P((void));
+
+/* Functions from exit.def */
+extern void bash_logout __P((void));
+
+/* Functions from getopts.def */
+extern void getopts_reset __P((int));
+
+/* Functions from set.def */
+extern int minus_o_option_value __P((char *));
+extern void list_minus_o_opts __P((int, int));
+extern char **get_minus_o_opts __P((void));
+extern int set_minus_o_option __P((int, char *));
+
+extern void set_shellopts __P((void));
+extern void parse_shellopts __P((char *));
+extern void initialize_shell_options __P((int));
+
+extern void reset_shell_options __P((void));
+
+/* Functions from shopt.def */
+extern void reset_shopt_options __P((void));
+extern char **get_shopt_options __P((void));
+
+extern int shopt_setopt __P((char *, int));
+extern int shopt_listopt __P((char *, int));
+
+extern int set_login_shell __P((int));
+
+extern void set_bashopts __P((void));
+extern void parse_bashopts __P((void));
+extern void intialize_bashopts __P((int));
+
+/* Functions from type.def */
+extern int describe_command __P((char *, int));
+
+/* Functions from setattr.def */
+extern int set_or_show_attributes __P((WORD_LIST *, int, int));
+extern int show_all_var_attributes __P((int, int));
+extern int show_var_attributes __P((SHELL_VAR *, int, int));
+extern int show_name_attributes __P((char *, int));
+extern void set_var_attribute __P((char *, int, int));
+
+/* Functions from pushd.def */
+extern char *get_dirstack_from_string __P((char *));
+extern char *get_dirstack_element __P((intmax_t, int));
+extern void set_dirstack_element __P((intmax_t, int, char *));
+extern WORD_LIST *get_directory_stack __P((int));
+
+/* Functions from evalstring.c */
+extern int parse_and_execute __P((char *, const char *, int));
+extern void parse_and_execute_cleanup __P((void));
+extern int parse_string __P((char *, const char *, int, char **));
+
+/* Functions from evalfile.c */
+extern int maybe_execute_file __P((const char *, int));
+extern int source_file __P((const char *, int));
+extern int fc_execute_file __P((const char *));
+
+#endif /* !__COMMON_H */
index 55b5cb786b7fccd4d39cbc188ea6c81469fbceee..1b6b8c94fed29f0c0c7543782a07b21827b97534 100644 (file)
@@ -81,7 +81,7 @@ _evalfile (filename, flags)
 {
   volatile int old_interactive;
   procenv_t old_return_catch;
-  int return_val, fd, result, pflags;
+  int return_val, fd, result, pflags, i;
   ssize_t nr;                  /* return value from read(2) */
   char *string;
   struct stat finfo;
@@ -186,6 +186,17 @@ file_error_and_exit:
       return ((flags & FEVAL_BUILTIN) ? EX_BINARY_FILE : -1);
     }
 
+  i = strlen (string);
+  if (i < nr)
+    {
+      for (i = 0; i < nr; i++)
+       if (string[i] == '\0')
+          {
+           memmove (string+i, string+i+1, nr - i);
+           nr--;
+          }
+    }
+
   if (flags & FEVAL_UNWINDPROT)
     {
       begin_unwind_frame ("_evalfile");
diff --git a/builtins/evalfile.c~ b/builtins/evalfile.c~
new file mode 100644 (file)
index 0000000..ee480b9
--- /dev/null
@@ -0,0 +1,343 @@
+/* evalfile.c - read and evaluate commands from a file or file descriptor */
+
+/* Copyright (C) 1996-2009 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>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "../bashtypes.h"
+#include "posixstat.h"
+#include "filecntl.h"
+
+#include <stdio.h>
+#include <signal.h>
+#include <errno.h>
+
+#include "../bashansi.h"
+#include "../bashintl.h"
+
+#include "../shell.h"
+#include "../jobs.h"
+#include "../builtins.h"
+#include "../flags.h"
+#include "../input.h"
+#include "../execute_cmd.h"
+#include "../trap.h"
+
+#if defined (HISTORY)
+#  include "../bashhist.h"
+#endif
+
+#include <typemax.h>
+
+#include "common.h"
+
+#if !defined (errno)
+extern int errno;
+#endif
+
+/* Flags for _evalfile() */
+#define FEVAL_ENOENTOK         0x001
+#define FEVAL_BUILTIN          0x002
+#define FEVAL_UNWINDPROT       0x004
+#define FEVAL_NONINT           0x008
+#define FEVAL_LONGJMP          0x010
+#define FEVAL_HISTORY          0x020
+#define FEVAL_CHECKBINARY      0x040
+#define FEVAL_REGFILE          0x080
+#define FEVAL_NOPUSHARGS       0x100
+
+extern int posixly_correct;
+extern int indirection_level, subshell_environment;
+extern int return_catch_flag, return_catch_value;
+extern int last_command_exit_value;
+
+/* How many `levels' of sourced files we have. */
+int sourcelevel = 0;
+
+static int
+_evalfile (filename, flags)
+     const char *filename;
+     int flags;
+{
+  volatile int old_interactive;
+  procenv_t old_return_catch;
+  int return_val, fd, result, pflags, i;
+  ssize_t nr;                  /* return value from read(2) */
+  char *string;
+  struct stat finfo;
+  size_t file_size;
+  sh_vmsg_func_t *errfunc;
+#if defined (ARRAY_VARS)
+  SHELL_VAR *funcname_v, *nfv, *bash_source_v, *bash_lineno_v;
+  ARRAY *funcname_a, *bash_source_a, *bash_lineno_a;
+#  if defined (DEBUGGER)
+  SHELL_VAR *bash_argv_v, *bash_argc_v;
+  ARRAY *bash_argv_a, *bash_argc_a;
+#  endif
+  char *t, tt[2];
+#endif
+
+  USE_VAR(pflags);
+
+#if defined (ARRAY_VARS)
+  GET_ARRAY_FROM_VAR ("FUNCNAME", funcname_v, funcname_a);
+  GET_ARRAY_FROM_VAR ("BASH_SOURCE", bash_source_v, bash_source_a);
+  GET_ARRAY_FROM_VAR ("BASH_LINENO", bash_lineno_v, bash_lineno_a);
+#  if defined (DEBUGGER)
+  GET_ARRAY_FROM_VAR ("BASH_ARGV", bash_argv_v, bash_argv_a);
+  GET_ARRAY_FROM_VAR ("BASH_ARGC", bash_argc_v, bash_argc_a);
+#  endif
+#endif
+  
+  fd = open (filename, O_RDONLY);
+
+  if (fd < 0 || (fstat (fd, &finfo) == -1))
+    {
+file_error_and_exit:
+      if (((flags & FEVAL_ENOENTOK) == 0) || errno != ENOENT)
+       file_error (filename);
+
+      if (flags & FEVAL_LONGJMP)
+       {
+         last_command_exit_value = 1;
+         jump_to_top_level (EXITPROG);
+       }
+
+      return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE
+                                     : ((errno == ENOENT) ? 0 : -1));
+    }
+
+  errfunc = ((flags & FEVAL_BUILTIN) ? builtin_error : internal_error);
+
+  if (S_ISDIR (finfo.st_mode))
+    {
+      (*errfunc) (_("%s: is a directory"), filename);
+      return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);
+    }
+  else if ((flags & FEVAL_REGFILE) && S_ISREG (finfo.st_mode) == 0)
+    {
+      (*errfunc) (_("%s: not a regular file"), filename);
+      return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);
+    }
+
+  file_size = (size_t)finfo.st_size;
+  /* Check for overflow with large files. */
+  if (file_size != finfo.st_size || file_size + 1 < file_size)
+    {
+      (*errfunc) (_("%s: file is too large"), filename);
+      return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);
+    }      
+
+#if defined (__CYGWIN__) && defined (O_TEXT)
+  setmode (fd, O_TEXT);
+#endif
+
+  if (S_ISREG (finfo.st_mode) && file_size <= SSIZE_MAX)
+    {
+      string = (char *)xmalloc (1 + file_size);
+      nr = read (fd, string, file_size);
+      if (nr >= 0)
+       string[nr] = '\0';
+    }
+  else
+    nr = zmapfd (fd, &string, 0);
+
+  return_val = errno;
+  close (fd);
+  errno = return_val;
+
+  if (nr < 0)          /* XXX was != file_size, not < 0 */
+    {
+      free (string);
+      goto file_error_and_exit;
+    }
+
+  if (nr == 0)
+    {
+      free (string);
+      return ((flags & FEVAL_BUILTIN) ? EXECUTION_SUCCESS : 1);
+    }
+      
+  if ((flags & FEVAL_CHECKBINARY) && 
+      check_binary_file (string, (nr > 80) ? 80 : nr))
+    {
+      free (string);
+      (*errfunc) (_("%s: cannot execute binary file"), filename);
+      return ((flags & FEVAL_BUILTIN) ? EX_BINARY_FILE : -1);
+    }
+
+  i = strlen (string);
+itrace("_evalfile: nr = %d strlen(string) = %d", nr, i);
+  if (i < nr)
+    {
+      for (i = 0; i < nr; i++)
+       if (string[i] == '\0')
+          {
+           memmove (string+i, string+i+1, nr - i);
+           nr--;
+          }
+    }
+
+  if (flags & FEVAL_UNWINDPROT)
+    {
+      begin_unwind_frame ("_evalfile");
+
+      unwind_protect_int (return_catch_flag);
+      unwind_protect_jmp_buf (return_catch);
+      if (flags & FEVAL_NONINT)
+       unwind_protect_int (interactive);
+      unwind_protect_int (sourcelevel);
+    }
+  else
+    {
+      COPY_PROCENV (return_catch, old_return_catch);
+      if (flags & FEVAL_NONINT)
+       old_interactive = interactive;
+    }
+
+  if (flags & FEVAL_NONINT)
+    interactive = 0;
+
+  return_catch_flag++;
+  sourcelevel++;
+
+#if defined (ARRAY_VARS)
+  array_push (bash_source_a, (char *)filename);
+  t = itos (executing_line_number ());
+  array_push (bash_lineno_a, t);
+  free (t);
+  array_push (funcname_a, "source");   /* not exactly right */
+#  if defined (DEBUGGER)
+  /* Have to figure out a better way to do this when `source' is supplied
+     arguments */
+  if ((flags & FEVAL_NOPUSHARGS) == 0)
+    {
+      array_push (bash_argv_a, (char *)filename);
+      tt[0] = '1'; tt[1] = '\0';
+      array_push (bash_argc_a, tt);
+    }
+#  endif
+#endif
+
+  /* set the flags to be passed to parse_and_execute */
+  pflags = SEVAL_RESETLINE;
+  pflags |= (flags & FEVAL_HISTORY) ? 0 : SEVAL_NOHIST;
+
+  if (flags & FEVAL_BUILTIN)
+    result = EXECUTION_SUCCESS;
+
+  return_val = setjmp (return_catch);
+
+  /* If `return' was seen outside of a function, but in the script, then
+     force parse_and_execute () to clean up. */
+  if (return_val)
+    {
+      parse_and_execute_cleanup ();
+      result = return_catch_value;
+    }
+  else
+    result = parse_and_execute (string, filename, pflags);
+
+  if (flags & FEVAL_UNWINDPROT)
+    run_unwind_frame ("_evalfile");
+  else
+    {
+      if (flags & FEVAL_NONINT)
+       interactive = old_interactive;
+      return_catch_flag--;
+      sourcelevel--;
+      COPY_PROCENV (old_return_catch, return_catch);
+    }
+
+#if defined (ARRAY_VARS)
+  /* These two variables cannot be unset, and cannot be affected by the
+     sourced file. */
+  array_pop (bash_source_a);
+  array_pop (bash_lineno_a);
+
+  /* FUNCNAME can be unset, and so can potentially be changed by the
+     sourced file. */
+  GET_ARRAY_FROM_VAR ("FUNCNAME", nfv, funcname_a);
+  if (nfv == funcname_v)
+    array_pop (funcname_a);
+#  if defined (DEBUGGER)
+  if ((flags & FEVAL_NOPUSHARGS) == 0)
+    {
+      array_pop (bash_argc_a);
+      array_pop (bash_argv_a);
+    }
+#  endif
+#endif
+
+  return ((flags & FEVAL_BUILTIN) ? result : 1);
+}
+
+int
+maybe_execute_file (fname, force_noninteractive)
+     const char *fname;
+     int force_noninteractive;
+{
+  char *filename;
+  int result, flags;
+
+  filename = bash_tilde_expand (fname, 0);
+  flags = FEVAL_ENOENTOK;
+  if (force_noninteractive)
+    flags |= FEVAL_NONINT;
+  result = _evalfile (filename, flags);
+  free (filename);
+  return result;
+}
+
+#if defined (HISTORY)
+int
+fc_execute_file (filename)
+     const char *filename;
+{
+  int flags;
+
+  /* We want these commands to show up in the history list if
+     remember_on_history is set. */
+  flags = FEVAL_ENOENTOK|FEVAL_HISTORY|FEVAL_REGFILE;
+  return (_evalfile (filename, flags));
+}
+#endif /* HISTORY */
+
+int
+source_file (filename, sflags)
+     const char *filename;
+     int sflags;
+{
+  int flags, rval;
+
+  flags = FEVAL_BUILTIN|FEVAL_UNWINDPROT|FEVAL_NONINT;
+  if (sflags)
+    flags |= FEVAL_NOPUSHARGS;
+  /* POSIX shells exit if non-interactive and file error. */
+  if (posixly_correct && !interactive_shell)
+    flags |= FEVAL_LONGJMP;
+  rval = _evalfile (filename, flags);
+
+  run_return_trap ();
+  return rval;
+}
index d30a869d5d98eb6a868301c1f7adaf0ea6157f14..643558194cb1bb3786cca4a843cc02401732b9e1 100644 (file)
@@ -123,6 +123,7 @@ static int set_restricted_shell __P((int));
 static int shopt_login_shell;
 static int shopt_compat31;
 static int shopt_compat32;
+static int shopt_compat40;
 
 typedef int shopt_set_func_t __P((int));
 
@@ -197,6 +198,10 @@ static struct {
   { (char *)0, (int *)0, (shopt_set_func_t *)NULL }
 };
 
+#define N_SHOPT_OPTIONS                (sizeof (shopt_vars) / sizeof (shopt_vars[0]))
+
+#define GET_SHOPT_OPTION_VALUE(i)      (*shopt_vars[i].value)
+
 static const char * const on = "on";
 static const char * const off = "off";
 
@@ -343,6 +348,8 @@ toggle_shopts (mode, list, quiet)
            (*shopt_vars[ind].set_func) (mode);
        }
     }
+
+  set_bashopts ();
   return (rval);
 }
 
@@ -579,3 +586,104 @@ shopt_listopt (name, reusable)
   print_shopt (name, *shopt_vars[i].value, reusable ? PFLAG : 0);
   return (sh_chkwrite (EXECUTION_SUCCESS));
 }
+
+void
+set_bashopts ()
+{
+  char *value;
+  char tflag[N_SHOPT_OPTIONS];
+  int vsize, i, vptr, *ip, exported;
+  SHELL_VAR *v;
+
+  for (vsize = i = 0; shopt_vars[i].name; i++)
+    {
+      tflag[i] = 0;
+      if (GET_SHOPT_OPTION_VALUE (i))
+       {
+         vsize += strlen (shopt_vars[i].name) + 1;
+         tflag[i] = 1;
+       }
+    }
+
+  value = (char *)xmalloc (vsize + 1);
+
+  for (i = vptr = 0; shopt_vars[i].name; i++)
+    {
+      if (tflag[i])
+       {
+         strcpy (value + vptr, shopt_vars[i].name);
+         vptr += strlen (shopt_vars[i].name);
+         value[vptr++] = ':';
+       }
+    }
+
+  if (vptr)
+    vptr--;                    /* cut off trailing colon */
+  value[vptr] = '\0';
+
+  v = find_variable ("BASHOPTS");
+
+  /* Turn off the read-only attribute so we can bind the new value, and
+     note whether or not the variable was exported. */
+  if (v)
+    {
+      VUNSETATTR (v, att_readonly);
+      exported = exported_p (v);
+    }
+  else
+    exported = 0;
+
+  v = bind_variable ("BASHOPTS", value, 0);
+
+  /* Turn the read-only attribute back on, and turn off the export attribute
+     if it was set implicitly by mark_modified_vars and SHELLOPTS was not
+     exported before we bound the new value. */
+  VSETATTR (v, att_readonly);
+  if (mark_modified_vars && exported == 0 && exported_p (v))
+    VUNSETATTR (v, att_exported);
+
+  free (value);
+}
+
+void
+parse_bashopts (value)
+     char *value;
+{
+  char *vname;
+  int vptr, ind;
+
+  vptr = 0;
+  while (vname = extract_colon_unit (value, &vptr))
+    {
+      ind = find_shopt (vname);
+      if (ind >= 0)
+        *shopt_vars[ind].value = 1;
+      free (vname);
+    }
+}
+
+void
+initialize_bashopts (no_bashopts)
+     int no_bashopts;
+{
+  char *temp;
+  SHELL_VAR *var;
+
+  if (no_bashopts == 0)
+    {
+      var = find_variable ("BASHOPTS");
+      /* set up any shell options we may have inherited. */
+      if (var && imported_p (var))
+       {
+         temp = (array_p (var) || assoc_p (var)) ? (char *)NULL : savestring (value_cell (var));
+         if (temp)
+           {
+             parse_bashopts (temp);
+             free (temp);
+           }
+       }
+    }
+
+  /* Set up the $BASHOPTS variable. */
+  set_bashopts ();
+}
diff --git a/builtins/shopt.def~ b/builtins/shopt.def~
new file mode 100644 (file)
index 0000000..0bdb889
--- /dev/null
@@ -0,0 +1,687 @@
+This file is shopt.def, from which is created shopt.c.
+It implements the Bash `shopt' builtin.
+
+Copyright (C) 1994-2009 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/>.
+
+$PRODUCES shopt.c
+
+$BUILTIN shopt
+$FUNCTION shopt_builtin
+$SHORT_DOC shopt [-pqsu] [-o] [optname ...]
+Set and unset shell options.
+
+Change the setting of each shell option OPTNAME.  Without any option
+arguments, list all shell options with an indication of whether or not each
+is set. 
+
+Options:
+  -o   restrict OPTNAMEs to those defined for use with `set -o'
+  -p   print each shell option with an indication of its status
+  -q   suppress output
+  -s   enable (set) each OPTNAME
+  -u   disable (unset) each OPTNAME
+
+Exit Status:
+Returns success if OPTNAME is enabled; fails if an invalid option is
+given or OPTNAME is disabled.
+$END
+
+#include <config.h>
+
+#if defined (HAVE_UNISTD_H)
+#  ifdef _MINIX
+#    include <sys/types.h>
+#  endif
+#  include <unistd.h>
+#endif
+
+#include <stdio.h>
+
+#include "version.h"
+
+#include "../bashintl.h"
+
+#include "../shell.h"
+#include "../flags.h"
+#include "common.h"
+#include "bashgetopt.h"
+
+#if defined (HISTORY)
+#  include "../bashhist.h"
+#endif
+
+#define UNSETOPT       0
+#define SETOPT         1
+
+#define OPTFMT         "%-15s\t%s\n"
+
+extern int allow_null_glob_expansion, fail_glob_expansion, glob_dot_filenames;
+extern int cdable_vars, mail_warning, source_uses_path;
+extern int no_exit_on_failed_exec, print_shift_error;
+extern int check_hashed_filenames, promptvars;
+extern int cdspelling, expand_aliases;
+extern int extended_quote;
+extern int check_window_size;
+extern int glob_ignore_case, match_ignore_case;
+extern int hup_on_exit;
+extern int xpg_echo;
+extern int gnu_error_format;
+extern int check_jobs_at_exit;
+extern int autocd;
+extern int glob_star;
+
+#if defined (EXTENDED_GLOB)
+extern int extended_glob;
+#endif
+
+#if defined (READLINE)
+extern int hist_verify, history_reediting, perform_hostname_completion;
+extern int no_empty_command_completion;
+extern int force_fignore;
+extern int dircomplete_spelling;
+
+extern int enable_hostname_completion __P((int));
+#endif
+
+#if defined (PROGRAMMABLE_COMPLETION)
+extern int prog_completion_enabled;
+#endif
+
+#if defined (RESTRICTED_SHELL)
+extern char *shell_name;
+#endif
+
+#if defined (DEBUGGER)
+extern int debugging_mode;
+#endif
+
+static void shopt_error __P((char *));
+
+static int set_shellopts_after_change __P((int));
+
+static int set_compatibility_level __P((int));
+
+#if defined (RESTRICTED_SHELL)
+static int set_restricted_shell __P((int));
+#endif
+
+static int shopt_login_shell;
+static int shopt_compat31;
+static int shopt_compat32;
+static int shopt_compat40;
+
+typedef int shopt_set_func_t __P((int));
+
+static struct {
+  char *name;
+  int  *value;
+  shopt_set_func_t *set_func;
+} shopt_vars[] = {
+  { "autocd", &autocd, (shopt_set_func_t *)NULL },
+  { "cdable_vars", &cdable_vars, (shopt_set_func_t *)NULL },
+  { "cdspell", &cdspelling, (shopt_set_func_t *)NULL },
+  { "checkhash", &check_hashed_filenames, (shopt_set_func_t *)NULL },
+#if defined (JOB_CONTROL)
+  { "checkjobs", &check_jobs_at_exit, (shopt_set_func_t *)NULL },
+#endif
+  { "checkwinsize", &check_window_size, (shopt_set_func_t *)NULL },
+#if defined (HISTORY)
+  { "cmdhist", &command_oriented_history, (shopt_set_func_t *)NULL },
+#endif
+  { "compat31", &shopt_compat31, set_compatibility_level },
+  { "compat32", &shopt_compat32, set_compatibility_level },
+#if defined (READLINE)
+  { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL },
+#endif
+  { "dotglob", &glob_dot_filenames, (shopt_set_func_t *)NULL },
+  { "execfail", &no_exit_on_failed_exec, (shopt_set_func_t *)NULL },
+  { "expand_aliases", &expand_aliases, (shopt_set_func_t *)NULL },
+#if defined (DEBUGGER)
+  { "extdebug", &debugging_mode, (shopt_set_func_t *)NULL },
+#endif
+#if defined (EXTENDED_GLOB)
+  { "extglob", &extended_glob, (shopt_set_func_t *)NULL },
+#endif
+  { "extquote", &extended_quote, (shopt_set_func_t *)NULL },
+  { "failglob", &fail_glob_expansion, (shopt_set_func_t *)NULL },
+#if defined (READLINE)
+  { "force_fignore", &force_fignore, (shopt_set_func_t *)NULL },
+#endif
+  { "globstar", &glob_star, (shopt_set_func_t *)NULL },
+  { "gnu_errfmt", &gnu_error_format, (shopt_set_func_t *)NULL },
+#if defined (HISTORY)
+  { "histappend", &force_append_history, (shopt_set_func_t *)NULL },
+#endif
+#if defined (READLINE)
+  { "histreedit", &history_reediting, (shopt_set_func_t *)NULL },
+  { "histverify", &hist_verify, (shopt_set_func_t *)NULL },
+  { "hostcomplete", &perform_hostname_completion, enable_hostname_completion },
+#endif
+  { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
+  { "interactive_comments", &interactive_comments, set_shellopts_after_change },
+#if defined (HISTORY)
+  { "lithist", &literal_history, (shopt_set_func_t *)NULL },
+#endif
+  { "login_shell", &shopt_login_shell, set_login_shell },
+  { "mailwarn", &mail_warning, (shopt_set_func_t *)NULL },
+#if defined (READLINE)
+  { "no_empty_cmd_completion", &no_empty_command_completion, (shopt_set_func_t *)NULL },
+#endif
+  { "nocaseglob", &glob_ignore_case, (shopt_set_func_t *)NULL },
+  { "nocasematch", &match_ignore_case, (shopt_set_func_t *)NULL },
+  { "nullglob",        &allow_null_glob_expansion, (shopt_set_func_t *)NULL },
+#if defined (PROGRAMMABLE_COMPLETION)
+  { "progcomp", &prog_completion_enabled, (shopt_set_func_t *)NULL },
+#endif
+  { "promptvars", &promptvars, (shopt_set_func_t *)NULL },
+#if defined (RESTRICTED_SHELL)
+  { "restricted_shell", &restricted_shell, set_restricted_shell },
+#endif
+  { "shift_verbose", &print_shift_error, (shopt_set_func_t *)NULL },
+  { "sourcepath", &source_uses_path, (shopt_set_func_t *)NULL },
+  { "xpg_echo", &xpg_echo, (shopt_set_func_t *)NULL },
+  { (char *)0, (int *)0, (shopt_set_func_t *)NULL }
+};
+
+#define N_SHOPT_OPTIONS                (sizeof (shopt_vars) / sizeof (shopt_vars[0]))
+
+#define GET_SHOPT_OPTION_VALUE(i)      (*shopt_vars[i].value)
+
+static const char * const on = "on";
+static const char * const off = "off";
+
+static int find_shopt __P((char *));
+static int toggle_shopts __P((int, WORD_LIST *, int));
+static void print_shopt __P((char *, int, int));
+static int list_shopts __P((WORD_LIST *, int));
+static int list_some_shopts __P((int, int));
+static int list_shopt_o_options __P((WORD_LIST *, int));
+static int list_some_o_options __P((int, int));
+static int set_shopt_o_options __P((int, WORD_LIST *, int));
+
+#define SFLAG  0x01
+#define UFLAG  0x02
+#define QFLAG  0x04
+#define OFLAG  0x08
+#define PFLAG  0x10
+
+int
+shopt_builtin (list)
+     WORD_LIST *list;
+{
+  int opt, flags, rval;
+
+  flags = 0;
+  reset_internal_getopt ();
+  while ((opt = internal_getopt (list, "psuoq")) != -1)
+    {
+      switch (opt)
+       {
+       case 's':
+         flags |= SFLAG;
+         break;
+       case 'u':
+         flags |= UFLAG;
+         break;
+       case 'q':
+         flags |= QFLAG;
+         break;
+       case 'o':
+         flags |= OFLAG;
+         break;
+       case 'p':
+         flags |= PFLAG;
+         break;
+       default:
+         builtin_usage ();
+         return (EX_USAGE);
+       }
+    }
+  list = loptend;
+
+  if ((flags & (SFLAG|UFLAG)) == (SFLAG|UFLAG))
+    {
+      builtin_error (_("cannot set and unset shell options simultaneously"));
+      return (EXECUTION_FAILURE);
+    }
+
+  rval = EXECUTION_SUCCESS;
+  if ((flags & OFLAG) && ((flags & (SFLAG|UFLAG)) == 0))       /* shopt -o */
+    rval = list_shopt_o_options (list, flags);
+  else if (list && (flags & OFLAG))            /* shopt -so args */
+    rval = set_shopt_o_options ((flags & SFLAG) ? FLAG_ON : FLAG_OFF, list, flags & QFLAG);
+  else if (flags & OFLAG)      /* shopt -so */
+    rval = list_some_o_options ((flags & SFLAG) ? 1 : 0, flags);
+  else if (list && (flags & (SFLAG|UFLAG)))    /* shopt -su args */
+    rval = toggle_shopts ((flags & SFLAG) ? SETOPT : UNSETOPT, list, flags & QFLAG);
+  else if ((flags & (SFLAG|UFLAG)) == 0)       /* shopt [args] */
+    rval = list_shopts (list, flags);
+  else                                         /* shopt -su */
+    rval = list_some_shopts ((flags & SFLAG) ? SETOPT : UNSETOPT, flags);
+  return (rval);
+}
+
+/* Reset the options managed by `shopt' to the values they would have at
+   shell startup. */
+void
+reset_shopt_options ()
+{
+  allow_null_glob_expansion = glob_dot_filenames = 0;
+  cdable_vars = mail_warning = 0;
+  no_exit_on_failed_exec = print_shift_error = 0;
+  check_hashed_filenames = cdspelling = expand_aliases = check_window_size = 0;
+
+  source_uses_path = promptvars = 1;
+
+#if defined (EXTENDED_GLOB)
+  extended_glob = 0;
+#endif
+
+#if defined (HISTORY)
+  literal_history = force_append_history = 0;
+  command_oriented_history = 1;
+#endif
+
+#if defined (READLINE)
+  hist_verify = history_reediting = 0;
+  perform_hostname_completion = 1;
+#endif
+
+  shopt_login_shell = login_shell;
+}
+
+static int
+find_shopt (name)
+     char *name;
+{
+  int i;
+
+  for (i = 0; shopt_vars[i].name; i++)
+    if (STREQ (name, shopt_vars[i].name))
+      return i;
+  return -1;
+}
+
+static void
+shopt_error (s)
+     char *s;
+{
+  builtin_error (_("%s: invalid shell option name"), s);
+}
+
+static int
+toggle_shopts (mode, list, quiet)
+     int mode;
+     WORD_LIST *list;
+     int quiet;
+{
+  WORD_LIST *l;
+  int ind, rval;
+
+  for (l = list, rval = EXECUTION_SUCCESS; l; l = l->next)
+    {
+      ind = find_shopt (l->word->word);
+      if (ind < 0)
+       {
+         shopt_error (l->word->word);
+         rval = EXECUTION_FAILURE;
+       }
+      else
+       {
+         *shopt_vars[ind].value = mode;        /* 1 for set, 0 for unset */
+         if (shopt_vars[ind].set_func)
+           (*shopt_vars[ind].set_func) (mode);
+       }
+    }
+  return (rval);
+}
+
+static void
+print_shopt (name, val, flags)
+     char *name;
+     int val, flags;
+{
+  if (flags & PFLAG)
+    printf ("shopt %s %s\n", val ? "-s" : "-u", name);
+  else
+    printf (OPTFMT, name, val ? on : off);
+}
+
+/* List the values of all or any of the `shopt' options.  Returns 0 if
+   all were listed or all variables queried were on; 1 otherwise. */
+static int
+list_shopts (list, flags)
+     WORD_LIST *list;
+     int flags;
+{
+  WORD_LIST *l;
+  int i, val, rval;
+
+  if (list == 0)
+    {
+      for (i = 0; shopt_vars[i].name; i++)
+       {
+         val = *shopt_vars[i].value;
+         if ((flags & QFLAG) == 0)
+           print_shopt (shopt_vars[i].name, val, flags);
+       }
+      return (sh_chkwrite (EXECUTION_SUCCESS));
+    }
+
+  for (l = list, rval = EXECUTION_SUCCESS; l; l = l->next)
+    {
+      i = find_shopt (l->word->word);
+      if (i < 0)
+       {
+         shopt_error (l->word->word);
+         rval = EXECUTION_FAILURE;
+         continue;
+       }
+      val = *shopt_vars[i].value;
+      if (val == 0)
+       rval = EXECUTION_FAILURE;
+      if ((flags & QFLAG) == 0)
+       print_shopt (l->word->word, val, flags);
+    }
+
+  return (sh_chkwrite (rval));
+}
+
+static int
+list_some_shopts (mode, flags)
+     int mode, flags;
+{
+  int val, i;
+
+  for (i = 0; shopt_vars[i].name; i++)
+    {
+      val = *shopt_vars[i].value;
+      if (((flags & QFLAG) == 0) && mode == val)
+       print_shopt (shopt_vars[i].name, val, flags);
+    }
+  return (sh_chkwrite (EXECUTION_SUCCESS));
+}
+
+static int
+list_shopt_o_options (list, flags)
+     WORD_LIST *list;
+     int flags;
+{
+  WORD_LIST *l;
+  int val, rval;
+
+  if (list == 0)
+    {
+      if ((flags & QFLAG) == 0)
+       list_minus_o_opts (-1, (flags & PFLAG));
+      return (sh_chkwrite (EXECUTION_SUCCESS));
+    }
+
+  for (l = list, rval = EXECUTION_SUCCESS; l; l = l->next)
+    {
+      val = minus_o_option_value (l->word->word);
+      if (val == -1)
+       {
+         sh_invalidoptname (l->word->word);
+         rval = EXECUTION_FAILURE;
+         continue;
+       }
+      if (val == 0)
+       rval = EXECUTION_FAILURE;
+      if ((flags & QFLAG) == 0)
+       {
+         if (flags & PFLAG)
+           printf ("set %co %s\n", val ? '-' : '+', l->word->word);
+         else
+           printf (OPTFMT, l->word->word, val ? on : off);
+       }
+    }
+  return (sh_chkwrite (rval));
+}
+
+static int
+list_some_o_options (mode, flags)
+     int mode, flags;
+{
+  if ((flags & QFLAG) == 0)
+    list_minus_o_opts (mode, (flags & PFLAG));
+  return (sh_chkwrite (EXECUTION_SUCCESS));
+}
+
+static int
+set_shopt_o_options (mode, list, quiet)
+     int mode;
+     WORD_LIST *list;
+     int quiet;
+{
+  WORD_LIST *l;
+  int rval;
+
+  for (l = list, rval = EXECUTION_SUCCESS; l; l = l->next)
+    {
+      if (set_minus_o_option (mode, l->word->word) == EXECUTION_FAILURE)
+       rval = EXECUTION_FAILURE;
+    }
+  set_shellopts ();
+  return rval;
+}
+
+/* If we set or unset interactive_comments with shopt, make sure the
+   change is reflected in $SHELLOPTS. */
+static int
+set_shellopts_after_change (mode)
+     int mode;
+{
+  set_shellopts ();
+  return (0);
+}
+
+static int
+set_compatibility_level (mode)
+     int mode;
+{
+  /* Need to change logic here as we add more compatibility levels */
+  if (shopt_compat31)
+    shell_compatibility_level = 31;
+  else if (shopt_compat32)
+    shell_compatibility_level = 32;
+  else
+    shell_compatibility_level = DEFAULT_COMPAT_LEVEL;
+  return 0;
+}
+
+#if defined (RESTRICTED_SHELL)
+/* Don't allow the value of restricted_shell to be modified. */
+
+static int
+set_restricted_shell (mode)
+     int mode;
+{
+  static int save_restricted = -1;
+
+  if (save_restricted == -1)
+    save_restricted = shell_is_restricted (shell_name);
+
+  restricted_shell = save_restricted;
+  return (0);
+}
+#endif /* RESTRICTED_SHELL */
+
+/* Not static so shell.c can call it to initialize shopt_login_shell */
+int
+set_login_shell (mode)
+     int mode;
+{
+  shopt_login_shell = login_shell != 0;
+  return (0);
+}
+
+char **
+get_shopt_options ()
+{
+  char **ret;
+  int n, i;
+
+  n = sizeof (shopt_vars) / sizeof (shopt_vars[0]);
+  ret = strvec_create (n + 1);
+  for (i = 0; shopt_vars[i].name; i++)
+    ret[i] = savestring (shopt_vars[i].name);
+  ret[i] = (char *)NULL;
+  return ret;
+}
+
+/*
+ * External interface for other parts of the shell.  NAME is a string option;
+ * MODE is 0 if we want to unset an option; 1 if we want to set an option.
+ * REUSABLE is 1 if we want to print output in a form that may be reused.
+ */
+int
+shopt_setopt (name, mode)
+     char *name;
+     int mode;
+{
+  WORD_LIST *wl;
+  int r;
+
+  wl = add_string_to_list (name, (WORD_LIST *)NULL);
+  r = toggle_shopts (mode, wl, 0);
+  dispose_words (wl);
+  return r;
+}
+
+int
+shopt_listopt (name, reusable)
+     char *name;
+     int reusable;
+{
+  int i;
+
+  if (name == 0)
+    return (list_shopts ((WORD_LIST *)NULL, reusable ? PFLAG : 0));
+
+  i = find_shopt (name);
+  if (i < 0)
+    {
+      shopt_error (name);
+      return (EXECUTION_FAILURE);
+    }
+
+  print_shopt (name, *shopt_vars[i].value, reusable ? PFLAG : 0);
+  return (sh_chkwrite (EXECUTION_SUCCESS));
+}
+
+void
+set_bashopts ()
+{
+  char *value;
+  char tflag[N_SHOPT_OPTIONS];
+  int vsize, i, vptr, *ip, exported;
+  SHELL_VAR *v;
+
+  for (vsize = i = 0; shopt_vars[i].name; i++)
+    {
+      tflag[i] = 0;
+      if (GET_SHOPT_OPTION_VALUE (i))
+       {
+         vsize += strlen (shopt_vars[i].name) + 1;
+         tflag[i] = 1;
+       }
+    }
+
+  value = (char *)xmalloc (vsize + 1);
+
+  for (i = vptr = 0; shopt_vars[i].name; i++)
+    {
+      if (tflag[i])
+       {
+         strcpy (value + vptr, shopt_vars[i].name);
+         vptr += strlen (shopt_vars[i].name);
+         value[vptr++] = ':';
+       }
+    }
+
+  if (vptr)
+    vptr--;                    /* cut off trailing colon */
+  value[vptr] = '\0';
+
+  v = find_variable ("BASHOPTS");
+
+  /* Turn off the read-only attribute so we can bind the new value, and
+     note whether or not the variable was exported. */
+  if (v)
+    {
+      VUNSETATTR (v, att_readonly);
+      exported = exported_p (v);
+    }
+  else
+    exported = 0;
+
+  v = bind_variable ("BASHOPTS", value, 0);
+
+  /* Turn the read-only attribute back on, and turn off the export attribute
+     if it was set implicitly by mark_modified_vars and SHELLOPTS was not
+     exported before we bound the new value. */
+  VSETATTR (v, att_readonly);
+  if (mark_modified_vars && exported == 0 && exported_p (v))
+    VUNSETATTR (v, att_exported);
+
+  free (value);
+}
+
+void
+parse_bashopts (value)
+     char *value;
+{
+  char *vname;
+  int vptr, ind;
+
+  vptr = 0;
+  while (vname = extract_colon_unit (value, &vptr))
+    {
+      ind = find_shopt (vname);
+      if (ind >= 0)
+        *shopt_vars[ind].value = 1;
+      free (vname);
+    }
+}
+
+void
+initialize_bashopts (no_bashopts)
+     int no_bashopts;
+{
+  char *temp;
+  SHELL_VAR *var;
+
+  if (no_bashopts == 0)
+    {
+      var = find_variable ("BASHOPTS");
+      /* set up any shell options we may have inherited. */
+      if (var && imported_p (var))
+       {
+         temp = (array_p (var) || assoc_p (var)) ? (char *)NULL : savestring (value_cell (var));
+         if (temp)
+           {
+             parse_bashopts (temp);
+             free (temp);
+           }
+       }
+    }
+
+  /* Set up the $BASHOPTS variable. */
+  set_bashopts ();
+}
index 6363a4f506794302e51452d9ba722215f4e0fdb2..334581a2b06c9b9d2406c36fd3a0d439db4b374a 100644 (file)
 #  define PPROMPT "$ "
 #endif
 
+#if !defined (HAVE_SYSLOG) || !defined (HAVE_SYSLOG_H)
+#  undef SYSLOG_HISTORY
+#endif
+
 /************************************************/
 /* check multibyte capability for I18N code    */
 /************************************************/
diff --git a/config-bot.h~ b/config-bot.h~
new file mode 100644 (file)
index 0000000..6363a4f
--- /dev/null
@@ -0,0 +1,195 @@
+/* config-bot.h */
+/* modify settings or make new ones based on what autoconf tells us. */
+
+/* Copyright (C) 1989-2009 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/>.
+*/
+
+/*********************************************************/
+/* Modify or set defines based on the configure results. */
+/*********************************************************/
+
+#if !defined (HAVE_VPRINTF) && defined (HAVE_DOPRNT)
+#  define USE_VFPRINTF_EMULATION
+#  define HAVE_VPRINTF
+#endif
+
+#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_GETRLIMIT)
+#  define HAVE_RESOURCE
+#endif
+
+#if !defined (GETPGRP_VOID)
+#  define HAVE_BSD_PGRP
+#endif
+
+/* Try this without testing __STDC__ for the time being. */
+#if defined (HAVE_STDARG_H)
+#  define PREFER_STDARG
+#  define USE_VARARGS
+#else
+#  if defined (HAVE_VARARGS_H)
+#    define PREFER_VARARGS
+#    define USE_VARARGS
+#  endif
+#endif
+
+#if defined (HAVE_SYS_SOCKET_H) && defined (HAVE_GETPEERNAME) && defined (HAVE_NETINET_IN_H)
+#  define HAVE_NETWORK
+#endif
+
+#if defined (HAVE_REGEX_H) && defined (HAVE_REGCOMP) && defined (HAVE_REGEXEC)
+#  define HAVE_POSIX_REGEXP
+#endif
+
+/* backwards compatibility between different autoconf versions */
+#if HAVE_DECL_SYS_SIGLIST && !defined (SYS_SIGLIST_DECLARED)
+#  define SYS_SIGLIST_DECLARED
+#endif
+
+/***********************************************************************/
+/* Unset defines based on what configure reports as missing or broken. */
+/***********************************************************************/
+
+/* Ultrix botches type-ahead when switching from canonical to
+   non-canonical mode, at least through version 4.3 */
+#if !defined (HAVE_TERMIOS_H) || !defined (HAVE_TCGETATTR) || defined (ultrix)
+#  define TERMIOS_MISSING
+#endif
+
+/* If we have a getcwd(3), but one that does not dynamically allocate memory,
+   #undef HAVE_GETCWD so the replacement in getcwd.c will be built.  We do
+   not do this on Solaris, because their implementation of loopback mounts
+   breaks the traditional file system assumptions that getcwd uses. */
+#if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN) && !defined (SOLARIS)
+#  undef HAVE_GETCWD
+#endif
+
+#if !defined (HAVE_DEV_FD) && defined (NAMED_PIPES_MISSING)
+#  undef PROCESS_SUBSTITUTION
+#endif
+
+#if defined (JOB_CONTROL_MISSING)
+#  undef JOB_CONTROL
+#endif
+
+#if defined (STRCOLL_BROKEN)
+#  undef HAVE_STRCOLL
+#endif
+
+#if !defined (HAVE_POSIX_REGEXP)
+#  undef COND_REGEXP
+#endif
+
+/* If the shell is called by this name, it will become restricted. */
+#if defined (RESTRICTED_SHELL)
+#  define RESTRICTED_SHELL_NAME "rbash"
+#endif
+
+/***********************************************************/
+/* Make sure feature defines have necessary prerequisites. */
+/***********************************************************/
+
+/* BANG_HISTORY requires HISTORY. */
+#if defined (BANG_HISTORY) && !defined (HISTORY)
+#  define HISTORY
+#endif /* BANG_HISTORY && !HISTORY */
+
+#if defined (READLINE) && !defined (HISTORY)
+#  define HISTORY
+#endif
+
+#if defined (PROGRAMMABLE_COMPLETION) && !defined (READLINE)
+#  undef PROGRAMMABLE_COMPLETION
+#endif
+
+#if !defined (V9_ECHO)
+#  undef DEFAULT_ECHO_TO_XPG
+#endif
+
+#if !defined (PROMPT_STRING_DECODE)
+#  undef PPROMPT
+#  define PPROMPT "$ "
+#endif
+
+/************************************************/
+/* check multibyte capability for I18N code    */
+/************************************************/
+
+/* For platforms which support the ISO C amendement 1 functionality we
+   support user defined character classes.  */
+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.  */
+#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H) && defined (HAVE_LOCALE_H)
+#  include <wchar.h>
+#  include <wctype.h>
+#  if defined (HAVE_ISWCTYPE) && \
+      defined (HAVE_ISWLOWER) && \
+      defined (HAVE_ISWUPPER) && \
+      defined (HAVE_MBSRTOWCS) && \
+      defined (HAVE_MBRTOWC) && \
+      defined (HAVE_MBRLEN) && \
+      defined (HAVE_TOWLOWER) && \
+      defined (HAVE_TOWUPPER) && \
+      defined (HAVE_WCHAR_T) && \
+      defined (HAVE_WCTYPE_T) && \
+      defined (HAVE_WINT_T) && \
+      defined (HAVE_WCWIDTH) && \
+      defined (HAVE_WCTYPE)
+     /* system is supposed to support XPG5 */
+#    define HANDLE_MULTIBYTE      1
+#  endif
+#endif
+
+/* If we don't want multibyte chars even on a system that supports them, let
+   the configuring user turn multibyte support off. */
+#if defined (NO_MULTIBYTE_SUPPORT)
+#  undef HANDLE_MULTIBYTE
+#endif
+
+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t.  */
+#if HANDLE_MULTIBYTE && !defined (HAVE_MBSTATE_T)
+#  define wcsrtombs(dest, src, len, ps) (wcsrtombs) (dest, src, len, 0)
+#  define mbsrtowcs(dest, src, len, ps) (mbsrtowcs) (dest, src, len, 0)
+#  define wcrtomb(s, wc, ps) (wcrtomb) (s, wc, 0)
+#  define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
+#  define mbrlen(s, n, ps) (mbrlen) (s, n, 0)
+#  define mbstate_t int
+#endif
+
+/* Make sure MB_LEN_MAX is at least 16 (some systems define
+   MB_LEN_MAX as 1) */
+#ifdef HANDLE_MULTIBYTE
+#  include <limits.h>
+#  if defined(MB_LEN_MAX) && (MB_LEN_MAX < 16)
+#    undef MB_LEN_MAX
+#  endif
+#  if !defined (MB_LEN_MAX)
+#    define MB_LEN_MAX 16
+#  endif
+#endif
+
+/************************************************/
+/* end of multibyte capability checks for I18N */
+/************************************************/
+
+/******************************************************************/
+/* Placeholder for builders to #undef any unwanted features from  */
+/* config-top.h or created by configure (such as the default mail */
+/* file for mail checking).                                      */
+/******************************************************************/
+
+/* If you don't want bash to provide a default mail file to check. */
+/* #undef DEFAULT_MAIL_DIRECTORY */
index 22433fb3a29ef7f00b8ec063e35052db0757d246..f0551275399affa48425d8e574f030cac1213605 100644 (file)
    name is not found.  If you want to name it something other than the
    default ("command_not_found_handle"), change it here. */
 /* #define NOTFOUND_HOOK "command_not_found_handle" */
+
+/* Define if you want each line saved to the history list in bashhist.c:
+   bash_add_history() to be sent to syslog(). */
+#define SYSLOG_HISTORY
+#if defined (SYSLOG_HISTORY)
+#  define SYSLOG_FACILITY LOG_USER
+#  define SYSLOG_LEVEL LOG_INFO
+#endif
diff --git a/config-top.h~ b/config-top.h~
new file mode 100644 (file)
index 0000000..406bffb
--- /dev/null
@@ -0,0 +1,106 @@
+/* config-top.h - various user-settable options not under the control of autoconf. */
+
+/* Copyright (C) 2002-2009 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/>.
+*/
+
+/* Define CONTINUE_AFTER_KILL_ERROR if you want the kill command to
+   continue processing arguments after one of them fails.  This is
+   what POSIX.2 specifies. */
+#define CONTINUE_AFTER_KILL_ERROR
+
+/* Define BREAK_COMPLAINS if you want the non-standard, but useful
+   error messages about `break' and `continue' out of context. */
+#define BREAK_COMPLAINS
+
+/* Define BUFFERED_INPUT if you want the shell to do its own input
+   buffering, rather than using stdio.  Do not undefine this; it's
+   required to preserve semantics required by POSIX. */
+#define BUFFERED_INPUT
+
+/* Define ONESHOT if you want sh -c 'command' to avoid forking to execute
+   `command' whenever possible.  This is a big efficiency improvement. */
+#define ONESHOT
+
+/* Define V9_ECHO if you want to give the echo builtin backslash-escape
+   interpretation using the -e option, in the style of the Bell Labs 9th
+   Edition version of echo.  You cannot emulate the System V echo behavior
+   without this option. */
+#define V9_ECHO
+
+/* Define DONT_REPORT_SIGPIPE if you don't want to see `Broken pipe' messages
+   when a job like `cat jobs.c | exit 1' terminates due to a SIGPIPE. */
+#define DONT_REPORT_SIGPIPE
+
+/* Define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS if you don't want builtins
+   like `echo' and `printf' to report errors when output does not succeed
+   due to EPIPE. */
+/* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */
+
+/* The default value of the PATH variable. */
+#ifndef DEFAULT_PATH_VALUE
+#define DEFAULT_PATH_VALUE \
+  "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
+#endif
+
+/* The value for PATH when invoking `command -p'.  This is only used when
+   the Posix.2 confstr () function, or CS_PATH define are not present. */
+#ifndef STANDARD_UTILS_PATH
+#define STANDARD_UTILS_PATH \
+  "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
+#endif
+
+/* Default primary and secondary prompt strings. */
+#define PPROMPT "\\s-\\v\\$ "
+#define SPROMPT "> "
+
+/* Undefine this if you don't want the ksh-compatible behavior of reprinting
+   the select menu after a valid choice is made only if REPLY is set to NULL
+   in the body of the select command.  The menu is always reprinted if the
+   reply to the select query is an empty line. */
+#define KSH_COMPATIBLE_SELECT
+
+/* System-wide .bashrc file for interactive shells. */
+/* #define SYS_BASHRC "/etc/bash.bashrc" */
+
+/* System-wide .bash_logout for login shells. */
+/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
+
+/* Define this to make non-interactive shells begun with argv[0][0] == '-'
+   run the startup files when not in posix mode. */
+/* #define NON_INTERACTIVE_LOGIN_SHELLS */
+
+/* Define this if you want bash to try to check whether it's being run by
+   sshd and source the .bashrc if so (like the rshd behavior).  This checks
+   for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment,
+   which can be fooled under certain not-uncommon circumstances. */
+/* #define SSH_SOURCE_BASHRC */
+
+/* Define if you want the case-capitalizing operators (~[~]) and the
+   `capcase' variable attribute (declare -c). */
+#define  CASEMOD_CAPCASE
+
+/* This is used as the name of a shell function to call when a command
+   name is not found.  If you want to name it something other than the
+   default ("command_not_found_handle"), change it here. */
+/* #define NOTFOUND_HOOK "command_not_found_handle" */
+
+/* Define if you want each line saved to the history list in bashhist.c:
+   bash_add_history() to be sent to syslog(). */
+/* #define SYSLOG_HISTORY */
+/* #define SYSLOG_FACILITY LOG_USER */
+/* #define SYSLOG_LEVEL LOG_INFO */
index a8b1f5a4a23d297244d59c717e2ec27dd03b23eb..499b554223a33d7e9964e00c02c47aaa46c5138a 100644 (file)
    pattern matching. */
 #undef EXTENDED_GLOB
 
+/* Define EXTGLOB_DEFAULT to the value you'd like the extglob shell option
+   to have by default */
+#undef EXTGLOB_DEFAULT
+
 /* Define COND_COMMAND if you want the ksh-style [[...]] conditional
    command. */
 #undef COND_COMMAND
 /* Define if you have the sysconf function. */
 #undef HAVE_SYSCONF
 
+/* Define if you have the syslog function. */
+#undef HAVE_SYSLOG
+
 /* Define if you have the tcgetattr function.  */
 #undef HAVE_TCGETATTR
 
 /* Define if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
+/* Define if you have the <syslog.h> header file. */
+#undef HAVE_SYSLOG_H
+
 /* Define if you have the <sys/dir.h> header file.  */
 #undef HAVE_SYS_DIR_H
 
index b2cff0a45520890c74f5d291945b97652b0d93f9..090e941272b52bad287f66afe54ae72e81a3a6e9 100644 (file)
 /* Define if you have the mbrtowc function. */
 #undef HAVE_MBRTOWC
 
+/* Define if you have the mbscasecmp function. */
+#undef HAVE_MBSCASECMP
+
 /* Define if you have the mbschr function. */
 #undef HAVE_MBSCHR
 
 /* Define if you have the sysconf function. */
 #undef HAVE_SYSCONF
 
+/* Define if you have the syslog function. */
+#undef HAVE_SYSLOG
+
 /* Define if you have the tcgetattr function.  */
 #undef HAVE_TCGETATTR
 
 /* Define if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
+/* Define if you have the <syslog.h> header file. */
+#undef HAVE_SYSLOG_H
+
 /* Define if you have the <sys/dir.h> header file.  */
 #undef HAVE_SYS_DIR_H
 
index 44bed7f913ce564e3bc6c70e4a32251cade77ef9..d91bfbb77c6c86a3a77c8833ec18a1f30051e7e6 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.in for Bash 4.0, version 4.013.
+# From configure.in for Bash 4.0, version 4.014.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for bash 4.0-maint.
+# Generated by GNU Autoconf 2.62 for bash 4.0-maint.
 #
 # Report bugs to <bug-bash@gnu.org>.
 #
@@ -640,157 +640,157 @@ ac_includes_default="\
 
 ac_header_list=
 ac_func_list=
-ac_subst_vars='LTLIBOBJS
-LOCAL_DEFS
-LOCAL_LDFLAGS
-LOCAL_CFLAGS
-LOCAL_LIBS
-MALLOC_DEBUG
-DEBUG
-RELSTATUS
-BASHVERS
-ARFLAGS
-BUILD_DIR
-incdir
-PROFILE_FLAGS
-SHOBJ_STATUS
-SHOBJ_LIBS
-SHOBJ_XLDFLAGS
-SHOBJ_LDFLAGS
-SHOBJ_LD
-SHOBJ_CFLAGS
-SHOBJ_CC
-JOBS_O
-TERMCAP_DEP
-TERMCAP_LIB
-SIGLIST_O
-LIBINTL_H
-INTL_INC
-INTL_DEP
-LIBOBJS
-POSUB
-LTLIBINTL
-LIBINTL
-INTLLIBS
-INTL_LIBTOOL_SUFFIX_PREFIX
-INTLOBJS
-GENCAT
-INSTOBJEXT
-DATADIRNAME
-CATOBJEXT
-USE_INCLUDED_LIBINTL
-BUILD_INCLUDED_LIBINTL
-INTLBISON
-LTLIBICONV
-LIBICONV
-GLIBC21
-ALLOCA
-MSGMERGE
-XGETTEXT
-GMSGFMT
-MSGFMT
-USE_NLS
-MKINSTALLDIRS
-SIZE
-MAKE_SHELL
-SET_MAKE
-YFLAGS
-YACC
-RANLIB
-AR
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-TILDE_LIB
-HIST_LIBDIR
-HISTORY_DEP
-HISTORY_LIB
-RL_INCLUDE
-RL_INCLUDEDIR
-RL_LIBDIR
-READLINE_DEP
-READLINE_LIB
-RL_MINOR
-RL_MAJOR
-RL_VERSION
-LDFLAGS_FOR_BUILD
-CPPFLAGS_FOR_BUILD
-CFLAGS_FOR_BUILD
-STATIC_LD
-CC_FOR_BUILD
-SIGNAMES_O
-SIGNAMES_H
-CROSS_COMPILE
-EGREP
-GREP
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-HELPSTRINGS
-HELPINSTALL
-HELPDIRDEFINE
-HELPDIR
-MALLOC_DEP
-MALLOC_LDFLAGS
-MALLOC_LIBRARY
-MALLOC_LIB
-MALLOC_SRC
-MALLOC_TARGET
-PURIFY
-TESTSCRIPT
-DEBUGGER_START_FILE
-lispdir
-EMACS
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
+ac_subst_vars='SHELL
 PATH_SEPARATOR
-SHELL'
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+EMACS
+lispdir
+DEBUGGER_START_FILE
+TESTSCRIPT
+PURIFY
+MALLOC_TARGET
+MALLOC_SRC
+MALLOC_LIB
+MALLOC_LIBRARY
+MALLOC_LDFLAGS
+MALLOC_DEP
+HELPDIR
+HELPDIRDEFINE
+HELPINSTALL
+HELPSTRINGS
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+CPP
+GREP
+EGREP
+CROSS_COMPILE
+SIGNAMES_H
+SIGNAMES_O
+CC_FOR_BUILD
+STATIC_LD
+CFLAGS_FOR_BUILD
+CPPFLAGS_FOR_BUILD
+LDFLAGS_FOR_BUILD
+RL_VERSION
+RL_MAJOR
+RL_MINOR
+READLINE_LIB
+READLINE_DEP
+RL_LIBDIR
+RL_INCLUDEDIR
+RL_INCLUDE
+HISTORY_LIB
+HISTORY_DEP
+HIST_LIBDIR
+TILDE_LIB
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+AR
+RANLIB
+YACC
+YFLAGS
+SET_MAKE
+MAKE_SHELL
+SIZE
+MKINSTALLDIRS
+USE_NLS
+MSGFMT
+GMSGFMT
+XGETTEXT
+MSGMERGE
+ALLOCA
+GLIBC21
+LIBICONV
+LTLIBICONV
+INTLBISON
+BUILD_INCLUDED_LIBINTL
+USE_INCLUDED_LIBINTL
+CATOBJEXT
+DATADIRNAME
+INSTOBJEXT
+GENCAT
+INTLOBJS
+INTL_LIBTOOL_SUFFIX_PREFIX
+INTLLIBS
+LIBINTL
+LTLIBINTL
+POSUB
+LIBOBJS
+INTL_DEP
+INTL_INC
+LIBINTL_H
+SIGLIST_O
+TERMCAP_LIB
+TERMCAP_DEP
+JOBS_O
+SHOBJ_CC
+SHOBJ_CFLAGS
+SHOBJ_LD
+SHOBJ_LDFLAGS
+SHOBJ_XLDFLAGS
+SHOBJ_LIBS
+SHOBJ_STATUS
+PROFILE_FLAGS
+incdir
+BUILD_DIR
+ARFLAGS
+BASHVERS
+RELSTATUS
+DEBUG
+MALLOC_DEBUG
+LOCAL_LIBS
+LOCAL_CFLAGS
+LOCAL_LDFLAGS
+LOCAL_DEFS
+LTLIBOBJS'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -819,6 +819,7 @@ enable_directory_stack
 enable_disabled_builtins
 enable_dparen_arithmetic
 enable_extended_glob
+enable_extended_glob_default
 enable_help_builtin
 enable_history
 enable_job_control
@@ -1280,9 +1281,9 @@ fi
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+    fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
    { (exit 1); exit 1; }; } ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+    *)     $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
 
@@ -1335,7 +1336,7 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { $as_echo "$as_me: error: working directory cannot be determined" >&2
+  { $as_echo "$as_me: error: Working directory cannot be determined" >&2
    { (exit 1); exit 1; }; }
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
   { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
@@ -1510,6 +1511,9 @@ Optional Features:
   --enable-dparen-arithmetic
                           include ((...)) command
   --enable-extended-glob  include ksh-style extended pattern matching
+  --enable-extended-glob-default
+                          force extended pattern matching to be enabled by
+                          default
   --enable-help-builtin   include the help builtin
   --enable-history        turn on command history
   --enable-job-control    enable job control features
@@ -1649,7 +1653,7 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 bash configure 4.0-maint
-generated by GNU Autoconf 2.63
+generated by GNU Autoconf 2.62
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -1663,7 +1667,7 @@ 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.0-maint, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+generated by GNU Autoconf 2.62.  Invocation command line was
 
   $ $0 $@
 
@@ -1786,8 +1790,8 @@ _ASBOX
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -1995,8 +1999,6 @@ $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
   { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
@@ -2412,6 +2414,7 @@ opt_debugger=yes
 opt_single_longdoc_strings=yes
 opt_casemod_attrs=yes
 opt_casemod_expansions=yes
+opt_extglob_default=no
 
 opt_static_link=no
 opt_profiling=no
@@ -2431,7 +2434,7 @@ if test $opt_minimal_config = yes; then
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
        opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
-       opt_casemod_attrs=no opt_casemod_expansions=no
+       opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
 fi
 
 # Check whether --enable-alias was given.
@@ -2514,6 +2517,11 @@ if test "${enable_extended_glob+set}" = set; then
   enableval=$enable_extended_glob; opt_extended_glob=$enableval
 fi
 
+# Check whether --enable-extended-glob-default was given.
+if test "${enable_extended_glob_default+set}" = set; then
+  enableval=$enable_extended_glob_default; opt_extglob_default=$enableval
+fi
+
 # Check whether --enable-help-builtin was given.
 if test "${enable_help_builtin+set}" = set; then
   enableval=$enable_help_builtin; opt_help=$enableval
@@ -2702,6 +2710,17 @@ cat >>confdefs.h <<\_ACEOF
 #define EXTENDED_GLOB 1
 _ACEOF
 
+fi
+if test $opt_extglob_default = yes; then
+cat >>confdefs.h <<\_ACEOF
+#define EXTGLOB_DEFAULT 1
+_ACEOF
+
+else
+cat >>confdefs.h <<\_ACEOF
+#define EXTGLOB_DEFAULT 0
+_ACEOF
+
 fi
 if test $opt_cond_command = yes ; then
 cat >>confdefs.h <<\_ACEOF
@@ -2900,8 +2919,12 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3100,8 +3123,12 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3111,13 +3138,11 @@ fi
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:$LINENO: checking for C compiler version" >&5
@@ -3247,13 +3272,11 @@ if test -z "$ac_file"; then
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: C compiler cannot create executables
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
 fi
 
 ac_exeext=$ac_cv_exeext
@@ -3281,15 +3304,13 @@ $as_echo "$ac_try_echo") >&5
     if test "$cross_compiling" = maybe; then
        cross_compiling=yes
     else
-       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+       { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
     fi
   fi
 fi
@@ -3332,13 +3353,11 @@ for ac_file in conftest.exe conftest conftest.*; do
   esac
 done
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+  { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 fi
 
 rm -f conftest$ac_cv_exeext
@@ -3392,13 +3411,11 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 fi
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
@@ -3814,7 +3831,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
 $as_echo "$ac_cv_lib_cposix_strerror" >&6; }
-if test "x$ac_cv_lib_cposix_strerror" = x""yes; then
+if test $ac_cv_lib_cposix_strerror = yes; then
   LIBS="$LIBS -lcposix"
 fi
 
@@ -4041,13 +4058,11 @@ rm -f conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then
   :
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+  { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+   { (exit 1); exit 1; }; }
 fi
 
 ac_ext=c
@@ -4430,9 +4445,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -4575,7 +4589,7 @@ fi
 $as_echo "$ac_cv_header_minix_config_h" >&6; }
 
 fi
-if test "x$ac_cv_header_minix_config_h" = x""yes; then
+if test $ac_cv_header_minix_config_h = yes; then
   MINIX=yes
 else
   MINIX=
@@ -5274,7 +5288,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
 $as_echo "$ac_cv_func_tgetent" >&6; }
-if test "x$ac_cv_func_tgetent" = x""yes; then
+if test $ac_cv_func_tgetent = yes; then
   bash_cv_termcap_lib=libc
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
@@ -5342,7 +5356,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
 $as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
-if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then
+if test $ac_cv_lib_termcap_tgetent = yes; then
   bash_cv_termcap_lib=libtermcap
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
@@ -5410,7 +5424,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
 $as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
-if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then
+if test $ac_cv_lib_tinfo_tgetent = yes; then
   bash_cv_termcap_lib=libtinfo
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
@@ -5478,7 +5492,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
 $as_echo "$ac_cv_lib_curses_tgetent" >&6; }
-if test "x$ac_cv_lib_curses_tgetent" = x""yes; then
+if test $ac_cv_lib_curses_tgetent = yes; then
   bash_cv_termcap_lib=libcurses
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
@@ -5546,7 +5560,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
 $as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
-if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then
+if test $ac_cv_lib_ncurses_tgetent = yes; then
   bash_cv_termcap_lib=libncurses
 else
   bash_cv_termcap_lib=gnutermcap
@@ -6080,8 +6094,12 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
     RANLIB=$ac_ct_RANLIB
@@ -6381,15 +6399,15 @@ if test "${ac_cv_c_bigendian+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat >conftest.$ac_ext <<_ACEOF
+    # See if __BIG_ENDIAN__ or __LITTLE_ENDIAN__ is defined.
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
+#if ! (defined __BIG_ENDIAN__ || defined __LITTLE_ENDIAN__)
+              neither is defined;
             #endif
             typedef int dummy;
 
@@ -6412,13 +6430,7 @@ $as_echo "$ac_try_echo") >&5
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are some -arch flags.  Note that *ppc* also matches
-       # ppc64.  This check is also rather less than ideal.
-       case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in  #(
-         *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
-       esac
+  ac_cv_c_bigendian=universal
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
@@ -6766,12 +6778,7 @@ _ACEOF
    no)
       ;; #(
    universal)
-
-cat >>confdefs.h <<\_ACEOF
-#define AC_APPLE_UNIVERSAL_BUILD 1
-_ACEOF
-
-     ;; #(
+      ;; #(
    *)
      { { $as_echo "$as_me:$LINENO: error: unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" >&5
@@ -7522,7 +7529,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
 $as_echo "$ac_cv_type_off_t" >&6; }
-if test "x$ac_cv_type_off_t" = x""yes; then
+if test $ac_cv_type_off_t = yes; then
   :
 else
 
@@ -7626,7 +7633,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
 $as_echo "$ac_cv_type_size_t" >&6; }
-if test "x$ac_cv_type_size_t" = x""yes; then
+if test $ac_cv_type_size_t = yes; then
   :
 else
 
@@ -7917,9 +7924,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -8154,9 +8160,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8256,9 +8261,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -9637,9 +9641,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -9764,9 +9767,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -11054,9 +11056,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
@@ -11448,9 +11449,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -11478,11 +11478,13 @@ done
 
 
 
+
 
 
 for ac_header in unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
                 memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
-                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h
+                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h \
+                syslog.h
 do
 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -11621,9 +11623,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -11785,9 +11786,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -11937,9 +11937,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -12282,9 +12281,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -12536,9 +12534,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -12628,7 +12625,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
 $as_echo "$ac_cv_func__doprnt" >&6; }
-if test "x$ac_cv_func__doprnt" = x""yes; then
+if test $ac_cv_func__doprnt = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DOPRNT 1
@@ -12905,7 +12902,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func___setostype" >&5
 $as_echo "$ac_cv_func___setostype" >&6; }
-if test "x$ac_cv_func___setostype" = x""yes; then
+if test $ac_cv_func___setostype = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_SETOSTYPE 1
 _ACEOF
@@ -12997,7 +12994,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wait3" >&5
 $as_echo "$ac_cv_func_wait3" >&6; }
-if test "x$ac_cv_func_wait3" = x""yes; then
+if test $ac_cv_func_wait3 = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_WAIT3 1
 _ACEOF
@@ -13089,7 +13086,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5
 $as_echo "$ac_cv_func_isinf" >&6; }
-if test "x$ac_cv_func_isinf" = x""yes; then
+if test $ac_cv_func_isinf = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_ISINF_IN_LIBC 1
 _ACEOF
@@ -13181,7 +13178,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_isnan" >&5
 $as_echo "$ac_cv_func_isnan" >&6; }
-if test "x$ac_cv_func_isnan" = x""yes; then
+if test $ac_cv_func_isnan = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_ISNAN_IN_LIBC 1
 _ACEOF
@@ -13274,7 +13271,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mkfifo" >&5
 $as_echo "$ac_cv_func_mkfifo" >&6; }
-if test "x$ac_cv_func_mkfifo" = x""yes; then
+if test $ac_cv_func_mkfifo = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_MKFIFO 1
 _ACEOF
@@ -13403,9 +13400,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13504,9 +13500,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13548,13 +13543,14 @@ done
 
 
 
+
 
 
 for ac_func in bcopy bzero confstr fnmatch \
                getaddrinfo gethostbyname getservbyname getservent inet_aton \
                memmove pathconf putenv raise regcomp regexec \
                setenv setlinebuf setlocale setvbuf siginterrupt strchr \
-               sysconf tcgetattr times ttyname tzset unsetenv
+               sysconf syslog tcgetattr times ttyname tzset unsetenv
 do
 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -13644,9 +13640,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13749,9 +13744,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13855,9 +13849,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -13958,9 +13951,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14060,9 +14052,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14175,9 +14166,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14290,9 +14280,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14399,9 +14388,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -14471,7 +14459,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_confstr" >&5
 $as_echo "$ac_cv_have_decl_confstr" >&6; }
-if test "x$ac_cv_have_decl_confstr" = x""yes; then
+if test $ac_cv_have_decl_confstr = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_CONFSTR 1
@@ -14540,7 +14528,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_printf" >&5
 $as_echo "$ac_cv_have_decl_printf" >&6; }
-if test "x$ac_cv_have_decl_printf" = x""yes; then
+if test $ac_cv_have_decl_printf = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_PRINTF 1
@@ -14609,7 +14597,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sbrk" >&5
 $as_echo "$ac_cv_have_decl_sbrk" >&6; }
-if test "x$ac_cv_have_decl_sbrk" = x""yes; then
+if test $ac_cv_have_decl_sbrk = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SBRK 1
@@ -14678,7 +14666,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_setregid" >&5
 $as_echo "$ac_cv_have_decl_setregid" >&6; }
-if test "x$ac_cv_have_decl_setregid" = x""yes; then
+if test $ac_cv_have_decl_setregid = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SETREGID 1
@@ -14747,7 +14735,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strcpy" >&5
 $as_echo "$ac_cv_have_decl_strcpy" >&6; }
-if test "x$ac_cv_have_decl_strcpy" = x""yes; then
+if test $ac_cv_have_decl_strcpy = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRCPY 1
@@ -14816,7 +14804,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strsignal" >&5
 $as_echo "$ac_cv_have_decl_strsignal" >&6; }
-if test "x$ac_cv_have_decl_strsignal" = x""yes; then
+if test $ac_cv_have_decl_strsignal = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRSIGNAL 1
@@ -14886,7 +14874,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtold" >&5
 $as_echo "$ac_cv_have_decl_strtold" >&6; }
-if test "x$ac_cv_have_decl_strtold" = x""yes; then
+if test $ac_cv_have_decl_strtold = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_STRTOLD 1
@@ -15576,9 +15564,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -15685,9 +15672,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -16114,9 +16100,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -16267,9 +16252,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -16369,9 +16353,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -16668,9 +16651,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -16831,9 +16813,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -16982,9 +16963,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -17133,9 +17113,8 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
 $as_echo "$ac_res" >&6; }
 
 fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -17230,7 +17209,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
 $as_echo "$ac_cv_func_mbrlen" >&6; }
-if test "x$ac_cv_func_mbrlen" = x""yes; then
+if test $ac_cv_func_mbrlen = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_MBRLEN 1
 _ACEOF
@@ -17322,7 +17301,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscasecmp" >&5
 $as_echo "$ac_cv_func_mbscasecmp" >&6; }
-if test "x$ac_cv_func_mbscasecmp" = x""yes; then
+if test $ac_cv_func_mbscasecmp = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_MBSCMP 1
 _ACEOF
@@ -17414,7 +17393,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscmp" >&5
 $as_echo "$ac_cv_func_mbscmp" >&6; }
-if test "x$ac_cv_func_mbscmp" = x""yes; then
+if test $ac_cv_func_mbscmp = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_MBSCMP 1
 _ACEOF
@@ -17506,7 +17485,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbsrtowcs" >&5
 $as_echo "$ac_cv_func_mbsrtowcs" >&6; }
-if test "x$ac_cv_func_mbsrtowcs" = x""yes; then
+if test $ac_cv_func_mbsrtowcs = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_MBSRTOWCS 1
 _ACEOF
@@ -17605,9 +17584,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -17709,7 +17687,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcrtomb" >&5
 $as_echo "$ac_cv_func_wcrtomb" >&6; }
-if test "x$ac_cv_func_wcrtomb" = x""yes; then
+if test $ac_cv_func_wcrtomb = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_WCRTOMB 1
 _ACEOF
@@ -17801,7 +17779,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcscoll" >&5
 $as_echo "$ac_cv_func_wcscoll" >&6; }
-if test "x$ac_cv_func_wcscoll" = x""yes; then
+if test $ac_cv_func_wcscoll = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_WCSCOLL 1
 _ACEOF
@@ -17893,7 +17871,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
 $as_echo "$ac_cv_func_wcsdup" >&6; }
-if test "x$ac_cv_func_wcsdup" = x""yes; then
+if test $ac_cv_func_wcsdup = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_WCSDUP 1
 _ACEOF
@@ -17985,7 +17963,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcwidth" >&5
 $as_echo "$ac_cv_func_wcwidth" >&6; }
-if test "x$ac_cv_func_wcwidth" = x""yes; then
+if test $ac_cv_func_wcwidth = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_WCWIDTH 1
 _ACEOF
@@ -18077,7 +18055,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_wctype" >&5
 $as_echo "$ac_cv_func_wctype" >&6; }
-if test "x$ac_cv_func_wctype" = x""yes; then
+if test $ac_cv_func_wctype = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_WCTYPE 1
 _ACEOF
@@ -18255,9 +18233,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -18581,7 +18558,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+if test $ac_cv_lib_dl_dlopen = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBDL 1
 _ACEOF
@@ -18683,9 +18660,8 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
                 $as_echo "$as_val"'`
               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
@@ -18754,7 +18730,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5
 $as_echo "$ac_cv_have_decl_sys_siglist" >&6; }
-if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then
+if test $ac_cv_have_decl_sys_siglist = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_SYS_SIGLIST 1
@@ -18916,7 +18892,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sun_getpwent" >&5
 $as_echo "$ac_cv_lib_sun_getpwent" >&6; }
-if test "x$ac_cv_lib_sun_getpwent" = x""yes; then
+if test $ac_cv_lib_sun_getpwent = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSUN 1
 _ACEOF
@@ -19004,7 +18980,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_getpeername" >&5
 $as_echo "$ac_cv_lib_socket_getpeername" >&6; }
-if test "x$ac_cv_lib_socket_getpeername" = x""yes; then
+if test $ac_cv_lib_socket_getpeername = yes; then
   bash_cv_have_socklib=yes
 else
   bash_cv_have_socklib=no
@@ -19094,7 +19070,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_t_open" >&5
 $as_echo "$ac_cv_lib_nsl_t_open" >&6; }
-if test "x$ac_cv_lib_nsl_t_open" = x""yes; then
+if test $ac_cv_lib_nsl_t_open = yes; then
   bash_cv_have_libnsl=yes
 else
   bash_cv_have_libnsl=no
@@ -19435,7 +19411,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
 $as_echo "$ac_cv_type_off_t" >&6; }
-if test "x$ac_cv_type_off_t" = x""yes; then
+if test $ac_cv_type_off_t = yes; then
   :
 else
 
@@ -19539,7 +19515,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
 $as_echo "$ac_cv_type_mode_t" >&6; }
-if test "x$ac_cv_type_mode_t" = x""yes; then
+if test $ac_cv_type_mode_t = yes; then
   :
 else
 
@@ -19681,7 +19657,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
 $as_echo "$ac_cv_type_pid_t" >&6; }
-if test "x$ac_cv_type_pid_t" = x""yes; then
+if test $ac_cv_type_pid_t = yes; then
   :
 else
 
@@ -19785,7 +19761,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
 $as_echo "$ac_cv_type_size_t" >&6; }
-if test "x$ac_cv_type_size_t" = x""yes; then
+if test $ac_cv_type_size_t = yes; then
   :
 else
 
@@ -19889,7 +19865,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
 $as_echo "$ac_cv_type_ssize_t" >&6; }
-if test "x$ac_cv_type_ssize_t" = x""yes; then
+if test $ac_cv_type_ssize_t = yes; then
   :
 else
 
@@ -19993,7 +19969,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_time_t" >&5
 $as_echo "$ac_cv_type_time_t" >&6; }
-if test "x$ac_cv_type_time_t" = x""yes; then
+if test $ac_cv_type_time_t = yes; then
   :
 else
 
@@ -20350,7 +20326,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5
 $as_echo "$ac_cv_type_sig_atomic_t" >&6; }
-if test "x$ac_cv_type_sig_atomic_t" = x""yes; then
+if test $ac_cv_type_sig_atomic_t = yes; then
   :
 else
 
@@ -20614,13 +20590,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_char=$ac_lo;;
 '') if test "$ac_cv_type_char" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char=0
    fi ;;
@@ -20696,13 +20670,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_char" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char=0
    fi
@@ -20973,13 +20945,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_short=$ac_lo;;
 '') if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_short=0
    fi ;;
@@ -21055,13 +21025,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_short=0
    fi
@@ -21332,13 +21300,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_int=$ac_lo;;
 '') if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_int=0
    fi ;;
@@ -21414,13 +21380,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_int=0
    fi
@@ -21691,13 +21655,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_long=$ac_lo;;
 '') if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long=0
    fi ;;
@@ -21773,13 +21735,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -22050,13 +22010,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_char_p=$ac_lo;;
 '') if test "$ac_cv_type_char_p" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char_p=0
    fi ;;
@@ -22132,13 +22090,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_char_p" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (char *)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_char_p=0
    fi
@@ -22409,13 +22365,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_double=$ac_lo;;
 '') if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_double=0
    fi ;;
@@ -22491,13 +22445,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_double=0
    fi
@@ -22768,13 +22720,11 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_long_long=$ac_lo;;
 '') if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long_long=0
    fi ;;
@@ -22850,13 +22800,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+     { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
 $as_echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+   { (exit 77); exit 77; }; }
    else
      ac_cv_sizeof_long_long=0
    fi
@@ -22971,7 +22919,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_int" >&5
 $as_echo "$ac_cv_type_u_int" >&6; }
-if test "x$ac_cv_type_u_int" = x""yes; then
+if test $ac_cv_type_u_int = yes; then
   :
 else
 
@@ -23075,7 +23023,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_long" >&5
 $as_echo "$ac_cv_type_u_long" >&6; }
-if test "x$ac_cv_type_u_long" = x""yes; then
+if test $ac_cv_type_u_long = yes; then
   :
 else
 
@@ -23182,7 +23130,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
 $as_echo "$ac_cv_type_bits16_t" >&6; }
-if test "x$ac_cv_type_bits16_t" = x""yes; then
+if test $ac_cv_type_bits16_t = yes; then
   :
 else
 
@@ -23287,7 +23235,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
 $as_echo "$ac_cv_type_bits16_t" >&6; }
-if test "x$ac_cv_type_bits16_t" = x""yes; then
+if test $ac_cv_type_bits16_t = yes; then
   :
 else
 
@@ -23392,7 +23340,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
 $as_echo "$ac_cv_type_bits16_t" >&6; }
-if test "x$ac_cv_type_bits16_t" = x""yes; then
+if test $ac_cv_type_bits16_t = yes; then
   :
 else
 
@@ -23500,7 +23448,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
 $as_echo "$ac_cv_type_u_bits16_t" >&6; }
-if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+if test $ac_cv_type_u_bits16_t = yes; then
   :
 else
 
@@ -23605,7 +23553,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
 $as_echo "$ac_cv_type_u_bits16_t" >&6; }
-if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+if test $ac_cv_type_u_bits16_t = yes; then
   :
 else
 
@@ -23710,7 +23658,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
 $as_echo "$ac_cv_type_u_bits16_t" >&6; }
-if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+if test $ac_cv_type_u_bits16_t = yes; then
   :
 else
 
@@ -23818,7 +23766,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
 $as_echo "$ac_cv_type_bits32_t" >&6; }
-if test "x$ac_cv_type_bits32_t" = x""yes; then
+if test $ac_cv_type_bits32_t = yes; then
   :
 else
 
@@ -23923,7 +23871,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
 $as_echo "$ac_cv_type_bits32_t" >&6; }
-if test "x$ac_cv_type_bits32_t" = x""yes; then
+if test $ac_cv_type_bits32_t = yes; then
   :
 else
 
@@ -24028,7 +23976,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
 $as_echo "$ac_cv_type_bits32_t" >&6; }
-if test "x$ac_cv_type_bits32_t" = x""yes; then
+if test $ac_cv_type_bits32_t = yes; then
   :
 else
 
@@ -24136,7 +24084,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
 $as_echo "$ac_cv_type_u_bits32_t" >&6; }
-if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+if test $ac_cv_type_u_bits32_t = yes; then
   :
 else
 
@@ -24241,7 +24189,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
 $as_echo "$ac_cv_type_u_bits32_t" >&6; }
-if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+if test $ac_cv_type_u_bits32_t = yes; then
   :
 else
 
@@ -24346,7 +24294,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
 $as_echo "$ac_cv_type_u_bits32_t" >&6; }
-if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+if test $ac_cv_type_u_bits32_t = yes; then
   :
 else
 
@@ -24454,7 +24402,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
 
@@ -24559,7 +24507,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
 
@@ -24664,7 +24612,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
 
@@ -24769,7 +24717,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
 
@@ -24874,7 +24822,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
 $as_echo "$ac_cv_type_bits64_t" >&6; }
-if test "x$ac_cv_type_bits64_t" = x""yes; then
+if test $ac_cv_type_bits64_t = yes; then
   :
 else
 
@@ -24983,7 +24931,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
 
@@ -25088,7 +25036,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
 
@@ -25193,7 +25141,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
 
@@ -25298,7 +25246,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
 $as_echo "$ac_cv_type_ptrdiff_t" >&6; }
-if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+if test $ac_cv_type_ptrdiff_t = yes; then
   :
 else
 
@@ -26835,7 +26783,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_termios_c_line" >&5
 $as_echo "$ac_cv_member_struct_termios_c_line" >&6; }
-if test "x$ac_cv_member_struct_termios_c_line" = x""yes; then
+if test $ac_cv_member_struct_termios_c_line = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define TERMIOS_LDISC 1
 _ACEOF
@@ -26947,7 +26895,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_termio_c_line" >&5
 $as_echo "$ac_cv_member_struct_termio_c_line" >&6; }
-if test "x$ac_cv_member_struct_termio_c_line" = x""yes; then
+if test $ac_cv_member_struct_termio_c_line = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define TERMIO_LDISC 1
 _ACEOF
@@ -27456,7 +27404,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5
 $as_echo "$ac_cv_member_struct_stat_st_blocks" >&6; }
-if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then
+if test $ac_cv_member_struct_stat_st_blocks = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -27628,7 +27576,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
 $as_echo "$ac_cv_member_struct_tm_tm_zone" >&6; }
-if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then
+if test $ac_cv_member_struct_tm_tm_zone = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_TM_TM_ZONE 1
@@ -27698,7 +27646,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
 $as_echo "$ac_cv_have_decl_tzname" >&6; }
-if test "x$ac_cv_have_decl_tzname" = x""yes; then
+if test $ac_cv_have_decl_tzname = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_TZNAME 1
@@ -28145,7 +28093,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fpurge" >&5
 $as_echo "$ac_cv_have_decl_fpurge" >&6; }
-if test "x$ac_cv_have_decl_fpurge" = x""yes; then
+if test $ac_cv_have_decl_fpurge = yes; then
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FPURGE 1
@@ -29820,7 +29768,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
 $as_echo "$ac_cv_func_tgetent" >&6; }
-if test "x$ac_cv_func_tgetent" = x""yes; then
+if test $ac_cv_func_tgetent = yes; then
   bash_cv_termcap_lib=libc
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
@@ -29888,7 +29836,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
 $as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
-if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then
+if test $ac_cv_lib_termcap_tgetent = yes; then
   bash_cv_termcap_lib=libtermcap
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
@@ -29956,7 +29904,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
 $as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
-if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then
+if test $ac_cv_lib_tinfo_tgetent = yes; then
   bash_cv_termcap_lib=libtinfo
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
@@ -30024,7 +29972,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
 $as_echo "$ac_cv_lib_curses_tgetent" >&6; }
-if test "x$ac_cv_lib_curses_tgetent" = x""yes; then
+if test $ac_cv_lib_curses_tgetent = yes; then
   bash_cv_termcap_lib=libcurses
 else
   { $as_echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
@@ -30092,7 +30040,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
 $as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
-if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then
+if test $ac_cv_lib_ncurses_tgetent = yes; then
   bash_cv_termcap_lib=libncurses
 else
   bash_cv_termcap_lib=gnutermcap
@@ -30440,8 +30388,8 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -30511,7 +30459,6 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
-
 : ${CONFIG_STATUS=./config.status}
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
@@ -30834,7 +30781,7 @@ exec 6>&1
 # values after options handling.
 ac_log="
 This file was extended by bash $as_me 4.0-maint, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+generated by GNU Autoconf 2.62.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -30847,15 +30794,6 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
 
 _ACEOF
 
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # Files that config.status was made for.
 config_files="$ac_config_files"
@@ -30869,17 +30807,16 @@ ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
 
-Usage: $0 [OPTION]... [FILE]...
+Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
+  -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
+  --file=FILE[:TEMPLATE]
                    instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
+  --header=FILE[:TEMPLATE]
                    instantiate the configuration header FILE
 
 Configuration files:
@@ -30897,7 +30834,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 bash config.status 4.0-maint
-configured by $0, generated by GNU Autoconf 2.63,
+configured by $0, generated by GNU Autoconf 2.62,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
 Copyright (C) 2008 Free Software Foundation, Inc.
@@ -31121,8 +31058,7 @@ for ac_last_try in false false false false false :; do
 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
    { (exit 1); exit 1; }; }
 
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
     break
   elif $ac_last_try; then
     { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -31327,9 +31263,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   }
   split(mac1, mac2, "(") #)
   macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
   if (D_is_set[macro]) {
     # Preserve the white space surrounding the "#".
+    prefix = substr(line, 1, index(line, defundef) - 1)
     print prefix "define", macro P[macro] D[macro]
     next
   } else {
@@ -31337,7 +31273,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
     # in the case of _POSIX_SOURCE, which is predefined and required
     # on some systems where configure will not decide to define it.
     if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
+      print "/*", line, "*/"
       next
     }
   }
@@ -31361,8 +31297,8 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
    { (exit 1); exit 1; }; };;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -31796,7 +31732,7 @@ if test "$no_create" != yes; then
   $ac_cs_success || { (exit 1); exit 1; }
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+  { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
index fa4add284945cf8b18a5d785ca13d1b48f0a388d..55d621c6feff13978a1a727bd2e2c6f160872d57 100644 (file)
@@ -21,7 +21,7 @@ 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.0, version 4.013])dnl
+AC_REVISION([for Bash 4.0, version 4.014])dnl
 
 define(bashvers, 4.0)
 define(relstatus, maint)
@@ -185,6 +185,7 @@ opt_debugger=yes
 opt_single_longdoc_strings=yes
 opt_casemod_attrs=yes
 opt_casemod_expansions=yes
+opt_extglob_default=no
 
 dnl options that affect how bash is compiled and linked
 opt_static_link=no
@@ -204,7 +205,7 @@ if test $opt_minimal_config = yes; then
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
        opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
-       opt_casemod_attrs=no opt_casemod_expansions=no
+       opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
 fi
 
 AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
@@ -223,6 +224,7 @@ AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enabl
 AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
 AC_ARG_ENABLE(dparen-arithmetic, AC_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
 AC_ARG_ENABLE(extended-glob, AC_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
+AC_ARG_ENABLE(extended-glob-default, AC_HELP_STRING([--enable-extended-glob-default], [force extended pattern matching to be enabled by default]), opt_extglob_default=$enableval)
 AC_ARG_ENABLE(help-builtin, AC_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
 AC_ARG_ENABLE(history, AC_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
 AC_ARG_ENABLE(job-control, AC_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
@@ -296,6 +298,11 @@ fi
 if test $opt_extended_glob = yes ; then
 AC_DEFINE(EXTENDED_GLOB)
 fi
+if test $opt_extglob_default = yes; then
+AC_DEFINE(EXTGLOB_DEFAULT, 1)
+else
+AC_DEFINE(EXTGLOB_DEFAULT, 0)
+fi
 if test $opt_cond_command = yes ; then
 AC_DEFINE(COND_COMMAND)
 fi
@@ -651,7 +658,8 @@ BASH_HEADER_INTTYPES
 
 AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
                 memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
-                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h)
+                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h \
+                syslog.h)
 AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
                 sys/resource.h sys/param.h sys/socket.h sys/stat.h \
                 sys/time.h sys/times.h sys/types.h sys/wait.h)
@@ -723,7 +731,7 @@ AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
                getaddrinfo gethostbyname getservbyname getservent inet_aton \
                memmove pathconf putenv raise regcomp regexec \
                setenv setlinebuf setlocale setvbuf siginterrupt strchr \
-               sysconf tcgetattr times ttyname tzset unsetenv)
+               sysconf syslog tcgetattr times ttyname tzset unsetenv)
 
 AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
 AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
index bf95fce395e2e1c9e1459a8b396c66af5f6cfed3..de1884616234324636454884e1bdb4cd83db090f 100644 (file)
@@ -21,7 +21,7 @@ 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.0, version 4.013])dnl
+AC_REVISION([for Bash 4.0, version 4.014])dnl
 
 define(bashvers, 4.0)
 define(relstatus, maint)
@@ -185,6 +185,7 @@ opt_debugger=yes
 opt_single_longdoc_strings=yes
 opt_casemod_attrs=yes
 opt_casemod_expansions=yes
+opt_extglob_default=no
 
 dnl options that affect how bash is compiled and linked
 opt_static_link=no
@@ -204,7 +205,7 @@ if test $opt_minimal_config = yes; then
        opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
        opt_net_redirs=no opt_progcomp=no opt_separate_help=no
        opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
-       opt_casemod_attrs=no opt_casemod_expansions=no
+       opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
 fi
 
 AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
@@ -223,6 +224,7 @@ AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enabl
 AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
 AC_ARG_ENABLE(dparen-arithmetic, AC_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
 AC_ARG_ENABLE(extended-glob, AC_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
+AC_ARG_ENABLE(extended-glob-default, AC_HELP_STRING([--enable-extended-glob-default], [force extended pattern matching to be enabled by default]), opt_extglob_default=$enableval)
 AC_ARG_ENABLE(help-builtin, AC_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
 AC_ARG_ENABLE(history, AC_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
 AC_ARG_ENABLE(job-control, AC_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
@@ -296,6 +298,9 @@ fi
 if test $opt_extended_glob = yes ; then
 AC_DEFINE(EXTENDED_GLOB)
 fi
+if test $opt_extglob_default = yes; then
+AC_DEFINE(EXTGLOB_DEFAULT)
+fi
 if test $opt_cond_command = yes ; then
 AC_DEFINE(COND_COMMAND)
 fi
@@ -651,7 +656,8 @@ BASH_HEADER_INTTYPES
 
 AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
                 memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
-                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h)
+                stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h \
+                syslog.h)
 AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
                 sys/resource.h sys/param.h sys/socket.h sys/stat.h \
                 sys/time.h sys/times.h sys/types.h sys/wait.h)
@@ -723,13 +729,13 @@ AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
                getaddrinfo gethostbyname getservbyname getservent inet_aton \
                memmove pathconf putenv raise regcomp regexec \
                setenv setlinebuf setlocale setvbuf siginterrupt strchr \
-               sysconf tcgetattr times ttyname tzset unsetenv)
+               sysconf syslog tcgetattr times ttyname tzset unsetenv)
 
 AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
 AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
 AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
 AC_REPLACE_FUNCS(getcwd memset)
-AC_REPLACE_FUNCS(strcasecmp strerror strftime strnlen strpbrk strstr)
+AC_REPLACE_FUNCS(strcasecmp strcasestr strerror strftime strnlen strpbrk strstr)
 AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
 AC_REPLACE_FUNCS(fdprintf)
 
@@ -1026,7 +1032,7 @@ linux*)           LOCAL_LDFLAGS=-rdynamic          # allow dynamic loading
 *qnx*)         LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
 powerux*)      LOCAL_LIBS="-lgen" ;;
 cygwin*)       LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
-opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
+opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE -D_ALL_SOURCE" ;;
 esac
 
 dnl Stanza for OS/compiler pair-specific flags
index 55109522fe5c6772b82f83a83a8140834019503b..aaeba870278c46eecd990b888161f072f0406d58 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet@po.cwru.edu
 .\"
-.\"    Last Change: Thu Jul 30 09:25:13 EDT 2009
+.\"    Last Change: Fri Aug 14 18:32:52 EDT 2009
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2009 July 30" "GNU Bash-4.0"
+.TH BASH 1 "2009 August 14" "GNU Bash-4.0"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -429,8 +429,12 @@ If the shell is started with the effective user (group) id not equal to the
 real user (group) id, and the \fB\-p\fP option is not supplied, no startup
 files are read, shell functions are not inherited from the environment, the
 .SM
-.B SHELLOPTS
-variable, if it appears in the environment, is ignored,
+.BR SHELLOPTS ,
+.BR BASHOPTS ,
+.BR CDPATH ,
+and
+.B GLOBIGNORE
+variables, if they appear in the environment, are ignored,
 and the effective user id is set to the real user id.
 If the \fB\-p\fP option is supplied at invocation, the startup behavior is
 the same, but the effective user id is not reset.
@@ -1304,6 +1308,27 @@ The following variables are set by the shell:
 Expands to the full file name used to invoke this instance of
 .BR bash .
 .TP
+.B BASHOPTS
+A colon-separated list of enabled shell options.  Each word in
+the list is a valid argument for the
+.B \-s
+option to the
+.B shopt
+builtin command (see
+.SM
+.B "SHELL BUILTIN COMMANDS"
+below).  The options appearing in
+.SM
+.B BASHOPTS
+are those reported as
+.I on
+by \fBshopt\fP.
+If this variable is in the environment when
+.B bash
+starts up, each shell option in the list will be enabled before
+reading any startup files.
+This variable is read-only.
+.TP
 .B BASHPID
 Expands to the process id of the current \fBbash\fP process.
 This differs from \fB$$\fP under certain circumstances, such as subshells
@@ -5632,6 +5657,15 @@ character.  A negative count searches for previous occurrences.
 A character is read and point is moved to the previous occurrence of that
 character.  A negative count searches for subsequent occurrences.
 .TP
+.B skip\-csi\-sequence ()
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End.  Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC\-[.  If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer.  This is unbound by default,
+but usually bound to ESC\-[.
+.TP
 .B insert\-comment (M\-#)
 Without a numeric argument, the value of the readline
 .B comment\-begin
@@ -8306,6 +8340,7 @@ files are not processed, shell functions are not inherited from the
 environment, and the
 .SM
 .BR SHELLOPTS ,
+.BR BASHOPTS ,
 .BR CDPATH ,
 and
 .B GLOBIGNORE
index 8b30849d0edbb33966aaba259f97d98e32507418..5b6afff86c5020962048085307f25c80159efb55 100644 (file)
@@ -429,8 +429,12 @@ If the shell is started with the effective user (group) id not equal to the
 real user (group) id, and the \fB\-p\fP option is not supplied, no startup
 files are read, shell functions are not inherited from the environment, the
 .SM
-.B SHELLOPTS
-variable, if it appears in the environment, is ignored,
+.BR SHELLOPTS ,
+.BR BASHOPTS ,
+.BR CDPATH ,
+and
+.B GLOBIGNORE
+variables, if they appear in the environment, are ignored,
 and the effective user id is set to the real user id.
 If the \fB\-p\fP option is supplied at invocation, the startup behavior is
 the same, but the effective user id is not reset.
@@ -1304,6 +1308,27 @@ The following variables are set by the shell:
 Expands to the full file name used to invoke this instance of
 .BR bash .
 .TP
+.B BASHOPTS
+A colon-separated list of enabled shell options.  Each word in
+the list is a valid argument for the
+.B \-s
+option to the
+.B shopt
+builtin command (see
+.SM
+.B "SHELL BUILTIN COMMANDS"
+below).  The options appearing in
+.SM
+.B BASHOPTS
+are those reported as
+.I on
+by \fBshopt\fP.
+If this variable is in the environment when
+.B bash
+starts up, each shell option in the list will be enabled before
+reading any startup files.
+This variable is read-only.
+.TP
 .B BASHPID
 Expands to the process id of the current \fBbash\fP process.
 This differs from \fB$$\fP under certain circumstances, such as subshells
@@ -1847,7 +1872,8 @@ adds the contents of the new file to the existing list.
 If
 .SM
 .B HOSTFILE
-is set, but has no value, \fBbash\fP attempts to read
+is set, but has no value, or does not name a readable file,
+\fBbash\fP attempts to read
 .FN /etc/hosts
 to obtain the list of possible hostname completions.
 When
@@ -5631,6 +5657,15 @@ character.  A negative count searches for previous occurrences.
 A character is read and point is moved to the previous occurrence of that
 character.  A negative count searches for subsequent occurrences.
 .TP
+.B skip\-csi\-sequence ()
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End.  Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC\-[.  If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer.  This is unbound by default,
+but usually bound to ESC\-[.
+.TP
 .B insert\-comment (M\-#)
 Without a numeric argument, the value of the readline
 .B comment\-begin
@@ -5697,12 +5732,17 @@ using the \fBcomplete\fP builtin (see
 below), the programmable completion facilities are invoked.
 .PP
 First, the command name is identified.
+If the command word is the empty string (completion attempted at the
+beginning of an empty line), any compspec defined with
+the \fB\-E\fP option to \fBcomplete\fP is used.
 If a compspec has been defined for that command, the
 compspec is used to generate the list of possible completions for the word.
 If the command word is a full pathname, a compspec for the full
 pathname is searched for first.
 If no compspec is found for the full pathname, an attempt is made to
 find a compspec for the portion following the final slash.
+If those searches to not result in a compspec, any compspec defined with
+the \fB\-D\fP option to \fBcomplete\fP is used as the default.
 .PP
 Once a compspec has been found, it is used to generate the list of
 matching words.
@@ -5835,6 +5875,35 @@ the programmable completion functions force readline to append a slash
 to completed names which are symbolic links to directories, subject to  
 the value of the \fBmark\-directories\fP readline variable, regardless
 of the setting of the \fBmark-symlinked\-directories\fP readline variable.
+.PP
+There is some support for dynamically modifying completions.  This is
+most useful when used in combination with a default completion specified
+with \fBcomplete -D\fP.
+It's possible for shell functions executed as completion
+handlers to indicate that completion should be retried by returning an
+exit status of 124.  If a shell function returns 124, and changes
+the compspec associated with the command on which completion is being
+attempted (supplied as the first argument when the function is executed),
+programmable completion restarts from the beginning, with an
+attempt to find a compspec for that command.  This allows a set of
+completions to be built dynamically as completion is attempted, rather than
+being loaded all at once.
+.PP
+For instance, assuming that there is a library of compspecs, each kept in a
+file corresponding to the name of the command, the following default
+completion function would load completions dynamically:
+.PP
+\f(CW_completion_loader()
+.br
+{
+.br
+       . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
+.br
+}
+.br
+complete -D -F _completion_loader
+.br
+\fP
 .SH HISTORY
 When the
 .B \-o history
@@ -6566,12 +6635,12 @@ will be displayed.
 The return value is true unless an invalid option is supplied, or no
 matches were generated.
 .TP
-\fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-E\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP]
+\fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-DE\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP]
 .br
 [\fB\-X\fP \fIfilterpat\fP] [\fB\-P\fP \fIprefix\fP] [\fB\-S\fP \fIsuffix\fP] \fIname\fP [\fIname ...\fP]
 .PD 0
 .TP
-\fBcomplete\fP \fB\-pr\fP [\fB\-E\fP] [\fIname\fP ...]
+\fBcomplete\fP \fB\-pr\fP [\fB\-DE\fP] [\fIname\fP ...]
 .PD
 Specify how arguments to each \fIname\fP should be completed.
 If the \fB\-p\fP option is supplied, or if no options are supplied,
@@ -6580,6 +6649,9 @@ them to be reused as input.
 The \fB\-r\fP option removes a completion specification for
 each \fIname\fP, or, if no \fIname\fPs are supplied, all
 completion specifications.
+The \fB\-D\fP option indicates that the remaining options and actions should
+apply to the ``default'' command completion; that is, completion attempted
+on a command for which no completion has previously been defined.
 The \fB\-E\fP option indicates that the remaining options and actions should
 apply to ``empty'' command completion; that is, completion attempted on a
 blank line.
@@ -6759,7 +6831,7 @@ a \fIname\fP for which no specification exists, or
 an error occurs adding a completion specification.
 .RE
 .TP
-\fBcompopt\fP [\fB\-o\fP \fIoption\fP] [\fB+o\fP \fIoption\fP] [\fIname\fP]
+\fBcompopt\fP [\fB\-o\fP \fIoption\fP] [\fB\-DE\fP] [\fB+o\fP \fIoption\fP] [\fIname\fP]
 Modify completion options for each \fIname\fP according to the
 \fIoption\fPs, or for the
 currently-execution completion if no \fIname\fPs are supplied.
@@ -6767,6 +6839,12 @@ If no \fIoption\fPs are given, display the completion options for each
 \fIname\fP or the current completion.
 The possible values of \fIoption\fP are those valid for the \fBcomplete\fP
 builtin described above.
+The \fB\-D\fP option indicates that the remaining options should
+apply to the ``default'' command completion; that is, completion attempted
+on a command for which no completion has previously been defined.
+The \fB\-E\fP option indicates that the remaining options should
+apply to ``empty'' command completion; that is, completion attempted on a
+blank line.
 .PP
 The return value is true unless an invalid option is supplied, an attempt
 is made to modify the options for a \fIname\fP for which no completion
@@ -8262,6 +8340,7 @@ files are not processed, shell functions are not inherited from the
 environment, and the
 .SM
 .BR SHELLOPTS ,
+.BR BASHOPTS ,
 .BR CDPATH ,
 and
 .B GLOBIGNORE
index 35abc37a2affa51cb48044fa78d6785e7f9e81bf..7475b946d5bfee46d49662fa0d2c98999e3c2c5d 100644 (file)
@@ -4136,8 +4136,8 @@ Same as @code{-x}.
 Turn on privileged mode.
 In this mode, the @env{$BASH_ENV} and @env{$ENV} files are not
 processed, shell functions are not inherited from the environment,
-and the @env{SHELLOPTS}, @env{CDPATH} and @env{GLOBIGNORE}  variables,
-if they appear in the environment, are ignored.
+and the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH} and @env{GLOBIGNORE}
+variables, if they appear in the environment, are ignored.
 If the shell is started with the effective user (group) id not equal to the
 real user (group) id, and the @code{-p} option is not supplied, these actions
 are taken and the effective user id is set to the real user id.
@@ -4650,6 +4650,16 @@ variables for controlling the job control facilities
 @item BASH
 The full pathname used to execute the current instance of Bash.
 
+@item BASHOPTS
+A colon-separated list of enabled shell options.  Each word in
+the list is a valid argument for the @option{-s} option to the
+@code{shopt} builtin command (@pxref{The Shopt Builtin}).
+The options appearing in @env{BASHOPTS} are those reported
+as @samp{on} by @samp{shopt}.
+If this variable is in the environment when Bash
+starts up, each shell option in the list will be enabled before
+reading any startup files.  This variable is readonly.
+
 @item BASHPID
 Expands to the process id of the current Bash process.
 This differs from @code{$$} under certain circumstances, such as subshells
@@ -5495,8 +5505,9 @@ allow them to be specified.
 If Bash is started with the effective user (group) id not equal to the
 real user (group) id, and the @code{-p} option is not supplied, no startup
 files are read, shell functions are not inherited from the environment,
-the @env{SHELLOPTS} variable, if it appears in the environment, is ignored,
-and the effective user id is set to the real user id.
+the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH}, and @env{GLOBIGNORE}
+variables, if they appear in the environment, are ignored, and the effective
+user id is set to the real user id.
 If the @code{-p} option is supplied at invocation, the startup behavior is
 the same, but the effective user id is not reset.
 
@@ -7241,6 +7252,10 @@ Include support for the @code{((@dots{}))} command
 Include support for the extended pattern matching features described
 above under @ref{Pattern Matching}.
 
+@item --enable-extended-glob-default
+Set the default value of the @var{extglob} shell option described
+above under @ref{The Shopt Builtin} to be enabled.
+
 @item --enable-help-builtin
 Include the @code{help} builtin, which displays help on shell builtins and
 variables (@pxref{Bash Builtins}).
index 686ae9ceed8fbf7a4881132281343426bf8e0ca0..a3edaf71cbaf56d3a7f7d034ae9fdf5279bc510f 100644 (file)
@@ -4136,8 +4136,8 @@ Same as @code{-x}.
 Turn on privileged mode.
 In this mode, the @env{$BASH_ENV} and @env{$ENV} files are not
 processed, shell functions are not inherited from the environment,
-and the @env{SHELLOPTS}, @env{CDPATH} and @env{GLOBIGNORE}  variables,
-if they appear in the environment, are ignored.
+and the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH} and @env{GLOBIGNORE}
+variables, if they appear in the environment, are ignored.
 If the shell is started with the effective user (group) id not equal to the
 real user (group) id, and the @code{-p} option is not supplied, these actions
 are taken and the effective user id is set to the real user id.
@@ -4650,6 +4650,16 @@ variables for controlling the job control facilities
 @item BASH
 The full pathname used to execute the current instance of Bash.
 
+@item BASHOPTS
+A colon-separated list of enabled shell options.  Each word in
+the list is a valid argument for the @option{-s} option to the
+@code{shopt} builtin command (@pxref{The Shopt Builtin}).
+The options appearing in @env{BASHOPTS} are those reported
+as @samp{on} by @samp{shopt}.
+If this variable is in the environment when Bash
+starts up, each shell option in the list will be enabled before
+reading any startup files.  This variable is readonly.
+
 @item BASHPID
 Expands to the process id of the current Bash process.
 This differs from @code{$$} under certain circumstances, such as subshells
@@ -4974,7 +4984,8 @@ is running;
 the next time hostname completion is attempted after the
 value is changed, Bash adds the contents of the new file to the
 existing list.
-If @env{HOSTFILE} is set, but has no value, Bash attempts to read 
+If @env{HOSTFILE} is set, but has no value, or does not name a readable file,
+Bash attempts to read 
 @file{/etc/hosts} to obtain the list of possible hostname completions.
 When @env{HOSTFILE} is unset, the hostname list is cleared.
 
@@ -5494,8 +5505,9 @@ allow them to be specified.
 If Bash is started with the effective user (group) id not equal to the
 real user (group) id, and the @code{-p} option is not supplied, no startup
 files are read, shell functions are not inherited from the environment,
-the @env{SHELLOPTS} variable, if it appears in the environment, is ignored,
-and the effective user id is set to the real user id.
+the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH}, and @env{GLOBIGNORE}
+variables, if they appear in the environment, are ignored, and the effective
+user id is set to the real user id.
 If the @code{-p} option is supplied at invocation, the startup behavior is
 the same, but the effective user id is not reset.
 
index ab91e8987d276ae31dc2b438bf2a39ceb4831c53..5bffb520165062519512291eebb1824aeaaa3f09 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2009 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Wed Jun 17 08:50:54 EDT 2009
+@set LASTCHANGE Fri Aug 14 18:32:24 EDT 2009
 
 @set EDITION 4.0
 @set VERSION 4.0
-@set UPDATED 17 June 2009
-@set UPDATED-MONTH June 2009
+@set UPDATED 14 August 2009
+@set UPDATED-MONTH August 2009
index 0402158344a5ce8833cf4c4955a1f9cb0ee809fd..ab91e8987d276ae31dc2b438bf2a39ceb4831c53 100644 (file)
@@ -2,9 +2,9 @@
 Copyright (C) 1988-2009 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Tue May 26 17:04:05 EDT 2009
+@set LASTCHANGE Wed Jun 17 08:50:54 EDT 2009
 
 @set EDITION 4.0
 @set VERSION 4.0
-@set UPDATED 26 May 2009
-@set UPDATED-MONTH May 2009
+@set UPDATED 17 June 2009
+@set UPDATED-MONTH June 2009
index fd213c0f680dd5e7ea34da1506055cf1eb5b725e..0ddda2badc7527f1ecaf6bbc97258f930e85d43e 100644 (file)
@@ -883,9 +883,29 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
 
 #if defined (DPAREN_ARITHMETIC)
     case cm_arith:
+      was_error_trap = signal_is_trapped (ERROR_TRAP) && signal_is_ignored (ERROR_TRAP) == 0;
       if (ignore_return)
        command->value.Arith->flags |= CMD_IGNORE_RETURN;
+      line_number_for_err_trap = save_line_number = line_number;
       exec_result = execute_arith_command (command->value.Arith);
+      line_number = save_line_number;
+
+      if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
+       {
+         last_command_exit_value = exec_result;
+         save_line_number = line_number;
+         line_number = line_number_for_err_trap;
+         run_error_trap ();
+         line_number = save_line_number;
+       }
+
+      if (ignore_return == 0 && invert == 0 && exit_immediately_on_error && exec_result != EXECUTION_SUCCESS)
+       {
+         last_command_exit_value = exec_result;
+         run_pending_traps ();
+         jump_to_top_level (ERREXIT);
+       }
+
       break;
 #endif
 
index ca84af50e928e5455ea86414ef2b525a24ecfd96..fd213c0f680dd5e7ea34da1506055cf1eb5b725e 100644 (file)
@@ -902,7 +902,7 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
       if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
        {
          last_command_exit_value = exec_result;
-         save_line_number = line_number
+         save_line_number = line_number;
          line_number = line_number_for_err_trap;
          run_error_trap ();
          line_number = save_line_number;
@@ -3270,9 +3270,7 @@ static int
 execute_cond_command (cond_command)
      COND_COM *cond_command;
 {
-  int retval, save_line_number, invert;
-
-  invert = cond_command->flags & CMD_I
+  int retval, save_line_number;
 
   retval = EXECUTION_SUCCESS;
   save_line_number = line_number;
index 738566666071e4b8e6978d33baa0de603d2c3cf7..9f62b6991b553d184c2781389a401e318c53f437 100644 (file)
--- a/externs.h
+++ b/externs.h
@@ -54,6 +54,11 @@ extern void print_cond_command __P((COND_COM *));
 #endif
 
 /* set -x support */
+extern void xtrace_init __P((void));
+#ifdef NEED_XTRACE_SET_DECL
+extern void xtrace_set __P((int, FILE *));
+#endif
+extern void xtrace_reset __P((void));
 extern char *indirection_level_string __P((void));
 extern void xtrace_print_assignment __P((char *, char *, int, int));
 extern void xtrace_print_word_list __P((WORD_LIST *, int));
index d18c41568091325b5c70f1a2a785f268a0caefb1..e2cddd06d96781ffd638c7d7245a7edbdea21676 100644 (file)
@@ -54,6 +54,10 @@ extern void print_cond_command __P((COND_COM *));
 #endif
 
 /* set -x support */
+extern void xtrace_init __P((void));
+#ifdef NEED_XTRACE_SET_DECL
+extern void xtrace_set __P((int, FILE *));
+#endif
 extern char *indirection_level_string __P((void));
 extern void xtrace_print_assignment __P((char *, char *, int, int));
 extern void xtrace_print_word_list __P((WORD_LIST *, int));
@@ -135,7 +139,7 @@ extern int find_string_in_alist __P((char *, STRING_INT_ALIST *, int));
 extern char *find_token_in_alist __P((int, STRING_INT_ALIST *, int));
 extern int find_index_in_alist __P((char *, STRING_INT_ALIST *, int));
 
-extern char *substring __P((char *, int, int));
+extern char *substring __P((const char *, int, int));
 extern char *strsub __P((char *, char *, char *, int));
 extern char *strcreplace __P((char *, int, char *, int));
 extern void strip_leading __P((char *));
@@ -192,6 +196,8 @@ extern char *fmtullong __P((unsigned long long int, int, char *, size_t, int));
 extern char *fmtumax __P((uintmax_t, int, char *, size_t, int));
 
 /* Declarations for functions defined in lib/sh/fpurge.c */
+
+#if defined NEED_FPURGE_DECL
 #if !HAVE_DECL_FPURGE
 
 #if HAVE_FPURGE
@@ -200,7 +206,7 @@ extern char *fmtumax __P((uintmax_t, int, char *, size_t, int));
 extern int fpurge __P((FILE *stream));
 
 #endif /* HAVE_DECL_FPURGE */
-
+#endif /* NEED_FPURGE_DECL */
 
 /* Declarations for functions defined in lib/sh/getcwd.c */
 #if !defined (HAVE_GETCWD)
@@ -224,6 +230,11 @@ extern char *uitos __P((uintmax_t));
 
 extern char *sh_makepath __P((const char *, const char *, int));
 
+/* declarations for functions defined in lib/sh/mbscasecmp.c */
+#if !defined (HAVE_MBSCASECMP)
+extern char *mbscasecmp __P((const char *, const char *));
+#endif
+
 /* declarations for functions defined in lib/sh/mbschr.c */
 #if !defined (HAVE_MBSCHR)
 extern char *mbschr __P((const char *, int));
diff --git a/jobs.c b/jobs.c
index dcc1fefba5b9cc1fcdac861fe3ff576340fa081f..8e1740d60fad77b30ddb0e667da82d4f1a4e9e55 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -2372,6 +2372,8 @@ wait_for (pid)
 
   if (interactive && job_control == 0)
     QUIT;
+  /* Check for terminating signals and exit the shell if we receive one */
+  CHECK_TERMSIG;
 
   /* If we say wait_for (), then we have a record of this child somewhere.
      If it and none of its peers are running, don't call waitchld(). */
@@ -2450,6 +2452,8 @@ wait_for (pid)
         old SIGINT signal handler. */
       if (interactive && job_control == 0)
        QUIT;
+      /* Check for terminating signals and exit the shell if we receive one */
+      CHECK_TERMSIG;
     }
   while (PRUNNING (child) || (job != NO_JOB && RUNNING (job)));
 
@@ -3043,6 +3047,7 @@ waitchld (wpid, block)
                        : 0;
       if (sigchld || block == 0)
        waitpid_flags |= WNOHANG;
+      /* Check for terminating signals and exit the shell if we receive one */
       CHECK_TERMSIG;
 
       pid = WAITPID (-1, &status, waitpid_flags);
diff --git a/jobs.c~ b/jobs.c~
index 10614d3cb06c70cbbd282e5d3aa82e2ef1375b1c..dcc1fefba5b9cc1fcdac861fe3ff576340fa081f 100644 (file)
--- a/jobs.c~
+++ b/jobs.c~
@@ -455,7 +455,6 @@ start_pipeline ()
       cleanup_the_pipeline ();
       pipeline_pgrp = 0;
 #if defined (PGRP_PIPE)
-itrace("start_pipeline: cleaning up existing pipeline: closing %d %d", pgrp_pipe[0], pgrp_pipe[1]);
       sh_closepipe (pgrp_pipe);
 #endif
     }
@@ -465,7 +464,6 @@ itrace("start_pipeline: cleaning up existing pipeline: closing %d %d", pgrp_pipe
     {
       if (pipe (pgrp_pipe) == -1)
        sys_error (_("start_pipeline: pgrp pipe"));
-itrace("start_pipeline: pgrp_pipe: %d %d", pgrp_pipe[0], pgrp_pipe[1]);
     }
 #endif
 }
@@ -487,7 +485,6 @@ stop_pipeline (async, deferred)
 
 #if defined (PGRP_PIPE)
   /* The parent closes the process group synchronization pipe. */
-itrace("stop_pipeline: close pgrp_pipe %d %d", pgrp_pipe[0], pgrp_pipe[1]);
   sh_closepipe (pgrp_pipe);
 #endif
 
index 0daa09a47d5b1af9b0703843fe6a15ce16cfdbd0..57a3d622ae38a69f76008b66e70c44ccc38be669 100644 (file)
@@ -1002,6 +1002,15 @@ character.  A negative count searches for previous occurrences.
 A character is read and point is moved to the previous occurrence of that
 character.  A negative count searches for subsequent occurrences.
 .TP
+.B skip\-csi\-sequence ()
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End.  Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC\-[.  If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer.  This is unbound by default,
+but usually bound to ESC\-[.
+.TP
 .B insert\-comment (M\-#)
 Without a numeric argument, the value of the readline
 .B comment\-begin
diff --git a/lib/readline/doc/readline.3~ b/lib/readline/doc/readline.3~
new file mode 100644 (file)
index 0000000..57a3d62
--- /dev/null
@@ -0,0 +1,1334 @@
+.\"
+.\" MAN PAGE COMMENTS to
+.\"
+.\"    Chet Ramey
+.\"    Information Network Services
+.\"    Case Western Reserve University
+.\"    chet@ins.CWRU.Edu
+.\"
+.\"    Last Change: Thu Jul 30 09:22:50 EDT 2009
+.\"
+.TH READLINE 3 "2009 Jul 30" "GNU Readline 6.0"
+.\"
+.\" File Name macro.  This used to be `.PN', for Path Name,
+.\" but Sun doesn't seem to like that very much.
+.\"
+.de FN
+\fI\|\\$1\|\fP
+..
+.SH NAME
+readline \- get a line from a user with editing
+.SH SYNOPSIS
+.LP
+.nf
+.ft B
+#include <stdio.h>
+#include <readline/readline.h>
+#include <readline/history.h>
+.ft
+.fi
+.LP
+.nf
+\fIchar *\fP
+.br
+\fBreadline\fP (\fIconst char *prompt\fP);
+.fi
+.SH COPYRIGHT
+.if n Readline is Copyright (C) 1989\-2009 Free Software Foundation,  Inc.
+.if t Readline is Copyright \(co 1989\-2009 Free Software Foundation, Inc.
+.SH DESCRIPTION
+.LP
+.B readline
+will read a line from the terminal
+and return it, using
+.B prompt
+as a prompt.  If 
+.B prompt
+is \fBNULL\fP or the empty string, no prompt is issued.
+The line returned is allocated with
+.IR malloc (3);
+the caller must free it when finished.  The line returned
+has the final newline removed, so only the text of the line
+remains.
+.LP
+.B readline
+offers editing capabilities while the user is entering the
+line.
+By default, the line editing commands
+are similar to those of emacs.
+A vi\-style line editing interface is also available.
+.LP
+This manual page describes only the most basic use of \fBreadline\fP.
+Much more functionality is available; see
+\fIThe GNU Readline Library\fP and \fIThe GNU History Library\fP
+for additional information.
+.SH RETURN VALUE
+.LP
+.B readline
+returns the text of the line read.  A blank line
+returns the empty string.  If
+.B EOF
+is encountered while reading a line, and the line is empty,
+.B NULL
+is returned.  If an
+.B EOF
+is read with a non\-empty line, it is
+treated as a newline.
+.SH NOTATION
+.LP
+An emacs-style notation is used to denote
+keystrokes.  Control keys are denoted by C\-\fIkey\fR, e.g., C\-n
+means Control\-N.  Similarly, 
+.I meta
+keys are denoted by M\-\fIkey\fR, so M\-x means Meta\-X.  (On keyboards
+without a 
+.I meta
+key, M\-\fIx\fP means ESC \fIx\fP, i.e., press the Escape key
+then the
+.I x
+key.  This makes ESC the \fImeta prefix\fP.
+The combination M\-C\-\fIx\fP means ESC\-Control\-\fIx\fP,
+or press the Escape key
+then hold the Control key while pressing the
+.I x
+key.)
+.PP
+Readline commands may be given numeric
+.IR arguments ,
+which normally act as a repeat count.  Sometimes, however, it is the
+sign of the argument that is significant.  Passing a negative argument
+to a command that acts in the forward direction (e.g., \fBkill\-line\fP)
+causes that command to act in a backward direction.  Commands whose
+behavior with arguments deviates from this are noted.
+.PP
+When a command is described as \fIkilling\fP text, the text
+deleted is saved for possible future retrieval
+(\fIyanking\fP).  The killed text is saved in a
+\fIkill ring\fP.  Consecutive kills cause the text to be
+accumulated into one unit, which can be yanked all at once. 
+Commands which do not kill text separate the chunks of text
+on the kill ring.
+.SH INITIALIZATION FILE
+.LP
+Readline is customized by putting commands in an initialization
+file (the \fIinputrc\fP file).
+The name of this file is taken from the value of the
+.B INPUTRC
+environment variable.  If that variable is unset, the default is
+.IR ~/.inputrc .
+If that file  does not exist or cannot be read, the ultimate default is
+.IR /etc/inputrc .
+When a program which uses the readline library starts up, the
+init file is read, and the key bindings and variables are set.
+There are only a few basic constructs allowed in the
+readline init file.  Blank lines are ignored.
+Lines beginning with a \fB#\fP are comments.
+Lines beginning with a \fB$\fP indicate conditional constructs.
+Other lines denote key bindings and variable settings.
+Each program using this library may add its own commands
+and bindings.
+.PP
+For example, placing
+.RS
+.PP
+M\-Control\-u: universal\-argument
+.RE
+or
+.RS
+C\-Meta\-u: universal\-argument
+.RE
+.sp
+into the 
+.I inputrc
+would make M\-C\-u execute the readline command
+.IR universal\-argument .
+.PP
+The following symbolic character names are recognized while
+processing key bindings:
+.IR DEL ,
+.IR ESC ,
+.IR ESCAPE ,
+.IR LFD ,
+.IR NEWLINE ,
+.IR RET ,
+.IR RETURN ,
+.IR RUBOUT ,
+.IR SPACE ,
+.IR SPC ,
+and
+.IR TAB .
+.PP
+In addition to command names, readline allows keys to be bound
+to a string that is inserted when the key is pressed (a \fImacro\fP).
+.PP
+.SS Key Bindings
+.PP
+The syntax for controlling key bindings in the
+.I inputrc
+file is simple.  All that is required is the name of the
+command or the text of a macro and a key sequence to which
+it should be bound. The name may be specified in one of two ways:
+as a symbolic key name, possibly with \fIMeta\-\fP or \fIControl\-\fP
+prefixes, or as a key sequence.
+The name and key sequence are separated by a colon.  There can be no
+whitespace between the name and the colon.
+.PP
+When using the form \fBkeyname\fP:\^\fIfunction-name\fP or \fImacro\fP,
+.I keyname
+is the name of a key spelled out in English.  For example:
+.sp
+.RS
+Control\-u: universal\-argument
+.br
+Meta\-Rubout: backward\-kill\-word
+.br
+Control\-o: "> output"
+.RE
+.LP
+In the above example,
+.I C\-u
+is bound to the function
+.BR universal\-argument ,
+.I M-DEL
+is bound to the function
+.BR backward\-kill\-word ,
+and
+.I C\-o
+is bound to run the macro
+expressed on the right hand side (that is, to insert the text
+.if t \f(CW> output\fP
+.if n ``> output''
+into the line).
+.PP
+In the second form, \fB"keyseq"\fP:\^\fIfunction\-name\fP or \fImacro\fP,
+.B keyseq
+differs from
+.B keyname
+above in that strings denoting
+an entire key sequence may be specified by placing the sequence
+within double quotes.  Some GNU Emacs style key escapes can be
+used, as in the following example, but the symbolic character names
+are not recognized.
+.sp
+.RS
+"\eC\-u": universal\-argument
+.br
+"\eC\-x\eC\-r": re\-read\-init\-file
+.br
+"\ee[11~": "Function Key 1"
+.RE
+.PP
+In this example,
+.I C-u
+is again bound to the function
+.BR universal\-argument .
+.I "C-x C-r"
+is bound to the function
+.BR re\-read\-init\-file ,
+and 
+.I "ESC [ 1 1 ~"
+is bound to insert the text
+.if t \f(CWFunction Key 1\fP.
+.if n ``Function Key 1''.
+.PP
+The full set of GNU Emacs style escape sequences available when specifying
+key sequences is
+.RS
+.PD 0
+.TP
+.B \eC\-
+control prefix
+.TP
+.B \eM\-
+meta prefix
+.TP
+.B \ee
+an escape character
+.TP
+.B \e\e
+backslash
+.TP
+.B \e"
+literal ", a double quote
+.TP
+.B \e'
+literal ', a single quote
+.RE
+.PD
+.PP
+In addition to the GNU Emacs style escape sequences, a second
+set of backslash escapes is available:
+.RS
+.PD 0
+.TP
+.B \ea
+alert (bell)
+.TP
+.B \eb
+backspace
+.TP
+.B \ed
+delete
+.TP
+.B \ef
+form feed
+.TP
+.B \en
+newline
+.TP
+.B \er
+carriage return
+.TP
+.B \et
+horizontal tab
+.TP
+.B \ev
+vertical tab
+.TP
+.B \e\fInnn\fP
+the eight-bit character whose value is the octal value \fInnn\fP
+(one to three digits)
+.TP
+.B \ex\fIHH\fP
+the eight-bit character whose value is the hexadecimal value \fIHH\fP
+(one or two hex digits)
+.RE
+.PD
+.PP
+When entering the text of a macro, single or double quotes should
+be used to indicate a macro definition.  Unquoted text
+is assumed to be a function name.
+In the macro body, the backslash escapes described above are expanded.
+Backslash will quote any other character in the macro text,
+including " and '.
+.PP
+.B Bash
+allows the current readline key bindings to be displayed or modified
+with the
+.B bind
+builtin command.  The editing mode may be switched during interactive
+use by using the
+.B \-o
+option to the
+.B set
+builtin command.  Other programs using this library provide
+similar mechanisms.  The
+.I inputrc
+file may be edited and re-read if a program does not provide
+any other means to incorporate new bindings.
+.SS Variables
+.PP
+Readline has variables that can be used to further customize its
+behavior.  A variable may be set in the
+.I inputrc
+file with a statement of the form
+.RS
+.PP
+\fBset\fP \fIvariable\-name\fP \fIvalue\fP
+.RE
+.PP
+Except where noted, readline variables can take the values
+.B On
+or
+.B Off
+(without regard to case).
+Unrecognized variable names are ignored.
+When a variable value is read, empty or null values, "on" (case-insensitive),
+and "1" are equivalent to \fBOn\fP.  All other values are equivalent to
+\fBOff\fP.
+The variables and their default values are:
+.PP
+.PD 0
+.TP
+.B bell\-style (audible)
+Controls what happens when readline wants to ring the terminal bell.
+If set to \fBnone\fP, readline never rings the bell.  If set to
+\fBvisible\fP, readline uses a visible bell if one is available.
+If set to \fBaudible\fP, readline attempts to ring the terminal's bell.
+.TP
+.B bind\-tty\-special\-chars (On)
+If set to \fBOn\fP, readline attempts to bind the control characters  
+treated specially by the kernel's terminal driver to their readline
+equivalents.
+.TP
+.B comment\-begin (``#'')
+The string that is inserted in \fBvi\fP mode when the
+.B insert\-comment
+command is executed.
+This command is bound to
+.B M\-#
+in emacs mode and to
+.B #
+in vi command mode.
+.TP 
+.B completion\-ignore\-case (Off)
+If set to \fBOn\fP, readline performs filename matching and completion
+in a case\-insensitive fashion.
+.TP
+.B completion\-prefix\-display\-length (0)
+The length in characters of the common prefix of a list of possible
+completions that is displayed without modification.  When set to a
+value greater than zero, common prefixes longer than this value are
+replaced with an ellipsis when displaying possible completions.
+.TP
+.B completion\-query\-items (100)
+This determines when the user is queried about viewing
+the number of possible completions
+generated by the \fBpossible\-completions\fP command.
+It may be set to any integer value greater than or equal to
+zero.  If the number of possible completions is greater than
+or equal to the value of this variable, the user is asked whether
+or not he wishes to view them; otherwise they are simply listed
+on the terminal.  A negative value causes readline to never ask.
+.TP
+.B convert\-meta (On)
+If set to \fBOn\fP, readline will convert characters with the
+eighth bit set to an ASCII key sequence
+by stripping the eighth bit and prefixing it with an
+escape character (in effect, using escape as the \fImeta prefix\fP).
+.TP
+.B disable\-completion (Off)
+If set to \fBOn\fP, readline will inhibit word completion.  Completion 
+characters will be inserted into the line as if they had been
+mapped to \fBself-insert\fP.
+.TP
+.B editing\-mode (emacs)
+Controls whether readline begins with a set of key bindings similar
+to emacs or vi.
+.B editing\-mode
+can be set to either
+.B emacs
+or
+.BR vi .
+.TP
+.B enable\-keypad (Off)
+When set to \fBOn\fP, readline will try to enable the application
+keypad when it is called.  Some systems need this to enable the
+arrow keys.
+.TP
+.B expand\-tilde (Off)
+If set to \fBon\fP, tilde expansion is performed when readline
+attempts word completion.
+.TP
+.B history\-preserve\-point (Off)
+If set to \fBon\fP, the history code attempts to place point at the 
+same location on each history line retrieved with \fBprevious-history\fP 
+or \fBnext-history\fP.
+.TP
+.B history\-size (0)
+Set the maximum number of history entries saved in the history list.  If
+set to zero, the number of entries in the history list is not limited.
+.TP
+.B horizontal\-scroll\-mode (Off)
+When set to \fBOn\fP, makes readline use a single line for display,
+scrolling the input horizontally on a single screen line when it
+becomes longer than the screen width rather than wrapping to a new line.
+.TP
+.B input\-meta (Off)
+If set to \fBOn\fP, readline will enable eight-bit input (that is,
+it will not clear the eighth bit in the characters it reads),
+regardless of what the terminal claims it can support.  The name
+.B meta\-flag
+is a synonym for this variable.
+.TP
+.B isearch\-terminators (``C\-[ C\-J'')
+The string of characters that should terminate an incremental
+search without subsequently executing the character as a command.
+If this variable has not been given a value, the characters
+\fIESC\fP and \fIC\-J\fP will terminate an incremental search.
+.TP
+.B keymap (emacs)
+Set the current readline keymap.  The set of legal keymap names is
+\fIemacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
+vi-command\fP, and
+.IR vi-insert .
+\fIvi\fP is equivalent to \fIvi-command\fP; \fIemacs\fP is
+equivalent to \fIemacs-standard\fP.  The default value is
+.IR emacs .
+The value of
+.B editing\-mode
+also affects the default keymap.
+.TP
+.B mark\-directories (On)
+If set to \fBOn\fP, completed directory names have a slash
+appended.
+.TP
+.B mark\-modified\-lines (Off)
+If set to \fBOn\fP, history lines that have been modified are displayed
+with a preceding asterisk (\fB*\fP).
+.TP
+.B mark\-symlinked\-directories (Off)
+If set to \fBOn\fP, completed names which are symbolic links to directories
+have a slash appended (subject to the value of
+\fBmark\-directories\fP).
+.TP
+.B match\-hidden\-files (On)
+This variable, when set to \fBOn\fP, causes readline to match files whose 
+names begin with a `.' (hidden files) when performing filename     
+completion, unless the leading `.' is     
+supplied by the user in the filename to be completed.
+.TP
+.B output\-meta (Off)
+If set to \fBOn\fP, readline will display characters with the
+eighth bit set directly rather than as a meta-prefixed escape
+sequence.
+.TP
+.B page\-completions (On)
+If set to \fBOn\fP, readline uses an internal \fImore\fP-like pager
+to display a screenful of possible completions at a time.
+.TP
+.B print\-completions\-horizontally (Off)
+If set to \fBOn\fP, readline will display completions with matches
+sorted horizontally in alphabetical order, rather than down the screen.
+.TP
+.B revert\-all\-at\-newline (Off)
+If set to \fBon\fP, readline will undo all changes to history lines
+before returning when \fBaccept\-line\fP is executed.  By default,
+history lines may be modified and retain individual undo lists across
+calls to \fBreadline\fP.
+.TP
+.B show\-all\-if\-ambiguous (Off)
+This alters the default behavior of the completion functions.  If
+set to
+.BR on ,
+words which have more than one possible completion cause the
+matches to be listed immediately instead of ringing the bell.
+.TP
+.B show\-all\-if\-unmodified (Off)
+This alters the default behavior of the completion functions in
+a fashion similar to \fBshow\-all\-if\-ambiguous\fP.
+If set to
+.BR on , 
+words which have more than one possible completion without any
+possible partial completion (the possible completions don't share 
+a common prefix) cause the matches to be listed immediately instead
+of ringing the bell.
+.TP
+.B visible\-stats (Off)
+If set to \fBOn\fP, a character denoting a file's type as reported  
+by \fIstat\fP(2) is appended to the filename when listing possible
+completions.
+.PD
+.SS Conditional Constructs
+.PP
+Readline implements a facility similar in spirit to the conditional
+compilation features of the C preprocessor which allows key
+bindings and variable settings to be performed as the result
+of tests.  There are four parser directives used.
+.IP \fB$if\fP
+The 
+.B $if
+construct allows bindings to be made based on the
+editing mode, the terminal being used, or the application using
+readline.  The text of the test extends to the end of the line;
+no characters are required to isolate it.
+.RS
+.IP \fBmode\fP
+The \fBmode=\fP form of the \fB$if\fP directive is used to test
+whether readline is in emacs or vi mode.
+This may be used in conjunction
+with the \fBset keymap\fP command, for instance, to set bindings in
+the \fIemacs-standard\fP and \fIemacs-ctlx\fP keymaps only if
+readline is starting out in emacs mode.
+.IP \fBterm\fP
+The \fBterm=\fP form may be used to include terminal-specific
+key bindings, perhaps to bind the key sequences output by the
+terminal's function keys.  The word on the right side of the
+.B =
+is tested against the full name of the terminal and the portion
+of the terminal name before the first \fB\-\fP.  This allows
+.I sun
+to match both
+.I sun
+and
+.IR sun\-cmd ,
+for instance.
+.IP \fBapplication\fP
+The \fBapplication\fP construct is used to include
+application-specific settings.  Each program using the readline
+library sets the \fIapplication name\fP, and an initialization
+file can test for a particular value.
+This could be used to bind key sequences to functions useful for
+a specific program.  For instance, the following command adds a
+key sequence that quotes the current or previous word in Bash:
+.sp 1
+.RS
+.nf
+\fB$if\fP Bash
+# Quote the current or previous word
+"\eC-xq": "\eeb\e"\eef\e""
+\fB$endif\fP
+.fi
+.RE
+.RE
+.IP \fB$endif\fP
+This command, as seen in the previous example, terminates an
+\fB$if\fP command.
+.IP \fB$else\fP
+Commands in this branch of the \fB$if\fP directive are executed if
+the test fails.
+.IP \fB$include\fP
+This directive takes a single filename as an argument and reads commands
+and bindings from that file.  For example, the following directive
+would read \fI/etc/inputrc\fP:
+.sp 1
+.RS
+.nf
+\fB$include\fP \^ \fI/etc/inputrc\fP
+.fi 
+.RE
+.SH SEARCHING
+.PP
+Readline provides commands for searching through the command history
+for lines containing a specified string.
+There are two search modes:
+.I incremental
+and
+.IR non-incremental .
+.PP
+Incremental searches begin before the user has finished typing the
+search string.
+As each character of the search string is typed, readline displays
+the next entry from the history matching the string typed so far.
+An incremental search requires only as many characters as needed to
+find the desired history entry.
+To search backward in the history for a particular string, type
+\fBC\-r\fP.  Typing \fBC\-s\fP searches forward through the history.
+The characters present in the value of the \fBisearch-terminators\fP
+variable are used to terminate an incremental search.
+If that variable has not been assigned a value the \fIEscape\fP and
+\fBC\-J\fP characters will terminate an incremental search.
+\fBC\-G\fP will abort an incremental search and restore the original
+line.
+When the search is terminated, the history entry containing the
+search string becomes the current line.
+.PP
+To find other matching entries in the history list, type \fBC\-s\fP or
+\fBC\-r\fP as appropriate.
+This will search backward or forward in the history for the next
+line matching the search string typed so far.
+Any other key sequence bound to a readline command will terminate
+the search and execute that command.
+For instance, a newline will terminate the search and accept
+the line, thereby executing the command from the history list.
+A movement command will terminate the search, make the last line found
+the current line, and begin editing.
+.PP
+Non-incremental searches read the entire search string before starting
+to search for matching history lines.  The search string may be
+typed by the user or be part of the contents of the current line.
+.SH EDITING COMMANDS
+.PP
+The following is a list of the names of the commands and the default
+key sequences to which they are bound.
+Command names without an accompanying key sequence are unbound by default.
+.PP
+In the following descriptions, \fIpoint\fP refers to the current cursor
+position, and \fImark\fP refers to a cursor position saved by the
+\fBset\-mark\fP command.
+The text between the point and mark is referred to as the \fIregion\fP.
+.SS Commands for Moving
+.PP
+.PD 0
+.TP
+.B beginning\-of\-line (C\-a)
+Move to the start of the current line.
+.TP
+.B end\-of\-line (C\-e)
+Move to the end of the line.
+.TP
+.B forward\-char (C\-f)
+Move forward a character.
+.TP
+.B backward\-char (C\-b)
+Move back a character.
+.TP
+.B forward\-word (M\-f)
+Move forward to the end of the next word.  Words are composed of
+alphanumeric characters (letters and digits).
+.TP
+.B backward\-word (M\-b)
+Move back to the start of the current or previous word.  Words are
+composed of alphanumeric characters (letters and digits).
+.TP
+.B clear\-screen (C\-l)
+Clear the screen leaving the current line at the top of the screen.
+With an argument, refresh the current line without clearing the
+screen.
+.TP
+.B redraw\-current\-line
+Refresh the current line.
+.PD
+.SS Commands for Manipulating the History
+.PP
+.PD 0
+.TP
+.B accept\-line (Newline, Return)
+Accept the line regardless of where the cursor is.
+If this line is
+non-empty, it may be added to the history list for future recall with
+\fBadd_history()\fP.
+If the line is a modified history line, the history line is restored to its original state.
+.TP
+.B previous\-history (C\-p)
+Fetch the previous command from the history list, moving back in
+the list.
+.TP
+.B next\-history (C\-n)
+Fetch the next command from the history list, moving forward in the
+list.
+.TP
+.B beginning\-of\-history (M\-<)
+Move to the first line in the history.
+.TP
+.B end\-of\-history (M\->)
+Move to the end of the input history, i.e., the line currently being
+entered.
+.TP
+.B reverse\-search\-history (C\-r)
+Search backward starting at the current line and moving `up' through
+the history as necessary.  This is an incremental search.
+.TP
+.B forward\-search\-history (C\-s)
+Search forward starting at the current line and moving `down' through
+the history as necessary.  This is an incremental search.
+.TP
+.B non\-incremental\-reverse\-search\-history (M\-p)
+Search backward through the history starting at the current line
+using a non-incremental search for a string supplied by the user.
+.TP
+.B non\-incremental\-forward\-search\-history (M\-n)
+Search forward through the history using a non-incremental search
+for a string supplied by the user.
+.TP
+.B history\-search\-forward
+Search forward through the history for the string of characters
+between the start of the current line and the current cursor
+position (the \fIpoint\fP).
+This is a non-incremental search.
+.TP
+.B history\-search\-backward
+Search backward through the history for the string of characters
+between the start of the current line and the point.
+This is a non-incremental search.
+.TP
+.B yank\-nth\-arg (M\-C\-y)
+Insert the first argument to the previous command (usually
+the second word on the previous line) at point.
+With an argument
+.IR n ,
+insert the \fIn\fPth word from the previous command (the words
+in the previous command begin with word 0).  A negative argument
+inserts the \fIn\fPth word from the end of the previous command.
+Once the argument \fIn\fP is computed, the argument is extracted
+as if the "!\fIn\fP" history expansion had been specified.
+.TP
+.B
+yank\-last\-arg (M\-.\^, M\-_\^)
+Insert the last argument to the previous command (the last word of
+the previous history entry).  With an argument,
+behave exactly like \fByank\-nth\-arg\fP.
+Successive calls to \fByank\-last\-arg\fP move back through the history
+list, inserting the last argument of each line in turn.
+The history expansion facilities are used to extract the last argument,
+as if the "!$" history expansion had been specified.
+.PD
+.SS Commands for Changing Text
+.PP
+.PD 0
+.TP
+.B delete\-char (C\-d)
+Delete the character at point.  If point is at the
+beginning of the line, there are no characters in the line, and
+the last character typed was not bound to \fBdelete\-char\fP, then return
+.SM
+.BR EOF .
+.TP
+.B backward\-delete\-char (Rubout)
+Delete the character behind the cursor.  When given a numeric argument,
+save the deleted text on the kill ring.
+.TP
+.B forward\-backward\-delete\-char   
+Delete the character under the cursor, unless the cursor is at the
+end of the line, in which case the character behind the cursor is
+deleted.
+.TP
+.B quoted\-insert (C\-q, C\-v)
+Add the next character that you type to the line verbatim.  This is
+how to insert characters like \fBC\-q\fP, for example.
+.TP
+.B tab\-insert (M-TAB)
+Insert a tab character.
+.TP
+.B self\-insert (a,\ b,\ A,\ 1,\ !,\ ...)
+Insert the character typed.
+.TP
+.B transpose\-chars (C\-t)
+Drag the character before point forward over the character at point,
+moving point forward as well.
+If point is at the end of the line, then this transposes
+the two characters before point.
+Negative arguments have no effect.
+.TP
+.B transpose\-words (M\-t)
+Drag the word before point past the word after point,
+moving point over that word as well.
+If point is at the end of the line, this transposes
+the last two words on the line.
+.TP
+.B upcase\-word (M\-u)
+Uppercase the current (or following) word.  With a negative argument,
+uppercase the previous word, but do not move point.
+.TP
+.B downcase\-word (M\-l)
+Lowercase the current (or following) word.  With a negative argument,
+lowercase the previous word, but do not move point.
+.TP
+.B capitalize\-word (M\-c)
+Capitalize the current (or following) word.  With a negative argument,
+capitalize the previous word, but do not move point.
+.TP
+.B overwrite\-mode
+Toggle overwrite mode.  With an explicit positive numeric argument,
+switches to overwrite mode.  With an explicit non-positive numeric
+argument, switches to insert mode.  This command affects only
+\fBemacs\fP mode; \fBvi\fP mode does overwrite differently.
+Each call to \fIreadline()\fP starts in insert mode.
+In overwrite mode, characters bound to \fBself\-insert\fP replace   
+the text at point rather than pushing the text to the right.
+Characters bound to \fBbackward\-delete\-char\fP replace the character
+before point with a space.  By default, this command is unbound.
+.PD
+.SS Killing and Yanking
+.PP
+.PD 0
+.TP
+.B kill\-line (C\-k)
+Kill the text from point to the end of the line.
+.TP
+.B backward\-kill\-line (C\-x Rubout)
+Kill backward to the beginning of the line.
+.TP
+.B unix\-line\-discard (C\-u)
+Kill backward from point to the beginning of the line.
+The killed text is saved on the kill-ring.
+.\" There is no real difference between this and backward-kill-line
+.TP
+.B kill\-whole\-line
+Kill all characters on the current line, no matter where point is.
+.TP
+.B kill\-word  (M\-d)
+Kill from point the end of the current word, or if between
+words, to the end of the next word.  Word boundaries are the same as
+those used by \fBforward\-word\fP.
+.TP
+.B backward\-kill\-word (M\-Rubout)
+Kill the word behind point.
+Word boundaries are the same as those used by \fBbackward\-word\fP.
+.TP
+.B unix\-word\-rubout (C\-w)
+Kill the word behind point, using white space as a word boundary.
+The killed text is saved on the kill-ring.
+.TP
+.B unix\-filename\-rubout
+Kill the word behind point, using white space and the slash character
+as the word boundaries.
+The killed text is saved on the kill-ring.
+.TP
+.B delete\-horizontal\-space (M\-\e)
+Delete all spaces and tabs around point.
+.TP
+.B kill\-region
+Kill the text between the point and \fImark\fP (saved cursor position).
+This text is referred to as the \fIregion\fP.
+.TP
+.B copy\-region\-as\-kill
+Copy the text in the region to the kill buffer.
+.TP
+.B copy\-backward\-word
+Copy the word before point to the kill buffer.
+The word boundaries are the same as \fBbackward\-word\fP.
+.TP
+.B copy\-forward\-word
+Copy the word following point to the kill buffer.
+The word boundaries are the same as \fBforward\-word\fP.
+.TP
+.B yank (C\-y)
+Yank the top of the kill ring into the buffer at point.
+.TP
+.B yank\-pop (M\-y)
+Rotate the kill ring, and yank the new top.  Only works following
+.B yank
+or
+.BR yank\-pop .
+.PD
+.SS Numeric Arguments
+.PP
+.PD 0
+.TP
+.B digit\-argument (M\-0, M\-1, ..., M\-\-)
+Add this digit to the argument already accumulating, or start a new
+argument.  M\-\- starts a negative argument.
+.TP
+.B universal\-argument
+This is another way to specify an argument.
+If this command is followed by one or more digits, optionally with a
+leading minus sign, those digits define the argument.
+If the command is followed by digits, executing
+.B universal\-argument
+again ends the numeric argument, but is otherwise ignored.
+As a special case, if this command is immediately followed by a
+character that is neither a digit or minus sign, the argument count
+for the next command is multiplied by four.
+The argument count is initially one, so executing this function the
+first time makes the argument count four, a second time makes the
+argument count sixteen, and so on.
+.PD
+.SS Completing
+.PP
+.PD 0
+.TP
+.B complete (TAB)
+Attempt to perform completion on the text before point.
+The actual completion performed is application-specific.
+.BR Bash ,
+for instance, attempts completion treating the text as a variable
+(if the text begins with \fB$\fP), username (if the text begins with
+\fB~\fP), hostname (if the text begins with \fB@\fP), or
+command (including aliases and functions) in turn.  If none
+of these produces a match, filename completion is attempted.
+.BR Gdb ,
+on the other hand,
+allows completion of program functions and variables, and
+only attempts filename completion under certain circumstances.
+.TP
+.B possible\-completions (M\-?)
+List the possible completions of the text before point.
+.TP
+.B insert\-completions (M\-*)
+Insert all completions of the text before point
+that would have been generated by
+\fBpossible\-completions\fP.
+.TP
+.B menu\-complete
+Similar to \fBcomplete\fP, but replaces the word to be completed
+with a single match from the list of possible completions.
+Repeated execution of \fBmenu\-complete\fP steps through the list
+of possible completions, inserting each match in turn.
+At the end of the list of completions, the bell is rung
+(subject to the setting of \fBbell\-style\fP)
+and the original text is restored.
+An argument of \fIn\fP moves \fIn\fP positions forward in the list
+of matches; a negative argument may be used to move backward 
+through the list.
+This command is intended to be bound to \fBTAB\fP, but is unbound
+by default.
+.TP
+.B menu\-complete-\backward
+Identical to \fBmenu\-complete\fP, but moves backward through the list
+of possible completions, as if \fBmenu\-complete\fP had been given a
+negative argument.  This command is unbound by default.
+.TP
+.B delete\-char\-or\-list
+Deletes the character under the cursor if not at the beginning or
+end of the line (like \fBdelete-char\fP).
+If at the end of the line, behaves identically to
+\fBpossible-completions\fP.
+.PD
+.SS Keyboard Macros
+.PP
+.PD 0
+.TP
+.B start\-kbd\-macro (C\-x (\^)
+Begin saving the characters typed into the current keyboard macro.
+.TP
+.B end\-kbd\-macro (C\-x )\^)
+Stop saving the characters typed into the current keyboard macro
+and store the definition.
+.TP
+.B call\-last\-kbd\-macro (C\-x e)
+Re-execute the last keyboard macro defined, by making the characters
+in the macro appear as if typed at the keyboard.
+.PD
+.SS Miscellaneous
+.PP
+.PD 0
+.TP
+.B re\-read\-init\-file (C\-x C\-r)
+Read in the contents of the \fIinputrc\fP file, and incorporate
+any bindings or variable assignments found there.
+.TP
+.B abort (C\-g)
+Abort the current editing command and
+ring the terminal's bell (subject to the setting of
+.BR bell\-style ).
+.TP
+.B do\-uppercase\-version (M\-a, M\-b, M\-\fIx\fP, ...)
+If the metafied character \fIx\fP is lowercase, run the command
+that is bound to the corresponding uppercase character.
+.TP
+.B prefix\-meta (ESC)
+Metafy the next character typed.
+.SM
+.B ESC
+.B f
+is equivalent to
+.BR Meta\-f .
+.TP
+.B undo (C\-_, C\-x C\-u)
+Incremental undo, separately remembered for each line.
+.TP
+.B revert\-line (M\-r)
+Undo all changes made to this line.  This is like executing the
+.B undo
+command enough times to return the line to its initial state.
+.TP
+.B tilde\-expand (M\-&)
+Perform tilde expansion on the current word.
+.TP
+.B set\-mark (C\-@, M\-<space>)
+Set the mark to the point.  If a
+numeric argument is supplied, the mark is set to that position.
+.TP
+.B exchange\-point\-and\-mark (C\-x C\-x)
+Swap the point with the mark.  The current cursor position is set to
+the saved position, and the old cursor position is saved as the mark.
+.TP
+.B character\-search (C\-])
+A character is read and point is moved to the next occurrence of that
+character.  A negative count searches for previous occurrences.
+.TP
+.B character\-search\-backward (M\-C\-])
+A character is read and point is moved to the previous occurrence of that
+character.  A negative count searches for subsequent occurrences.
+.TP
+.B skip\-csi\-sequence ()
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End.  Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC\-[.  If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer.  This is unbound by default,
+but usually bound to ESC\-[.
+.TP
+.B insert\-comment (M\-#)
+Without a numeric argument, the value of the readline
+.B comment\-begin
+variable is inserted at the beginning of the current line.
+If a numeric argument is supplied, this command acts as a toggle:  if
+the characters at the beginning of the line do not match the value   
+of \fBcomment\-begin\fP, the value is inserted, otherwise             
+the characters in \fBcomment-begin\fP are deleted from the beginning of
+the line.
+In either case, the line is accepted as if a newline had been typed.
+The default value of
+.B comment\-begin
+makes the current line a shell comment.
+If a numeric argument causes the comment character to be removed, the line
+will be executed by the shell.
+.TP
+.B dump\-functions
+Print all of the functions and their key bindings to the
+readline output stream.  If a numeric argument is supplied,
+the output is formatted in such a way that it can be made part
+of an \fIinputrc\fP file.
+.TP
+.B dump\-variables
+Print all of the settable variables and their values to the
+readline output stream.  If a numeric argument is supplied,
+the output is formatted in such a way that it can be made part
+of an \fIinputrc\fP file.
+.TP
+.B dump\-macros
+Print all of the readline key sequences bound to macros and the
+strings they output.  If a numeric argument is supplied,
+the output is formatted in such a way that it can be made part
+of an \fIinputrc\fP file.
+.TP
+.B emacs\-editing\-mode (C\-e)
+When in
+.B vi
+command mode, this causes a switch to
+.B emacs
+editing mode.
+.TP
+.B vi\-editing\-mode (M\-C\-j)
+When in
+.B emacs
+editing mode, this causes a switch to
+.B vi
+editing mode.
+.PD
+.SH DEFAULT KEY BINDINGS
+.LP
+The following is a list of the default emacs and vi bindings.
+Characters with the eighth bit set are written as M\-<character>, and
+are referred to as
+.I metafied
+characters.
+The printable ASCII characters not mentioned in the list of emacs
+standard bindings are bound to the
+.B self\-insert
+function, which just inserts the given character into the input line.
+In vi insertion mode, all characters not specifically mentioned are
+bound to
+.BR self\-insert .
+Characters assigned to signal generation by
+.IR stty (1)
+or the terminal driver, such as C-Z or C-C,
+retain that function.
+Upper and lower case metafied characters are bound to the same function in
+the emacs mode meta keymap.
+The remaining characters are unbound, which causes readline
+to ring the bell (subject to the setting of the
+.B bell\-style
+variable).
+.SS Emacs Mode
+.RS +.6i
+.nf
+.ta 2.5i
+.sp
+Emacs Standard bindings
+.sp
+"C-@"  set-mark
+"C-A"  beginning-of-line
+"C-B"  backward-char
+"C-D"  delete-char
+"C-E"  end-of-line
+"C-F"  forward-char
+"C-G"  abort
+"C-H"  backward-delete-char
+"C-I"  complete
+"C-J"  accept-line
+"C-K"  kill-line
+"C-L"  clear-screen
+"C-M"  accept-line
+"C-N"  next-history
+"C-P"  previous-history
+"C-Q"  quoted-insert
+"C-R"  reverse-search-history
+"C-S"  forward-search-history
+"C-T"  transpose-chars
+"C-U"  unix-line-discard
+"C-V"  quoted-insert
+"C-W"  unix-word-rubout
+"C-Y"  yank
+"C-]"  character-search
+"C-_"  undo
+"\^ " to "/"  self-insert
+"0"  to "9"  self-insert
+":"  to "~"  self-insert
+"C-?"  backward-delete-char
+.PP
+Emacs Meta bindings
+.sp
+"M-C-G"  abort
+"M-C-H"  backward-kill-word
+"M-C-I"  tab-insert
+"M-C-J"  vi-editing-mode
+"M-C-M"  vi-editing-mode
+"M-C-R"  revert-line
+"M-C-Y"  yank-nth-arg
+"M-C-["  complete
+"M-C-]"  character-search-backward
+"M-space"  set-mark
+"M-#"  insert-comment
+"M-&"  tilde-expand
+"M-*"  insert-completions
+"M--"  digit-argument
+"M-."  yank-last-arg
+"M-0"  digit-argument
+"M-1"  digit-argument
+"M-2"  digit-argument
+"M-3"  digit-argument
+"M-4"  digit-argument
+"M-5"  digit-argument
+"M-6"  digit-argument
+"M-7"  digit-argument
+"M-8"  digit-argument
+"M-9"  digit-argument
+"M-<"  beginning-of-history
+"M-="  possible-completions
+"M->"  end-of-history
+"M-?"  possible-completions
+"M-B"  backward-word
+"M-C"  capitalize-word
+"M-D"  kill-word
+"M-F"  forward-word
+"M-L"  downcase-word
+"M-N"  non-incremental-forward-search-history
+"M-P"  non-incremental-reverse-search-history
+"M-R"  revert-line
+"M-T"  transpose-words
+"M-U"  upcase-word
+"M-Y"  yank-pop
+"M-\e"  delete-horizontal-space
+"M-~"  tilde-expand
+"M-C-?"  backward-kill-word
+"M-_"  yank-last-arg
+.PP
+Emacs Control-X bindings
+.sp
+"C-XC-G"  abort
+"C-XC-R"  re-read-init-file
+"C-XC-U"  undo
+"C-XC-X"  exchange-point-and-mark
+"C-X("  start-kbd-macro
+"C-X)"  end-kbd-macro
+"C-XE"  call-last-kbd-macro
+"C-XC-?"  backward-kill-line
+.sp
+.RE
+.SS VI Mode bindings
+.RS +.6i
+.nf
+.ta 2.5i
+.sp
+.PP
+VI Insert Mode functions
+.sp
+"C-D"  vi-eof-maybe
+"C-H"  backward-delete-char
+"C-I"  complete
+"C-J"  accept-line
+"C-M"  accept-line
+"C-R"  reverse-search-history
+"C-S"  forward-search-history
+"C-T"  transpose-chars
+"C-U"  unix-line-discard
+"C-V"  quoted-insert
+"C-W"  unix-word-rubout
+"C-Y"  yank
+"C-["  vi-movement-mode
+"C-_"  undo
+"\^ " to "~"  self-insert
+"C-?"  backward-delete-char
+.PP
+VI Command Mode functions
+.sp
+"C-D"  vi-eof-maybe
+"C-E"  emacs-editing-mode
+"C-G"  abort
+"C-H"  backward-char
+"C-J"  accept-line
+"C-K"  kill-line
+"C-L"  clear-screen
+"C-M"  accept-line
+"C-N"  next-history
+"C-P"  previous-history
+"C-Q"  quoted-insert
+"C-R"  reverse-search-history
+"C-S"  forward-search-history
+"C-T"  transpose-chars
+"C-U"  unix-line-discard
+"C-V"  quoted-insert
+"C-W"  unix-word-rubout
+"C-Y"  yank
+"C-_"  vi-undo
+"\^ "  forward-char
+"#"  insert-comment
+"$"  end-of-line
+"%"  vi-match
+"&"  vi-tilde-expand
+"*"  vi-complete
+"+"  next-history
+","  vi-char-search
+"-"  previous-history
+"."  vi-redo
+"/"  vi-search
+"0"  beginning-of-line
+"1" to "9"  vi-arg-digit
+";"  vi-char-search
+"="  vi-complete
+"?"  vi-search
+"A"  vi-append-eol
+"B"  vi-prev-word
+"C"  vi-change-to
+"D"  vi-delete-to
+"E"  vi-end-word
+"F"  vi-char-search
+"G"  vi-fetch-history
+"I"  vi-insert-beg
+"N"  vi-search-again
+"P"  vi-put
+"R"  vi-replace
+"S"  vi-subst
+"T"  vi-char-search
+"U"  revert-line
+"W"  vi-next-word
+"X"  backward-delete-char
+"Y"  vi-yank-to
+"\e"  vi-complete
+"^"  vi-first-print
+"_"  vi-yank-arg
+"`"  vi-goto-mark
+"a"  vi-append-mode
+"b"  vi-prev-word
+"c"  vi-change-to
+"d"  vi-delete-to
+"e"  vi-end-word
+"f"  vi-char-search
+"h"  backward-char
+"i"  vi-insertion-mode
+"j"  next-history
+"k"  prev-history
+"l"  forward-char
+"m"  vi-set-mark
+"n"  vi-search-again
+"p"  vi-put
+"r"  vi-change-char
+"s"  vi-subst
+"t"  vi-char-search
+"u"  vi-undo
+"w"  vi-next-word
+"x"  vi-delete
+"y"  vi-yank-to
+"|"  vi-column
+"~"  vi-change-case
+.RE
+.SH "SEE ALSO"
+.PD 0
+.TP
+\fIThe Gnu Readline Library\fP, Brian Fox and Chet Ramey
+.TP
+\fIThe Gnu History Library\fP, Brian Fox and Chet Ramey
+.TP
+\fIbash\fP(1)
+.PD
+.SH FILES
+.PD 0
+.TP
+.FN ~/.inputrc
+Individual \fBreadline\fP initialization file
+.PD
+.SH AUTHORS
+Brian Fox, Free Software Foundation
+.br
+bfox@gnu.org
+.PP
+Chet Ramey, Case Western Reserve University
+.br
+chet@ins.CWRU.Edu
+.SH BUG REPORTS
+If you find a bug in
+.B readline,
+you should report it.  But first, you should
+make sure that it really is a bug, and that it appears in the latest
+version of the
+.B readline
+library that you have.
+.PP
+Once you have determined that a bug actually exists, mail a
+bug report to \fIbug\-readline\fP@\fIgnu.org\fP.
+If you have a fix, you are welcome to mail that
+as well!  Suggestions and `philosophical' bug reports may be mailed
+to \fPbug-readline\fP@\fIgnu.org\fP or posted to the Usenet
+newsgroup
+.BR gnu.bash.bug .
+.PP
+Comments and bug reports concerning
+this manual page should be directed to
+.IR chet@ins.CWRU.Edu .
+.SH BUGS
+.PP
+It's too big and too slow.
index e59b8046536d6d448caa04a00637a63a76bf7a32..1b4205c968fa8b8043a444d791cdf638a1e6e2c8 100644 (file)
@@ -1436,6 +1436,15 @@ A character is read and point is moved to the previous occurrence
 of that character.  A negative count searches for subsequent
 occurrences.
 
+@item skip-csi-sequence ()
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End.  Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC-[.  If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer.  This is unbound by default,
+but usually bound to ESC-[.
+
 @item insert-comment (M-#)
 Without a numeric argument, the value of the @code{comment-begin}
 variable is inserted at the beginning of the current line.
diff --git a/lib/readline/doc/rluser.texi~ b/lib/readline/doc/rluser.texi~
new file mode 100644 (file)
index 0000000..e59b804
--- /dev/null
@@ -0,0 +1,1971 @@
+@comment %**start of header (This is for running Texinfo on a region.)
+@setfilename rluser.info
+@comment %**end of header (This is for running Texinfo on a region.)
+
+@ignore
+This file documents the end user interface to the GNU command line
+editing features.  It is to be an appendix to manuals for programs which
+use these features.  There is a document entitled "readline.texinfo"
+which contains both end-user and programmer documentation for the
+GNU Readline Library.
+
+Copyright (C) 1988--2009 Free Software Foundation, Inc.
+
+Authored by Brian Fox and Chet Ramey.
+
+Permission is granted to process this file through Tex and print the
+results, provided the printed document carries copying permission notice
+identical to this one except for the removal of this paragraph (this
+paragraph not being relevant to the printed manual).
+
+Permission is granted to make and distribute verbatim copies of this manual
+provided the copyright notice and this permission notice are preserved on
+all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that the
+GNU Copyright statement is available to the distributee, and provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end ignore
+
+@comment If you are including this manual as an appendix, then set the
+@comment variable readline-appendix.
+
+@ifclear BashFeatures
+@defcodeindex bt
+@end ifclear
+
+@node Command Line Editing
+@chapter Command Line Editing
+
+This chapter describes the basic features of the @sc{gnu}
+command line editing interface.
+@ifset BashFeatures
+Command line editing is provided by the Readline library, which is
+used by several different programs, including Bash.
+Command line editing is enabled by default when using an interactive shell,
+unless the @option{--noediting} option is supplied at shell invocation.
+Line editing is also used when using the @option{-e} option to the
+@code{read} builtin command (@pxref{Bash Builtins}).
+By default, the line editing commands are similar to those of emacs.
+A vi-style line editing interface is also available.
+Line editing can be enabled at any time using the @option{-o emacs} or
+@option{-o vi} options to the @code{set} builtin command
+(@pxref{The Set Builtin}), or disabled using the @option{+o emacs} or 
+@option{+o vi} options to @code{set}.
+@end ifset
+
+@menu
+* Introduction and Notation::  Notation used in this text.
+* Readline Interaction::       The minimum set of commands for editing a line.
+* Readline Init File::         Customizing Readline from a user's view.
+* Bindable Readline Commands:: A description of most of the Readline commands
+                               available for binding
+* Readline vi Mode::           A short description of how to make Readline
+                               behave like the vi editor.
+@ifset BashFeatures
+* Programmable Completion::    How to specify the possible completions for
+                               a specific command.
+* Programmable Completion Builtins::   Builtin commands to specify how to
+                               complete arguments for a particular command.
+@end ifset
+@end menu
+
+@node Introduction and Notation
+@section Introduction to Line Editing
+
+The following paragraphs describe the notation used to represent
+keystrokes.
+
+The text @kbd{C-k} is read as `Control-K' and describes the character
+produced when the @key{k} key is pressed while the Control key
+is depressed.
+
+The text @kbd{M-k} is read as `Meta-K' and describes the character
+produced when the Meta key (if you have one) is depressed, and the @key{k}
+key is pressed.
+The Meta key is labeled @key{ALT} on many keyboards.
+On keyboards with two keys labeled @key{ALT} (usually to either side of
+the space bar), the @key{ALT} on the left side is generally set to
+work as a Meta key.
+The @key{ALT} key on the right may also be configured to work as a
+Meta key or may be configured as some other modifier, such as a
+Compose key for typing accented characters.
+
+If you do not have a Meta or @key{ALT} key, or another key working as
+a Meta key, the identical keystroke can be generated by typing @key{ESC}
+@emph{first}, and then typing @key{k}.
+Either process is known as @dfn{metafying} the @key{k} key.
+
+The text @kbd{M-C-k} is read as `Meta-Control-k' and describes the
+character produced by @dfn{metafying} @kbd{C-k}.
+
+In addition, several keys have their own names.  Specifically,
+@key{DEL}, @key{ESC}, @key{LFD}, @key{SPC}, @key{RET}, and @key{TAB} all
+stand for themselves when seen in this text, or in an init file
+(@pxref{Readline Init File}).
+If your keyboard lacks a @key{LFD} key, typing @key{C-j} will
+produce the desired character.
+The @key{RET} key may be labeled @key{Return} or @key{Enter} on
+some keyboards.
+
+@node Readline Interaction
+@section Readline Interaction
+@cindex interaction, readline
+
+Often during an interactive session you type in a long line of text,
+only to notice that the first word on the line is misspelled.  The
+Readline library gives you a set of commands for manipulating the text
+as you type it in, allowing you to just fix your typo, and not forcing
+you to retype the majority of the line.  Using these editing commands,
+you move the cursor to the place that needs correction, and delete or
+insert the text of the corrections.  Then, when you are satisfied with
+the line, you simply press @key{RET}.  You do not have to be at the
+end of the line to press @key{RET}; the entire line is accepted
+regardless of the location of the cursor within the line.
+
+@menu
+* Readline Bare Essentials::   The least you need to know about Readline.
+* Readline Movement Commands:: Moving about the input line.
+* Readline Killing Commands::  How to delete text, and how to get it back!
+* Readline Arguments::         Giving numeric arguments to commands.
+* Searching::                  Searching through previous lines.
+@end menu
+
+@node Readline Bare Essentials
+@subsection Readline Bare Essentials
+@cindex notation, readline
+@cindex command editing
+@cindex editing command lines
+
+In order to enter characters into the line, simply type them.  The typed
+character appears where the cursor was, and then the cursor moves one
+space to the right.  If you mistype a character, you can use your
+erase character to back up and delete the mistyped character.
+
+Sometimes you may mistype a character, and
+not notice the error until you have typed several other characters.  In
+that case, you can type @kbd{C-b} to move the cursor to the left, and then
+correct your mistake.  Afterwards, you can move the cursor to the right
+with @kbd{C-f}.
+
+When you add text in the middle of a line, you will notice that characters
+to the right of the cursor are `pushed over' to make room for the text
+that you have inserted.  Likewise, when you delete text behind the cursor,
+characters to the right of the cursor are `pulled back' to fill in the
+blank space created by the removal of the text.  A list of the bare
+essentials for editing the text of an input line follows.
+
+@table @asis
+@item @kbd{C-b}
+Move back one character.
+@item @kbd{C-f}
+Move forward one character.
+@item @key{DEL} or @key{Backspace}
+Delete the character to the left of the cursor.
+@item @kbd{C-d}
+Delete the character underneath the cursor.
+@item @w{Printing characters}
+Insert the character into the line at the cursor.
+@item @kbd{C-_} or @kbd{C-x C-u}
+Undo the last editing command.  You can undo all the way back to an
+empty line.
+@end table
+
+@noindent
+(Depending on your configuration, the @key{Backspace} key be set to
+delete the character to the left of the cursor and the @key{DEL} key set
+to delete the character underneath the cursor, like @kbd{C-d}, rather
+than the character to the left of the cursor.)
+
+@node Readline Movement Commands
+@subsection Readline Movement Commands
+
+
+The above table describes the most basic keystrokes that you need
+in order to do editing of the input line.  For your convenience, many
+other commands have been added in addition to @kbd{C-b}, @kbd{C-f},
+@kbd{C-d}, and @key{DEL}.  Here are some commands for moving more rapidly
+about the line.
+
+@table @kbd
+@item C-a
+Move to the start of the line.
+@item C-e
+Move to the end of the line.
+@item M-f
+Move forward a word, where a word is composed of letters and digits.
+@item M-b
+Move backward a word.
+@item C-l
+Clear the screen, reprinting the current line at the top.
+@end table
+
+Notice how @kbd{C-f} moves forward a character, while @kbd{M-f} moves
+forward a word.  It is a loose convention that control keystrokes
+operate on characters while meta keystrokes operate on words.
+
+@node Readline Killing Commands
+@subsection Readline Killing Commands
+
+@cindex killing text
+@cindex yanking text
+
+@dfn{Killing} text means to delete the text from the line, but to save
+it away for later use, usually by @dfn{yanking} (re-inserting)
+it back into the line.
+(`Cut' and `paste' are more recent jargon for `kill' and `yank'.)
+
+If the description for a command says that it `kills' text, then you can
+be sure that you can get the text back in a different (or the same)
+place later.
+
+When you use a kill command, the text is saved in a @dfn{kill-ring}.
+Any number of consecutive kills save all of the killed text together, so
+that when you yank it back, you get it all.  The kill
+ring is not line specific; the text that you killed on a previously
+typed line is available to be yanked back later, when you are typing
+another line.
+@cindex kill ring
+
+Here is the list of commands for killing text.
+
+@table @kbd
+@item C-k
+Kill the text from the current cursor position to the end of the line.
+
+@item M-d
+Kill from the cursor to the end of the current word, or, if between
+words, to the end of the next word.
+Word boundaries are the same as those used by @kbd{M-f}.
+
+@item M-@key{DEL}
+Kill from the cursor the start of the current word, or, if between
+words, to the start of the previous word.
+Word boundaries are the same as those used by @kbd{M-b}.
+
+@item C-w
+Kill from the cursor to the previous whitespace.  This is different than
+@kbd{M-@key{DEL}} because the word boundaries differ.
+
+@end table
+
+Here is how to @dfn{yank} the text back into the line.  Yanking
+means to copy the most-recently-killed text from the kill buffer.
+
+@table @kbd
+@item C-y
+Yank the most recently killed text back into the buffer at the cursor.
+
+@item M-y
+Rotate the kill-ring, and yank the new top.  You can only do this if
+the prior command is @kbd{C-y} or @kbd{M-y}.
+@end table
+
+@node Readline Arguments
+@subsection Readline Arguments
+
+You can pass numeric arguments to Readline commands.  Sometimes the
+argument acts as a repeat count, other times it is the @i{sign} of the
+argument that is significant.  If you pass a negative argument to a
+command which normally acts in a forward direction, that command will
+act in a backward direction.  For example, to kill text back to the
+start of the line, you might type @samp{M-- C-k}.
+
+The general way to pass numeric arguments to a command is to type meta
+digits before the command.  If the first `digit' typed is a minus
+sign (@samp{-}), then the sign of the argument will be negative.  Once
+you have typed one meta digit to get the argument started, you can type
+the remainder of the digits, and then the command.  For example, to give
+the @kbd{C-d} command an argument of 10, you could type @samp{M-1 0 C-d},
+which will delete the next ten characters on the input line.
+
+@node Searching
+@subsection Searching for Commands in the History
+
+Readline provides commands for searching through the command history
+@ifset BashFeatures
+(@pxref{Bash History Facilities})
+@end ifset
+for lines containing a specified string.
+There are two search modes:  @dfn{incremental} and @dfn{non-incremental}.
+
+Incremental searches begin before the user has finished typing the
+search string.
+As each character of the search string is typed, Readline displays
+the next entry from the history matching the string typed so far.
+An incremental search requires only as many characters as needed to
+find the desired history entry.
+To search backward in the history for a particular string, type
+@kbd{C-r}.  Typing @kbd{C-s} searches forward through the history.
+The characters present in the value of the @code{isearch-terminators} variable
+are used to terminate an incremental search.
+If that variable has not been assigned a value, the @key{ESC} and
+@kbd{C-J} characters will terminate an incremental search.
+@kbd{C-g} will abort an incremental search and restore the original line.
+When the search is terminated, the history entry containing the
+search string becomes the current line.
+
+To find other matching entries in the history list, type @kbd{C-r} or
+@kbd{C-s} as appropriate.
+This will search backward or forward in the history for the next
+entry matching the search string typed so far.
+Any other key sequence bound to a Readline command will terminate
+the search and execute that command.
+For instance, a @key{RET} will terminate the search and accept
+the line, thereby executing the command from the history list.
+A movement command will terminate the search, make the last line found
+the current line, and begin editing.
+
+Readline remembers the last incremental search string.  If two
+@kbd{C-r}s are typed without any intervening characters defining a new
+search string, any remembered search string is used.
+
+Non-incremental searches read the entire search string before starting
+to search for matching history lines.  The search string may be
+typed by the user or be part of the contents of the current line.
+
+@node Readline Init File
+@section Readline Init File
+@cindex initialization file, readline
+
+Although the Readline library comes with a set of Emacs-like
+keybindings installed by default, it is possible to use a different set
+of keybindings.
+Any user can customize programs that use Readline by putting
+commands in an @dfn{inputrc} file, conventionally in his home directory.
+The name of this
+@ifset BashFeatures
+file is taken from the value of the shell variable @env{INPUTRC}.  If
+@end ifset
+@ifclear BashFeatures
+file is taken from the value of the environment variable @env{INPUTRC}.  If
+@end ifclear
+that variable is unset, the default is @file{~/.inputrc}.  If that
+file does not exist or cannot be read, the ultimate default is
+@file{/etc/inputrc}.
+
+When a program which uses the Readline library starts up, the
+init file is read, and the key bindings are set.
+
+In addition, the @code{C-x C-r} command re-reads this init file, thus
+incorporating any changes that you might have made to it.
+
+@menu
+* Readline Init File Syntax::  Syntax for the commands in the inputrc file.
+
+* Conditional Init Constructs::        Conditional key bindings in the inputrc file.
+
+* Sample Init File::           An example inputrc file.
+@end menu
+
+@node Readline Init File Syntax
+@subsection Readline Init File Syntax
+
+There are only a few basic constructs allowed in the
+Readline init file.  Blank lines are ignored.
+Lines beginning with a @samp{#} are comments.
+Lines beginning with a @samp{$} indicate conditional
+constructs (@pxref{Conditional Init Constructs}).  Other lines
+denote variable settings and key bindings.
+
+@table @asis
+@item Variable Settings
+You can modify the run-time behavior of Readline by
+altering the values of variables in Readline
+using the @code{set} command within the init file.
+The syntax is simple:
+
+@example
+set @var{variable} @var{value}
+@end example
+
+@noindent
+Here, for example, is how to
+change from the default Emacs-like key binding to use
+@code{vi} line editing commands:
+
+@example
+set editing-mode vi
+@end example
+
+Variable names and values, where appropriate, are recognized without regard
+to case.  Unrecognized variable names are ignored.
+
+Boolean variables (those that can be set to on or off) are set to on if
+the value is null or empty, @var{on} (case-insensitive), or 1.  Any other
+value results in the variable being set to off.
+
+@ifset BashFeatures
+The @w{@code{bind -V}} command lists the current Readline variable names
+and values.  @xref{Bash Builtins}.
+@end ifset
+
+A great deal of run-time behavior is changeable with the following
+variables.
+
+@cindex variables, readline
+@table @code
+
+@item bell-style
+@vindex bell-style
+Controls what happens when Readline wants to ring the terminal bell.
+If set to @samp{none}, Readline never rings the bell.  If set to
+@samp{visible}, Readline uses a visible bell if one is available.
+If set to @samp{audible} (the default), Readline attempts to ring
+the terminal's bell.
+
+@item bind-tty-special-chars
+@vindex bind-tty-special-chars
+If set to @samp{on}, Readline attempts to bind the control characters  
+treated specially by the kernel's terminal driver to their Readline
+equivalents.
+
+@item comment-begin
+@vindex comment-begin
+The string to insert at the beginning of the line when the
+@code{insert-comment} command is executed.  The default value
+is @code{"#"}.
+
+@item completion-ignore-case
+If set to @samp{on}, Readline performs filename matching and completion
+in a case-insensitive fashion.
+The default value is @samp{off}.
+
+@item completion-prefix-display-length
+@vindex completion-prefix-display-length
+The length in characters of the common prefix of a list of possible
+completions that is displayed without modification.  When set to a
+value greater than zero, common prefixes longer than this value are
+replaced with an ellipsis when displaying possible completions.
+
+@item completion-query-items
+@vindex completion-query-items
+The number of possible completions that determines when the user is
+asked whether the list of possibilities should be displayed.
+If the number of possible completions is greater than this value,
+Readline will ask the user whether or not he wishes to view
+them; otherwise, they are simply listed.
+This variable must be set to an integer value greater than or equal to 0.
+A negative value means Readline should never ask.
+The default limit is @code{100}.
+
+@item convert-meta
+@vindex convert-meta
+If set to @samp{on}, Readline will convert characters with the
+eighth bit set to an @sc{ascii} key sequence by stripping the eighth
+bit and prefixing an @key{ESC} character, converting them to a
+meta-prefixed key sequence.  The default value is @samp{on}.
+
+@item disable-completion
+@vindex disable-completion
+If set to @samp{On}, Readline will inhibit word completion.
+Completion  characters will be inserted into the line as if they had
+been mapped to @code{self-insert}.  The default is @samp{off}.
+
+@item editing-mode
+@vindex editing-mode
+The @code{editing-mode} variable controls which default set of
+key bindings is used.  By default, Readline starts up in Emacs editing
+mode, where the keystrokes are most similar to Emacs.  This variable can be
+set to either @samp{emacs} or @samp{vi}.
+
+@item enable-keypad
+@vindex enable-keypad
+When set to @samp{on}, Readline will try to enable the application
+keypad when it is called.  Some systems need this to enable the
+arrow keys.  The default is @samp{off}.
+
+@item expand-tilde
+@vindex expand-tilde
+If set to @samp{on}, tilde expansion is performed when Readline
+attempts word completion.  The default is @samp{off}.
+
+@item history-preserve-point
+@vindex history-preserve-point
+If set to @samp{on}, the history code attempts to place the point (the
+current cursor position) at the
+same location on each history line retrieved with @code{previous-history}
+or @code{next-history}.  The default is @samp{off}.
+
+@item history-size
+@vindex history-size
+Set the maximum number of history entries saved in the history list.  If
+set to zero, the number of entries in the history list is not limited.
+
+@item horizontal-scroll-mode
+@vindex horizontal-scroll-mode
+This variable can be set to either @samp{on} or @samp{off}.  Setting it
+to @samp{on} means that the text of the lines being edited will scroll
+horizontally on a single screen line when they are longer than the width
+of the screen, instead of wrapping onto a new screen line.  By default,
+this variable is set to @samp{off}.
+
+@item input-meta
+@vindex input-meta
+@vindex meta-flag
+If set to @samp{on}, Readline will enable eight-bit input (it
+will not clear the eighth bit in the characters it reads),
+regardless of what the terminal claims it can support.  The
+default value is @samp{off}.  The name @code{meta-flag} is a
+synonym for this variable.
+
+@item isearch-terminators
+@vindex isearch-terminators
+The string of characters that should terminate an incremental search without
+subsequently executing the character as a command (@pxref{Searching}).
+If this variable has not been given a value, the characters @key{ESC} and
+@kbd{C-J} will terminate an incremental search.
+
+@item keymap
+@vindex keymap
+Sets Readline's idea of the current keymap for key binding commands.
+Acceptable @code{keymap} names are
+@code{emacs},
+@code{emacs-standard},
+@code{emacs-meta},
+@code{emacs-ctlx},
+@code{vi},
+@code{vi-move},
+@code{vi-command}, and
+@code{vi-insert}.
+@code{vi} is equivalent to @code{vi-command}; @code{emacs} is
+equivalent to @code{emacs-standard}.  The default value is @code{emacs}.
+The value of the @code{editing-mode} variable also affects the
+default keymap.
+
+@item mark-directories
+If set to @samp{on}, completed directory names have a slash
+appended.  The default is @samp{on}.
+
+@item mark-modified-lines
+@vindex mark-modified-lines
+This variable, when set to @samp{on}, causes Readline to display an
+asterisk (@samp{*}) at the start of history lines which have been modified.
+This variable is @samp{off} by default.
+
+@item mark-symlinked-directories
+@vindex mark-symlinked-directories
+If set to @samp{on}, completed names which are symbolic links
+to directories have a slash appended (subject to the value of
+@code{mark-directories}).
+The default is @samp{off}.
+
+@item match-hidden-files
+@vindex match-hidden-files
+This variable, when set to @samp{on}, causes Readline to match files whose
+names begin with a @samp{.} (hidden files) when performing filename
+completion, unless the leading @samp{.} is
+supplied by the user in the filename to be completed.
+This variable is @samp{on} by default.
+
+@item output-meta
+@vindex output-meta
+If set to @samp{on}, Readline will display characters with the
+eighth bit set directly rather than as a meta-prefixed escape
+sequence.  The default is @samp{off}.
+
+@item page-completions
+@vindex page-completions
+If set to @samp{on}, Readline uses an internal @code{more}-like pager
+to display a screenful of possible completions at a time.
+This variable is @samp{on} by default.
+
+@item print-completions-horizontally
+If set to @samp{on}, Readline will display completions with matches
+sorted horizontally in alphabetical order, rather than down the screen.
+The default is @samp{off}.
+
+@item revert-all-at-newline
+@vindex revert-all-at-newline
+If set to @samp{on}, Readline will undo all changes to history lines
+before returning when @code{accept-line} is executed.  By default,
+history lines may be modified and retain individual undo lists across
+calls to @code{readline}.  The default is @samp{off}.
+
+@item show-all-if-ambiguous
+@vindex show-all-if-ambiguous
+This alters the default behavior of the completion functions.  If
+set to @samp{on}, 
+words which have more than one possible completion cause the
+matches to be listed immediately instead of ringing the bell.
+The default value is @samp{off}.
+
+@item show-all-if-unmodified
+@vindex show-all-if-unmodified
+This alters the default behavior of the completion functions in
+a fashion similar to @var{show-all-if-ambiguous}.
+If set to @samp{on}, 
+words which have more than one possible completion without any
+possible partial completion (the possible completions don't share
+a common prefix) cause the matches to be listed immediately instead
+of ringing the bell.
+The default value is @samp{off}.
+
+@item visible-stats
+@vindex visible-stats
+If set to @samp{on}, a character denoting a file's type
+is appended to the filename when listing possible
+completions.  The default is @samp{off}.
+
+@end table
+
+@item Key Bindings
+The syntax for controlling key bindings in the init file is
+simple.  First you need to find the name of the command that you
+want to change.  The following sections contain tables of the command
+name, the default keybinding, if any, and a short description of what
+the command does.
+
+Once you know the name of the command, simply place on a line
+in the init file the name of the key
+you wish to bind the command to, a colon, and then the name of the
+command.
+There can be no space between the key name and the colon -- that will be
+interpreted as part of the key name.
+The name of the key can be expressed in different ways, depending on
+what you find most comfortable.
+
+In addition to command names, readline allows keys to be bound
+to a string that is inserted when the key is pressed (a @var{macro}).
+
+@ifset BashFeatures
+The @w{@code{bind -p}} command displays Readline function names and
+bindings in a format that can put directly into an initialization file.
+@xref{Bash Builtins}.
+@end ifset
+
+@table @asis
+@item @w{@var{keyname}: @var{function-name} or @var{macro}}
+@var{keyname} is the name of a key spelled out in English.  For example:
+@example
+Control-u: universal-argument
+Meta-Rubout: backward-kill-word
+Control-o: "> output"
+@end example
+
+In the above example, @kbd{C-u} is bound to the function
+@code{universal-argument},
+@kbd{M-DEL} is bound to the function @code{backward-kill-word}, and
+@kbd{C-o} is bound to run the macro
+expressed on the right hand side (that is, to insert the text
+@samp{> output} into the line).
+
+A number of symbolic character names are recognized while
+processing this key binding syntax:
+@var{DEL},
+@var{ESC},
+@var{ESCAPE},
+@var{LFD},
+@var{NEWLINE},
+@var{RET},
+@var{RETURN},
+@var{RUBOUT},
+@var{SPACE},
+@var{SPC},
+and
+@var{TAB}.
+
+@item @w{"@var{keyseq}": @var{function-name} or @var{macro}}
+@var{keyseq} differs from @var{keyname} above in that strings
+denoting an entire key sequence can be specified, by placing
+the key sequence in double quotes.  Some @sc{gnu} Emacs style key
+escapes can be used, as in the following example, but the
+special character names are not recognized.
+
+@example
+"\C-u": universal-argument
+"\C-x\C-r": re-read-init-file
+"\e[11~": "Function Key 1"
+@end example
+
+In the above example, @kbd{C-u} is again bound to the function
+@code{universal-argument} (just as it was in the first example),
+@samp{@kbd{C-x} @kbd{C-r}} is bound to the function @code{re-read-init-file},
+and @samp{@key{ESC} @key{[} @key{1} @key{1} @key{~}} is bound to insert
+the text @samp{Function Key 1}.
+
+@end table
+
+The following @sc{gnu} Emacs style escape sequences are available when
+specifying key sequences:
+
+@table @code
+@item @kbd{\C-}
+control prefix
+@item @kbd{\M-}
+meta prefix
+@item @kbd{\e}
+an escape character
+@item @kbd{\\}
+backslash
+@item @kbd{\"}
+@key{"}, a double quotation mark
+@item @kbd{\'}
+@key{'}, a single quote or apostrophe
+@end table
+
+In addition to the @sc{gnu} Emacs style escape sequences, a second
+set of backslash escapes is available:
+
+@table @code
+@item \a
+alert (bell)
+@item \b
+backspace
+@item \d
+delete
+@item \f
+form feed
+@item \n
+newline
+@item \r
+carriage return
+@item \t
+horizontal tab
+@item \v
+vertical tab
+@item \@var{nnn}
+the eight-bit character whose value is the octal value @var{nnn}
+(one to three digits)
+@item \x@var{HH}
+the eight-bit character whose value is the hexadecimal value @var{HH}
+(one or two hex digits)
+@end table
+
+When entering the text of a macro, single or double quotes must
+be used to indicate a macro definition.
+Unquoted text is assumed to be a function name.
+In the macro body, the backslash escapes described above are expanded.
+Backslash will quote any other character in the macro text,
+including @samp{"} and @samp{'}.
+For example, the following binding will make @samp{@kbd{C-x} \}
+insert a single @samp{\} into the line:
+@example
+"\C-x\\": "\\"
+@end example
+
+@end table
+
+@node Conditional Init Constructs
+@subsection Conditional Init Constructs
+
+Readline implements a facility similar in spirit to the conditional
+compilation features of the C preprocessor which allows key
+bindings and variable settings to be performed as the result
+of tests.  There are four parser directives used.
+
+@table @code
+@item $if
+The @code{$if} construct allows bindings to be made based on the
+editing mode, the terminal being used, or the application using
+Readline.  The text of the test extends to the end of the line;
+no characters are required to isolate it.
+
+@table @code
+@item mode
+The @code{mode=} form of the @code{$if} directive is used to test
+whether Readline is in @code{emacs} or @code{vi} mode.
+This may be used in conjunction
+with the @samp{set keymap} command, for instance, to set bindings in
+the @code{emacs-standard} and @code{emacs-ctlx} keymaps only if
+Readline is starting out in @code{emacs} mode.
+
+@item term
+The @code{term=} form may be used to include terminal-specific
+key bindings, perhaps to bind the key sequences output by the
+terminal's function keys.  The word on the right side of the
+@samp{=} is tested against both the full name of the terminal and
+the portion of the terminal name before the first @samp{-}.  This
+allows @code{sun} to match both @code{sun} and @code{sun-cmd},
+for instance.
+
+@item application
+The @var{application} construct is used to include
+application-specific settings.  Each program using the Readline
+library sets the @var{application name}, and you can test for
+a particular value. 
+This could be used to bind key sequences to functions useful for
+a specific program.  For instance, the following command adds a
+key sequence that quotes the current or previous word in Bash:
+@example
+$if Bash
+# Quote the current or previous word
+"\C-xq": "\eb\"\ef\""
+$endif
+@end example
+@end table
+
+@item $endif
+This command, as seen in the previous example, terminates an
+@code{$if} command.
+
+@item $else
+Commands in this branch of the @code{$if} directive are executed if
+the test fails.
+
+@item $include
+This directive takes a single filename as an argument and reads commands
+and bindings from that file.
+For example, the following directive reads from @file{/etc/inputrc}:
+@example
+$include /etc/inputrc
+@end example
+@end table
+
+@node Sample Init File
+@subsection Sample Init File
+
+Here is an example of an @var{inputrc} file.  This illustrates key
+binding, variable assignment, and conditional syntax.
+
+@example
+@page
+# This file controls the behaviour of line input editing for
+# programs that use the GNU Readline library.  Existing
+# programs include FTP, Bash, and GDB.
+#
+# You can re-read the inputrc file with C-x C-r.
+# Lines beginning with '#' are comments.
+#
+# First, include any systemwide bindings and variable
+# assignments from /etc/Inputrc
+$include /etc/Inputrc
+
+#
+# Set various bindings for emacs mode.
+
+set editing-mode emacs 
+
+$if mode=emacs
+
+Meta-Control-h:        backward-kill-word      Text after the function name is ignored
+
+#
+# Arrow keys in keypad mode
+#
+#"\M-OD":        backward-char
+#"\M-OC":        forward-char
+#"\M-OA":        previous-history
+#"\M-OB":        next-history
+#
+# Arrow keys in ANSI mode
+#
+"\M-[D":        backward-char
+"\M-[C":        forward-char
+"\M-[A":        previous-history
+"\M-[B":        next-history
+#
+# Arrow keys in 8 bit keypad mode
+#
+#"\M-\C-OD":       backward-char
+#"\M-\C-OC":       forward-char
+#"\M-\C-OA":       previous-history
+#"\M-\C-OB":       next-history
+#
+# Arrow keys in 8 bit ANSI mode
+#
+#"\M-\C-[D":       backward-char
+#"\M-\C-[C":       forward-char
+#"\M-\C-[A":       previous-history
+#"\M-\C-[B":       next-history
+
+C-q: quoted-insert
+
+$endif
+
+# An old-style binding.  This happens to be the default.
+TAB: complete
+
+# Macros that are convenient for shell interaction
+$if Bash
+# edit the path
+"\C-xp": "PATH=$@{PATH@}\e\C-e\C-a\ef\C-f"
+# prepare to type a quoted word --
+# insert open and close double quotes
+# and move to just after the open quote
+"\C-x\"": "\"\"\C-b"
+# insert a backslash (testing backslash escapes
+# in sequences and macros)
+"\C-x\\": "\\"
+# Quote the current or previous word
+"\C-xq": "\eb\"\ef\""
+# Add a binding to refresh the line, which is unbound
+"\C-xr": redraw-current-line
+# Edit variable on current line.
+"\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
+$endif
+
+# use a visible bell if one is available
+set bell-style visible
+
+# don't strip characters to 7 bits when reading
+set input-meta on
+
+# allow iso-latin1 characters to be inserted rather
+# than converted to prefix-meta sequences
+set convert-meta off
+
+# display characters with the eighth bit set directly
+# rather than as meta-prefixed characters
+set output-meta on
+
+# if there are more than 150 possible completions for
+# a word, ask the user if he wants to see all of them
+set completion-query-items 150
+
+# For FTP
+$if Ftp
+"\C-xg": "get \M-?"
+"\C-xt": "put \M-?"
+"\M-.": yank-last-arg
+$endif
+@end example
+
+@node Bindable Readline Commands
+@section Bindable Readline Commands
+
+@menu
+* Commands For Moving::                Moving about the line.
+* Commands For History::       Getting at previous lines.
+* Commands For Text::          Commands for changing text.
+* Commands For Killing::       Commands for killing and yanking.
+* Numeric Arguments::          Specifying numeric arguments, repeat counts.
+* Commands For Completion::    Getting Readline to do the typing for you.
+* Keyboard Macros::            Saving and re-executing typed characters
+* Miscellaneous Commands::     Other miscellaneous commands.
+@end menu
+
+This section describes Readline commands that may be bound to key
+sequences.
+@ifset BashFeatures
+You can list your key bindings by executing
+@w{@code{bind -P}} or, for a more terse format, suitable for an
+@var{inputrc} file, @w{@code{bind -p}}.  (@xref{Bash Builtins}.)
+@end ifset
+Command names without an accompanying key sequence are unbound by default.
+
+In the following descriptions, @dfn{point} refers to the current cursor
+position, and @dfn{mark} refers to a cursor position saved by the
+@code{set-mark} command.
+The text between the point and mark is referred to as the @dfn{region}.
+
+@node Commands For Moving
+@subsection Commands For Moving
+@ftable @code
+@item beginning-of-line (C-a)
+Move to the start of the current line.
+
+@item end-of-line (C-e)
+Move to the end of the line.
+
+@item forward-char (C-f)
+Move forward a character.
+
+@item backward-char (C-b)
+Move back a character.
+
+@item forward-word (M-f)
+Move forward to the end of the next word.
+Words are composed of letters and digits.
+
+@item backward-word (M-b)
+Move back to the start of the current or previous word.
+Words are composed of letters and digits.
+
+@ifset BashFeatures
+@item shell-forward-word ()
+Move forward to the end of the next word.
+Words are delimited by non-quoted shell metacharacters.
+
+@item shell-backward-word ()
+Move back to the start of the current or previous word.
+Words are delimited by non-quoted shell metacharacters.
+@end ifset
+
+@item clear-screen (C-l)
+Clear the screen and redraw the current line,
+leaving the current line at the top of the screen.
+
+@item redraw-current-line ()
+Refresh the current line.  By default, this is unbound.
+
+@end ftable
+
+@node Commands For History
+@subsection Commands For Manipulating The History
+
+@ftable @code
+@item accept-line (Newline or Return)
+@ifset BashFeatures
+Accept the line regardless of where the cursor is.
+If this line is
+non-empty, add it to the history list according to the setting of
+the @env{HISTCONTROL} and @env{HISTIGNORE} variables.
+If this line is a modified history line, then restore the history line
+to its original state.
+@end ifset
+@ifclear BashFeatures
+Accept the line regardless of where the cursor is.
+If this line is
+non-empty, it may be added to the history list for future recall with
+@code{add_history()}.
+If this line is a modified history line, the history line is restored
+to its original state.
+@end ifclear
+
+@item previous-history (C-p)
+Move `back' through the history list, fetching the previous command.
+
+@item next-history (C-n)
+Move `forward' through the history list, fetching the next command.
+
+@item beginning-of-history (M-<)
+Move to the first line in the history.
+
+@item end-of-history (M->)
+Move to the end of the input history, i.e., the line currently
+being entered.
+
+@item reverse-search-history (C-r)
+Search backward starting at the current line and moving `up' through
+the history as necessary.  This is an incremental search.
+
+@item forward-search-history (C-s)
+Search forward starting at the current line and moving `down' through
+the the history as necessary.  This is an incremental search.
+
+@item non-incremental-reverse-search-history (M-p)
+Search backward starting at the current line and moving `up'
+through the history as necessary using a non-incremental search
+for a string supplied by the user.
+
+@item non-incremental-forward-search-history (M-n)
+Search forward starting at the current line and moving `down'
+through the the history as necessary using a non-incremental search
+for a string supplied by the user.
+
+@item history-search-forward ()
+Search forward through the history for the string of characters
+between the start of the current line and the point.
+This is a non-incremental search.
+By default, this command is unbound.
+
+@item history-search-backward ()
+Search backward through the history for the string of characters
+between the start of the current line and the point.  This
+is a non-incremental search.  By default, this command is unbound.
+
+@item yank-nth-arg (M-C-y)
+Insert the first argument to the previous command (usually
+the second word on the previous line) at point.
+With an argument @var{n},
+insert the @var{n}th word from the previous command (the words
+in the previous command begin with word 0).  A negative argument
+inserts the @var{n}th word from the end of the previous command.
+Once the argument @var{n} is computed, the argument is extracted
+as if the @samp{!@var{n}} history expansion had been specified.
+
+@item yank-last-arg (M-. or M-_)
+Insert last argument to the previous command (the last word of the
+previous history entry).  With an
+argument, behave exactly like @code{yank-nth-arg}.
+Successive calls to @code{yank-last-arg} move back through the history
+list, inserting the last argument of each line in turn.
+The history expansion facilities are used to extract the last argument,
+as if the @samp{!$} history expansion had been specified.
+
+@end ftable
+
+@node Commands For Text
+@subsection Commands For Changing Text
+
+@ftable @code
+@item delete-char (C-d)
+Delete the character at point.  If point is at the
+beginning of the line, there are no characters in the line, and
+the last character typed was not bound to @code{delete-char}, then
+return @sc{eof}.
+
+@item backward-delete-char (Rubout)
+Delete the character behind the cursor.  A numeric argument means
+to kill the characters instead of deleting them.
+
+@item forward-backward-delete-char ()
+Delete the character under the cursor, unless the cursor is at the
+end of the line, in which case the character behind the cursor is
+deleted.  By default, this is not bound to a key.
+
+@item quoted-insert (C-q or C-v)
+Add the next character typed to the line verbatim.  This is
+how to insert key sequences like @kbd{C-q}, for example.
+
+@ifclear BashFeatures
+@item tab-insert (M-@key{TAB})
+Insert a tab character.
+@end ifclear
+
+@item self-insert (a, b, A, 1, !, @dots{})
+Insert yourself.
+
+@item transpose-chars (C-t)
+Drag the character before the cursor forward over
+the character at the cursor, moving the
+cursor forward as well.  If the insertion point
+is at the end of the line, then this
+transposes the last two characters of the line.
+Negative arguments have no effect.
+
+@item transpose-words (M-t)
+Drag the word before point past the word after point,
+moving point past that word as well.
+If the insertion point is at the end of the line, this transposes
+the last two words on the line.
+
+@item upcase-word (M-u)
+Uppercase the current (or following) word.  With a negative argument,
+uppercase the previous word, but do not move the cursor.
+
+@item downcase-word (M-l)
+Lowercase the current (or following) word.  With a negative argument,
+lowercase the previous word, but do not move the cursor.
+
+@item capitalize-word (M-c)
+Capitalize the current (or following) word.  With a negative argument,
+capitalize the previous word, but do not move the cursor.
+
+@item overwrite-mode ()
+Toggle overwrite mode.  With an explicit positive numeric argument,
+switches to overwrite mode.  With an explicit non-positive numeric
+argument, switches to insert mode.  This command affects only
+@code{emacs} mode; @code{vi} mode does overwrite differently.
+Each call to @code{readline()} starts in insert mode.
+
+In overwrite mode, characters bound to @code{self-insert} replace
+the text at point rather than pushing the text to the right.
+Characters bound to @code{backward-delete-char} replace the character
+before point with a space.
+
+By default, this command is unbound.
+
+@end ftable
+
+@node Commands For Killing
+@subsection Killing And Yanking
+
+@ftable @code
+
+@item kill-line (C-k)
+Kill the text from point to the end of the line.
+
+@item backward-kill-line (C-x Rubout)
+Kill backward to the beginning of the line.
+
+@item unix-line-discard (C-u)
+Kill backward from the cursor to the beginning of the current line.
+
+@item kill-whole-line ()
+Kill all characters on the current line, no matter where point is.
+By default, this is unbound.
+
+@item kill-word (M-d)
+Kill from point to the end of the current word, or if between
+words, to the end of the next word.
+Word boundaries are the same as @code{forward-word}.
+
+@item backward-kill-word (M-@key{DEL})
+Kill the word behind point.
+Word boundaries are the same as @code{backward-word}.
+
+@ifset BashFeatures
+@item shell-kill-word ()
+Kill from point to the end of the current word, or if between
+words, to the end of the next word.
+Word boundaries are the same as @code{shell-forward-word}.
+
+@item backward-kill-word ()
+Kill the word behind point.
+Word boundaries are the same as @code{shell-backward-word}.
+@end ifset
+
+@item unix-word-rubout (C-w)
+Kill the word behind point, using white space as a word boundary.
+The killed text is saved on the kill-ring.
+
+@item unix-filename-rubout ()
+Kill the word behind point, using white space and the slash character
+as the word boundaries.
+The killed text is saved on the kill-ring.
+
+@item delete-horizontal-space ()
+Delete all spaces and tabs around point.  By default, this is unbound.
+
+@item kill-region ()
+Kill the text in the current region.
+By default, this command is unbound.
+
+@item copy-region-as-kill ()
+Copy the text in the region to the kill buffer, so it can be yanked
+right away.  By default, this command is unbound.
+
+@item copy-backward-word ()
+Copy the word before point to the kill buffer.
+The word boundaries are the same as @code{backward-word}.
+By default, this command is unbound.
+
+@item copy-forward-word ()
+Copy the word following point to the kill buffer.
+The word boundaries are the same as @code{forward-word}.
+By default, this command is unbound.
+
+@item yank (C-y)
+Yank the top of the kill ring into the buffer at point.
+
+@item yank-pop (M-y)
+Rotate the kill-ring, and yank the new top.  You can only do this if
+the prior command is @code{yank} or @code{yank-pop}.
+@end ftable
+
+@node Numeric Arguments
+@subsection Specifying Numeric Arguments
+@ftable @code
+
+@item digit-argument (@kbd{M-0}, @kbd{M-1}, @dots{} @kbd{M--})
+Add this digit to the argument already accumulating, or start a new
+argument.  @kbd{M--} starts a negative argument.
+
+@item universal-argument ()
+This is another way to specify an argument.
+If this command is followed by one or more digits, optionally with a
+leading minus sign, those digits define the argument.
+If the command is followed by digits, executing @code{universal-argument}
+again ends the numeric argument, but is otherwise ignored.
+As a special case, if this command is immediately followed by a
+character that is neither a digit or minus sign, the argument count
+for the next command is multiplied by four.
+The argument count is initially one, so executing this function the
+first time makes the argument count four, a second time makes the
+argument count sixteen, and so on.
+By default, this is not bound to a key.
+@end ftable
+
+@node Commands For Completion
+@subsection Letting Readline Type For You
+
+@ftable @code
+@item complete (@key{TAB})
+Attempt to perform completion on the text before point.
+The actual completion performed is application-specific.
+@ifset BashFeatures
+Bash attempts completion treating the text as a variable (if the
+text begins with @samp{$}), username (if the text begins with
+@samp{~}), hostname (if the text begins with @samp{@@}), or
+command (including aliases and functions) in turn.  If none 
+of these produces a match, filename completion is attempted.
+@end ifset
+@ifclear BashFeatures
+The default is filename completion.
+@end ifclear
+
+@item possible-completions (M-?)
+List the possible completions of the text before point.
+
+@item insert-completions (M-*)
+Insert all completions of the text before point that would have
+been generated by @code{possible-completions}.
+
+@item menu-complete ()
+Similar to @code{complete}, but replaces the word to be completed
+with a single match from the list of possible completions.
+Repeated execution of @code{menu-complete} steps through the list
+of possible completions, inserting each match in turn.
+At the end of the list of completions, the bell is rung
+(subject to the setting of @code{bell-style})
+and the original text is restored.
+An argument of @var{n} moves @var{n} positions forward in the list
+of matches; a negative argument may be used to move backward
+through the list.
+This command is intended to be bound to @key{TAB}, but is unbound
+by default.
+
+@item menu-complete-backward ()
+Identical to @code{menu-complete}, but moves backward through the list
+of possible completions, as if @code{menu-complete} had been given a
+negative argument.
+
+@item delete-char-or-list ()
+Deletes the character under the cursor if not at the beginning or
+end of the line (like @code{delete-char}).
+If at the end of the line, behaves identically to
+@code{possible-completions}.
+This command is unbound by default.
+
+@ifset BashFeatures
+@item complete-filename (M-/)
+Attempt filename completion on the text before point.
+
+@item possible-filename-completions (C-x /)
+List the possible completions of the text before point,
+treating it as a filename.
+
+@item complete-username (M-~)
+Attempt completion on the text before point, treating
+it as a username.
+
+@item possible-username-completions (C-x ~)
+List the possible completions of the text before point,
+treating it as a username.
+
+@item complete-variable (M-$)
+Attempt completion on the text before point, treating
+it as a shell variable.
+
+@item possible-variable-completions (C-x $)
+List the possible completions of the text before point,
+treating it as a shell variable.
+
+@item complete-hostname (M-@@)
+Attempt completion on the text before point, treating
+it as a hostname.
+
+@item possible-hostname-completions (C-x @@)
+List the possible completions of the text before point,
+treating it as a hostname.
+
+@item complete-command (M-!)
+Attempt completion on the text before point, treating
+it as a command name.  Command completion attempts to
+match the text against aliases, reserved words, shell
+functions, shell builtins, and finally executable filenames,
+in that order.
+
+@item possible-command-completions (C-x !)
+List the possible completions of the text before point,
+treating it as a command name.
+
+@item dynamic-complete-history (M-@key{TAB})
+Attempt completion on the text before point, comparing
+the text against lines from the history list for possible
+completion matches.
+
+@item dabbrev-expand ()
+Attempt menu completion on the text before point, comparing
+the text against lines from the history list for possible
+completion matches.
+
+@item complete-into-braces (M-@{)
+Perform filename completion and insert the list of possible completions
+enclosed within braces so the list is available to the shell
+(@pxref{Brace Expansion}).
+
+@end ifset
+@end ftable
+
+@node Keyboard Macros
+@subsection Keyboard Macros
+@ftable @code
+
+@item start-kbd-macro (C-x ()
+Begin saving the characters typed into the current keyboard macro.
+
+@item end-kbd-macro (C-x ))
+Stop saving the characters typed into the current keyboard macro
+and save the definition.
+
+@item call-last-kbd-macro (C-x e)
+Re-execute the last keyboard macro defined, by making the characters
+in the macro appear as if typed at the keyboard.
+
+@end ftable
+
+@node Miscellaneous Commands
+@subsection Some Miscellaneous Commands
+@ftable @code
+
+@item re-read-init-file (C-x C-r)
+Read in the contents of the @var{inputrc} file, and incorporate
+any bindings or variable assignments found there.
+
+@item abort (C-g)
+Abort the current editing command and
+ring the terminal's bell (subject to the setting of
+@code{bell-style}).
+
+@item do-uppercase-version (M-a, M-b, M-@var{x}, @dots{})
+If the metafied character @var{x} is lowercase, run the command
+that is bound to the corresponding uppercase character.
+
+@item prefix-meta (@key{ESC})
+Metafy the next character typed.  This is for keyboards
+without a meta key.  Typing @samp{@key{ESC} f} is equivalent to typing
+@kbd{M-f}.
+
+@item undo (C-_ or C-x C-u)
+Incremental undo, separately remembered for each line.
+
+@item revert-line (M-r)
+Undo all changes made to this line.  This is like executing the @code{undo}
+command enough times to get back to the beginning.
+
+@ifset BashFeatures
+@item tilde-expand (M-&)
+@end ifset
+@ifclear BashFeatures
+@item tilde-expand (M-~)
+@end ifclear
+Perform tilde expansion on the current word.
+
+@item set-mark (C-@@)
+Set the mark to the point.  If a
+numeric argument is supplied, the mark is set to that position.
+
+@item exchange-point-and-mark (C-x C-x)
+Swap the point with the mark.  The current cursor position is set to
+the saved position, and the old cursor position is saved as the mark.
+
+@item character-search (C-])
+A character is read and point is moved to the next occurrence of that
+character.  A negative count searches for previous occurrences.
+
+@item character-search-backward (M-C-])
+A character is read and point is moved to the previous occurrence
+of that character.  A negative count searches for subsequent
+occurrences.
+
+@item insert-comment (M-#)
+Without a numeric argument, the value of the @code{comment-begin}
+variable is inserted at the beginning of the current line.
+If a numeric argument is supplied, this command acts as a toggle:  if
+the characters at the beginning of the line do not match the value
+of @code{comment-begin}, the value is inserted, otherwise
+the characters in @code{comment-begin} are deleted from the beginning of
+the line.
+In either case, the line is accepted as if a newline had been typed.
+@ifset BashFeatures
+The default value of @code{comment-begin} causes this command
+to make the current line a shell comment.
+If a numeric argument causes the comment character to be removed, the line
+will be executed by the shell.
+@end ifset
+
+@item dump-functions ()
+Print all of the functions and their key bindings to the
+Readline output stream.  If a numeric argument is supplied,
+the output is formatted in such a way that it can be made part
+of an @var{inputrc} file.  This command is unbound by default.
+
+@item dump-variables ()
+Print all of the settable variables and their values to the
+Readline output stream.  If a numeric argument is supplied,
+the output is formatted in such a way that it can be made part
+of an @var{inputrc} file.  This command is unbound by default.
+
+@item dump-macros ()
+Print all of the Readline key sequences bound to macros and the
+strings they output.  If a numeric argument is supplied,
+the output is formatted in such a way that it can be made part
+of an @var{inputrc} file.  This command is unbound by default.
+
+@ifset BashFeatures
+@item glob-complete-word (M-g)
+The word before point is treated as a pattern for pathname expansion,
+with an asterisk implicitly appended.  This pattern is used to
+generate a list of matching file names for possible completions.
+
+@item glob-expand-word (C-x *)
+The word before point is treated as a pattern for pathname expansion,
+and the list of matching file names is inserted, replacing the word.
+If a numeric argument is supplied, a @samp{*} is appended before
+pathname expansion.
+
+@item glob-list-expansions (C-x g)
+The list of expansions that would have been generated by
+@code{glob-expand-word} is displayed, and the line is redrawn.
+If a numeric argument is supplied, a @samp{*} is appended before
+pathname expansion.
+
+@item display-shell-version (C-x C-v)
+Display version information about the current instance of Bash.
+
+@item shell-expand-line (M-C-e)
+Expand the line as the shell does.
+This performs alias and history expansion as well as all of the shell
+word expansions (@pxref{Shell Expansions}).
+
+@item history-expand-line (M-^)
+Perform history expansion on the current line.
+
+@item magic-space ()
+Perform history expansion on the current line and insert a space
+(@pxref{History Interaction}).
+
+@item alias-expand-line ()
+Perform alias expansion on the current line (@pxref{Aliases}).
+
+@item history-and-alias-expand-line ()
+Perform history and alias expansion on the current line.
+
+@item insert-last-argument (M-. or M-_)
+A synonym for @code{yank-last-arg}.
+
+@item operate-and-get-next (C-o)
+Accept the current line for execution and fetch the next line
+relative to the current line from the history for editing.  Any
+argument is ignored.
+
+@item edit-and-execute-command (C-xC-e)
+Invoke an editor on the current command line, and execute the result as shell
+commands.
+Bash attempts to invoke
+@code{$VISUAL}, @code{$EDITOR}, and @code{emacs}
+as the editor, in that order.
+
+@end ifset
+
+@ifclear BashFeatures
+@item emacs-editing-mode (C-e)
+When in @code{vi} command mode, this causes a switch to @code{emacs}
+editing mode.
+
+@item vi-editing-mode (M-C-j)
+When in @code{emacs} editing mode, this causes a switch to @code{vi}
+editing mode.
+
+@end ifclear
+
+@end ftable
+
+@node Readline vi Mode
+@section Readline vi Mode
+
+While the Readline library does not have a full set of @code{vi}
+editing functions, it does contain enough to allow simple editing
+of the line.  The Readline @code{vi} mode behaves as specified in
+the @sc{posix} 1003.2 standard.
+
+@ifset BashFeatures
+In order to switch interactively between @code{emacs} and @code{vi}
+editing modes, use the @samp{set -o emacs} and @samp{set -o vi}
+commands (@pxref{The Set Builtin}).
+@end ifset
+@ifclear BashFeatures
+In order to switch interactively between @code{emacs} and @code{vi}
+editing modes, use the command @kbd{M-C-j} (bound to emacs-editing-mode
+when in @code{vi} mode and to vi-editing-mode in @code{emacs} mode).
+@end ifclear
+The Readline default is @code{emacs} mode.
+
+When you enter a line in @code{vi} mode, you are already placed in
+`insertion' mode, as if you had typed an @samp{i}.  Pressing @key{ESC}
+switches you into `command' mode, where you can edit the text of the
+line with the standard @code{vi} movement keys, move to previous
+history lines with @samp{k} and subsequent lines with @samp{j}, and
+so forth.
+
+@ifset BashFeatures
+@node Programmable Completion
+@section Programmable Completion
+@cindex programmable completion
+
+When word completion is attempted for an argument to a command for
+which a completion specification (a @var{compspec}) has been defined
+using the @code{complete} builtin (@pxref{Programmable Completion Builtins}),
+the programmable completion facilities are invoked. 
+
+First, the command name is identified.
+If a compspec has been defined for that command, the
+compspec is used to generate the list of possible completions for the word.
+If the command word is the empty string (completion attempted at the
+beginning of an empty line), any compspec defined with
+the @option{-E} option to @code{complete} is used.
+If the command word is a full pathname, a compspec for the full
+pathname is searched for first.
+If no compspec is found for the full pathname, an attempt is made to
+find a compspec for the portion following the final slash.
+If those searches do not result in a compspec, any compspec defined with
+the @option{-D} option to @code{complete} is used as the default.
+
+Once a compspec has been found, it is used to generate the list of
+matching words.
+If a compspec is not found, the default Bash completion
+described above (@pxref{Commands For Completion}) is performed.
+
+First, the actions specified by the compspec are used.
+Only matches which are prefixed by the word being completed are
+returned.
+When the @option{-f} or @option{-d} option is used for filename or
+directory name completion, the shell variable @env{FIGNORE} is
+used to filter the matches.
+@xref{Bash Variables}, for a description of @env{FIGNORE}.
+
+Any completions specified by a filename expansion pattern to the
+@option{-G} option are generated next.
+The words generated by the pattern need not match the word being completed.
+The @env{GLOBIGNORE} shell variable is not used to filter the matches,
+but the @env{FIGNORE} shell variable is used.
+
+Next, the string specified as the argument to the @option{-W} option
+is considered.
+The string is first split using the characters in the @env{IFS}
+special variable as delimiters.
+Shell quoting is honored.
+Each word is then expanded using
+brace expansion, tilde expansion, parameter and variable expansion,
+command substitution, and arithmetic expansion,
+as described above (@pxref{Shell Expansions}).
+The results are split using the rules described above
+(@pxref{Word Splitting}).
+The results of the expansion are prefix-matched against the word being
+completed, and the matching words become the possible completions.
+
+After these matches have been generated, any shell function or command
+specified with the @option{-F} and @option{-C} options is invoked.
+When the command or function is invoked, the @env{COMP_LINE},
+@env{COMP_POINT}, @env{COMP_KEY}, and @env{COMP_TYPE} variables are
+assigned values as described above (@pxref{Bash Variables}).
+If a shell function is being invoked, the @env{COMP_WORDS} and
+@env{COMP_CWORD} variables are also set.
+When the function or command is invoked, the first argument is the
+name of the command whose arguments are being completed, the
+second argument is the word being completed, and the third argument
+is the word preceding the word being completed on the current command line.
+No filtering of the generated completions against the word being completed
+is performed; the function or command has complete freedom in generating
+the matches.
+
+Any function specified with @option{-F} is invoked first.
+The function may use any of the shell facilities, including the
+@code{compgen} and @code{compopt} builtins described below
+(@pxref{Programmable Completion Builtins}), to generate the matches.
+It must put the possible completions in the @env{COMPREPLY} array
+variable.
+
+Next, any command specified with the @option{-C} option is invoked
+in an environment equivalent to command substitution.
+It should print a list of completions, one per line, to
+the standard output.
+Backslash may be used to escape a newline, if necessary.
+
+After all of the possible completions are generated, any filter
+specified with the @option{-X} option is applied to the list.
+The filter is a pattern as used for pathname expansion; a @samp{&}
+in the pattern is replaced with the text of the word being completed.
+A literal @samp{&} may be escaped with a backslash; the backslash
+is removed before attempting a match.
+Any completion that matches the pattern will be removed from the list.
+A leading @samp{!} negates the pattern; in this case any completion
+not matching the pattern will be removed.
+
+Finally, any prefix and suffix specified with the @option{-P} and @option{-S}
+options are added to each member of the completion list, and the result is
+returned to the Readline completion code as the list of possible
+completions.
+
+If the previously-applied actions do not generate any matches, and the
+@option{-o dirnames} option was supplied to @code{complete} when the
+compspec was defined, directory name completion is attempted. 
+
+If the @option{-o plusdirs} option was supplied to @code{complete} when
+the compspec was defined, directory name completion is attempted and any
+matches are added to the results of the other actions.
+
+By default, if a compspec is found, whatever it generates is returned to
+the completion code as the full set of possible completions.
+The default Bash completions are not attempted, and the Readline default
+of filename completion is disabled.
+If the @option{-o bashdefault} option was supplied to @code{complete} when
+the compspec was defined, the default Bash completions are attempted
+if the compspec generates no matches.
+If the @option{-o default} option was supplied to @code{complete} when the
+compspec was defined, Readline's default completion will be performed
+if the compspec (and, if attempted, the default Bash completions)
+generate no matches.
+
+When a compspec indicates that directory name completion is desired,
+the programmable completion functions force Readline to append a slash
+to completed names which are symbolic links to directories, subject to
+the value of the @var{mark-directories} Readline variable, regardless
+of the setting of the @var{mark-symlinked-directories} Readline variable.
+
+There is some support for dynamically modifying completions.  This is
+most useful when used in combination with a default completion specified
+with @option{-D}.  It's possible for shell functions executed as completion
+handlers to indicate that completion should be retried by returning an
+exit status of 124.  If a shell function returns 124, and changes
+the compspec associated with the command on which completion is being
+attempted (supplied as the first argument when the function is executed),
+programmable completion restarts from the beginning, with an
+attempt to find a compspec for that command.  This allows a set of
+completions to be built dynamically as completion is attempted, rather than
+being loaded all at once.
+
+For instance, assuming that there is a library of compspecs, each kept in a
+file corresponding to the name of the command, the following default
+completion function would load completions dynamically:
+
+_completion_loader()
+{
+       . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
+}
+complete -D -F _completion_loader
+
+@node Programmable Completion Builtins
+@section Programmable Completion Builtins
+@cindex completion builtins
+
+Two builtin commands are available to manipulate the programmable completion
+facilities.
+
+@table @code
+@item compgen
+@btindex compgen
+@example
+@code{compgen [@var{option}] [@var{word}]}
+@end example
+
+Generate possible completion matches for @var{word} according to
+the @var{option}s, which may be any option accepted by the
+@code{complete}
+builtin with the exception of @option{-p} and @option{-r}, and write
+the matches to the standard output.
+When using the @option{-F} or @option{-C} options, the various shell variables
+set by the programmable completion facilities, while available, will not
+have useful values.
+
+The matches will be generated in the same way as if the programmable
+completion code had generated them directly from a completion specification
+with the same flags.
+If @var{word} is specified, only those completions matching @var{word}
+will be displayed.
+
+The return value is true unless an invalid option is supplied, or no
+matches were generated.
+
+@item complete
+@btindex complete
+@example
+@code{complete [-abcdefgjksuv] [-o @var{comp-option}] [-DE] [-A @var{action}] [-G @var{globpat}] [-W @var{wordlist}]
+[-F @var{function}] [-C @var{command}] [-X @var{filterpat}]
+[-P @var{prefix}] [-S @var{suffix}] @var{name} [@var{name} @dots{}]}
+@code{complete -pr [-DE] [@var{name} @dots{}]}
+@end example
+
+Specify how arguments to each @var{name} should be completed.
+If the @option{-p} option is supplied, or if no options are supplied, existing
+completion specifications are printed in a way that allows them to be
+reused as input.
+The @option{-r} option removes a completion specification for
+each @var{name}, or, if no @var{name}s are supplied, all
+completion specifications.
+The @option{-D} option indicates that the remaining options and actions should
+apply to the ``default'' command completion; that is, completion attempted
+on a command for which no completion has previously been defined.
+The @option{-E} option indicates that the remaining options and actions should
+apply to ``empty'' command completion; that is, completion attempted on a 
+blank line.
+
+The process of applying these completion specifications when word completion
+is attempted is described above (@pxref{Programmable Completion}).  The
+@option{-D} option takes precedence over @option{-E}.
+
+Other options, if specified, have the following meanings.
+The arguments to the @option{-G}, @option{-W}, and @option{-X} options
+(and, if necessary, the @option{-P} and @option{-S} options)
+should be quoted to protect them from expansion before the
+@code{complete} builtin is invoked.
+
+
+@table @code
+@item -o @var{comp-option}
+The @var{comp-option} controls several aspects of the compspec's behavior
+beyond the simple generation of completions.
+@var{comp-option} may be one of: 
+
+@table @code
+
+@item bashdefault
+Perform the rest of the default Bash completions if the compspec
+generates no matches.
+
+@item default
+Use Readline's default filename completion if the compspec generates
+no matches.
+
+@item dirnames
+Perform directory name completion if the compspec generates no matches.
+
+@item filenames
+Tell Readline that the compspec generates filenames, so it can perform any
+filename-specific processing (like adding a slash to directory names
+quoting special characters, or suppressing trailing spaces).
+This option is intended to be used with shell functions specified
+with @option{-F}.
+
+@item nospace
+Tell Readline not to append a space (the default) to words completed at
+the end of the line.
+
+@item plusdirs
+After any matches defined by the compspec are generated, 
+directory name completion is attempted and any
+matches are added to the results of the other actions.
+
+@end table
+
+@item -A @var{action}
+The @var{action} may be one of the following to generate a list of possible
+completions:
+
+@table @code
+@item alias
+Alias names.  May also be specified as @option{-a}.
+
+@item arrayvar
+Array variable names.
+
+@item binding
+Readline key binding names (@pxref{Bindable Readline Commands}).
+
+@item builtin
+Names of shell builtin commands.  May also be specified as @option{-b}.
+
+@item command
+Command names.  May also be specified as @option{-c}.
+
+@item directory
+Directory names.  May also be specified as @option{-d}.
+
+@item disabled
+Names of disabled shell builtins.
+
+@item enabled
+Names of enabled shell builtins.
+
+@item export
+Names of exported shell variables.  May also be specified as @option{-e}.
+
+@item file
+File names.  May also be specified as @option{-f}.
+
+@item function
+Names of shell functions.
+
+@item group
+Group names.  May also be specified as @option{-g}.
+
+@item helptopic
+Help topics as accepted by the @code{help} builtin (@pxref{Bash Builtins}).
+
+@item hostname
+Hostnames, as taken from the file specified by the
+@env{HOSTFILE} shell variable (@pxref{Bash Variables}).
+
+@item job
+Job names, if job control is active.  May also be specified as @option{-j}.
+
+@item keyword
+Shell reserved words.  May also be specified as @option{-k}.
+
+@item running
+Names of running jobs, if job control is active.
+
+@item service
+Service names.  May also be specified as @option{-s}.
+
+@item setopt
+Valid arguments for the @option{-o} option to the @code{set} builtin
+(@pxref{The Set Builtin}).
+
+@item shopt
+Shell option names as accepted by the @code{shopt} builtin
+(@pxref{Bash Builtins}).
+
+@item signal
+Signal names.
+
+@item stopped
+Names of stopped jobs, if job control is active.
+
+@item user
+User names.  May also be specified as @option{-u}.
+
+@item variable
+Names of all shell variables.  May also be specified as @option{-v}.
+@end table
+
+@item -G @var{globpat}
+The filename expansion pattern @var{globpat} is expanded to generate
+the possible completions.
+
+@item -W @var{wordlist}
+The @var{wordlist} is split using the characters in the
+@env{IFS} special variable as delimiters, and each resultant word
+is expanded.
+The possible completions are the members of the resultant list which
+match the word being completed.
+
+@item -C @var{command}
+@var{command} is executed in a subshell environment, and its output is
+used as the possible completions.
+
+@item -F @var{function}
+The shell function @var{function} is executed in the current shell
+environment.
+When it finishes, the possible completions are retrieved from the value
+of the @env{COMPREPLY} array variable.
+
+@item -X @var{filterpat}
+@var{filterpat} is a pattern as used for filename expansion.
+It is applied to the list of possible completions generated by the
+preceding options and arguments, and each completion matching
+@var{filterpat} is removed from the list.
+A leading @samp{!} in @var{filterpat} negates the pattern; in this
+case, any completion not matching @var{filterpat} is removed.
+
+@item -P @var{prefix}
+@var{prefix} is added at the beginning of each possible completion
+after all other options have been applied.
+
+@item -S @var{suffix}
+@var{suffix} is appended to each possible completion
+after all other options have been applied.
+@end table
+
+The return value is true unless an invalid option is supplied, an option
+other than @option{-p} or @option{-r} is supplied without a @var{name}
+argument, an attempt is made to remove a completion specification for
+a @var{name} for which no specification exists, or
+an error occurs adding a completion specification.
+
+@item compopt
+@btindex compopt
+@example
+@code{compopt} [-o @var{option}] [-DE] [+o @var{option}] [@var{name}]
+@end example
+Modify completion options for each @var{name} according to the
+@var{option}s, or for the currently-execution completion if no @var{name}s
+are supplied.
+If no @var{option}s are given, display the completion options for each
+@var{name} or the current completion.
+The possible values of @var{option} are those valid for the @code{complete}
+builtin described above.
+The @option{-D} option indicates that the remaining options should
+apply to the ``default'' command completion; that is, completion attempted
+on a command for which no completion has previously been defined.
+The @option{-E} option indicates that the remaining options should
+apply to ``empty'' command completion; that is, completion attempted on a 
+blank line.
+
+The @option{-D} option takes precedence over @option{-E}.
+
+The return value is true unless an invalid option is supplied, an attempt
+is made to modify the options for a @var{name} for which no completion
+specification exists, or an output error occurs.
+
+@end table
+
+@end ifset
index 314ecf8f5914239e2328676a5ab383745cba1ae5..e7bda763697e8a2e9500600091b38a75a457a6e6 100644 (file)
@@ -124,6 +124,7 @@ static const FUNMAP default_funmap[] = {
   { "revert-line", rl_revert_line },
   { "self-insert", rl_insert },
   { "set-mark", rl_set_mark },
+  { "skip-csi-sequence", rl_skip_csi_sequence },
   { "start-kbd-macro", rl_start_kbd_macro },
   { "tab-insert", rl_tab_insert },
   { "tilde-expand", rl_tilde_expand },
diff --git a/lib/readline/funmap.c~ b/lib/readline/funmap.c~
new file mode 100644 (file)
index 0000000..314ecf8
--- /dev/null
@@ -0,0 +1,256 @@
+/* funmap.c -- attach names to functions. */
+
+/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+
+   This file is part of the GNU Readline Library (Readline), a library
+   for reading lines of text with interactive input and history editing.      
+
+   Readline 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.
+
+   Readline 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 Readline.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define READLINE_LIBRARY
+
+#if defined (HAVE_CONFIG_H)
+#  include <config.h>
+#endif
+
+#if !defined (BUFSIZ)
+#include <stdio.h>
+#endif /* BUFSIZ */
+
+#if defined (HAVE_STDLIB_H)
+#  include <stdlib.h>
+#else
+#  include "ansi_stdlib.h"
+#endif /* HAVE_STDLIB_H */
+
+#include "rlconf.h"
+#include "readline.h"
+
+#include "xmalloc.h"
+
+#ifdef __STDC__
+typedef int QSFUNC (const void *, const void *);
+#else
+typedef int QSFUNC ();
+#endif
+
+extern int _rl_qsort_string_compare PARAMS((char **, char **));
+
+FUNMAP **funmap;
+static int funmap_size;
+static int funmap_entry;
+
+/* After initializing the function map, this is the index of the first
+   program specific function. */
+int funmap_program_specific_entry_start;
+
+static const FUNMAP default_funmap[] = {
+  { "abort", rl_abort },
+  { "accept-line", rl_newline },
+  { "arrow-key-prefix", rl_arrow_keys },
+  { "backward-byte", rl_backward_byte },
+  { "backward-char", rl_backward_char },
+  { "backward-delete-char", rl_rubout },
+  { "backward-kill-line", rl_backward_kill_line },
+  { "backward-kill-word", rl_backward_kill_word },
+  { "backward-word", rl_backward_word },
+  { "beginning-of-history", rl_beginning_of_history },
+  { "beginning-of-line", rl_beg_of_line },
+  { "call-last-kbd-macro", rl_call_last_kbd_macro },
+  { "capitalize-word", rl_capitalize_word },
+  { "character-search", rl_char_search },
+  { "character-search-backward", rl_backward_char_search },
+  { "clear-screen", rl_clear_screen },
+  { "complete", rl_complete },
+  { "copy-backward-word", rl_copy_backward_word },
+  { "copy-forward-word", rl_copy_forward_word },
+  { "copy-region-as-kill", rl_copy_region_to_kill },
+  { "delete-char", rl_delete },
+  { "delete-char-or-list", rl_delete_or_show_completions },
+  { "delete-horizontal-space", rl_delete_horizontal_space },
+  { "digit-argument", rl_digit_argument },
+  { "do-lowercase-version", rl_do_lowercase_version },
+  { "downcase-word", rl_downcase_word },
+  { "dump-functions", rl_dump_functions },
+  { "dump-macros", rl_dump_macros },
+  { "dump-variables", rl_dump_variables },
+  { "emacs-editing-mode", rl_emacs_editing_mode },
+  { "end-kbd-macro", rl_end_kbd_macro },
+  { "end-of-history", rl_end_of_history },
+  { "end-of-line", rl_end_of_line },
+  { "exchange-point-and-mark", rl_exchange_point_and_mark },
+  { "forward-backward-delete-char", rl_rubout_or_delete },
+  { "forward-byte", rl_forward_byte },
+  { "forward-char", rl_forward_char },
+  { "forward-search-history", rl_forward_search_history },
+  { "forward-word", rl_forward_word },
+  { "history-search-backward", rl_history_search_backward },
+  { "history-search-forward", rl_history_search_forward },
+  { "insert-comment", rl_insert_comment },
+  { "insert-completions", rl_insert_completions },
+  { "kill-whole-line", rl_kill_full_line },
+  { "kill-line", rl_kill_line },
+  { "kill-region", rl_kill_region },
+  { "kill-word", rl_kill_word },
+  { "menu-complete", rl_menu_complete },
+  { "menu-complete-backward", rl_backward_menu_complete },
+  { "next-history", rl_get_next_history },
+  { "non-incremental-forward-search-history", rl_noninc_forward_search },
+  { "non-incremental-reverse-search-history", rl_noninc_reverse_search },
+  { "non-incremental-forward-search-history-again", rl_noninc_forward_search_again },
+  { "non-incremental-reverse-search-history-again", rl_noninc_reverse_search_again },
+  { "overwrite-mode", rl_overwrite_mode },
+#ifdef __CYGWIN__
+  { "paste-from-clipboard", rl_paste_from_clipboard },
+#endif
+  { "possible-completions", rl_possible_completions },
+  { "previous-history", rl_get_previous_history },
+  { "quoted-insert", rl_quoted_insert },
+  { "re-read-init-file", rl_re_read_init_file },
+  { "redraw-current-line", rl_refresh_line},
+  { "reverse-search-history", rl_reverse_search_history },
+  { "revert-line", rl_revert_line },
+  { "self-insert", rl_insert },
+  { "set-mark", rl_set_mark },
+  { "start-kbd-macro", rl_start_kbd_macro },
+  { "tab-insert", rl_tab_insert },
+  { "tilde-expand", rl_tilde_expand },
+  { "transpose-chars", rl_transpose_chars },
+  { "transpose-words", rl_transpose_words },
+  { "tty-status", rl_tty_status },
+  { "undo", rl_undo_command },
+  { "universal-argument", rl_universal_argument },
+  { "unix-filename-rubout", rl_unix_filename_rubout },
+  { "unix-line-discard", rl_unix_line_discard },
+  { "unix-word-rubout", rl_unix_word_rubout },
+  { "upcase-word", rl_upcase_word },
+  { "yank", rl_yank },
+  { "yank-last-arg", rl_yank_last_arg },
+  { "yank-nth-arg", rl_yank_nth_arg },
+  { "yank-pop", rl_yank_pop },
+
+#if defined (VI_MODE)
+  { "vi-append-eol", rl_vi_append_eol },
+  { "vi-append-mode", rl_vi_append_mode },
+  { "vi-arg-digit", rl_vi_arg_digit },
+  { "vi-back-to-indent", rl_vi_back_to_indent },
+  { "vi-bWord", rl_vi_bWord },
+  { "vi-bword", rl_vi_bword },
+  { "vi-change-case", rl_vi_change_case },
+  { "vi-change-char", rl_vi_change_char },
+  { "vi-change-to", rl_vi_change_to },
+  { "vi-char-search", rl_vi_char_search },
+  { "vi-column", rl_vi_column },
+  { "vi-complete", rl_vi_complete },
+  { "vi-delete", rl_vi_delete },
+  { "vi-delete-to", rl_vi_delete_to },
+  { "vi-eWord", rl_vi_eWord },
+  { "vi-editing-mode", rl_vi_editing_mode },
+  { "vi-end-word", rl_vi_end_word },
+  { "vi-eof-maybe", rl_vi_eof_maybe },
+  { "vi-eword", rl_vi_eword },
+  { "vi-fWord", rl_vi_fWord },
+  { "vi-fetch-history", rl_vi_fetch_history },
+  { "vi-first-print", rl_vi_first_print },
+  { "vi-fword", rl_vi_fword },
+  { "vi-goto-mark", rl_vi_goto_mark },
+  { "vi-insert-beg", rl_vi_insert_beg },
+  { "vi-insertion-mode", rl_vi_insertion_mode },
+  { "vi-match", rl_vi_match },
+  { "vi-movement-mode", rl_vi_movement_mode },
+  { "vi-next-word", rl_vi_next_word },
+  { "vi-overstrike", rl_vi_overstrike },
+  { "vi-overstrike-delete", rl_vi_overstrike_delete },
+  { "vi-prev-word", rl_vi_prev_word },
+  { "vi-put", rl_vi_put },
+  { "vi-redo", rl_vi_redo },
+  { "vi-replace", rl_vi_replace },
+  { "vi-rubout", rl_vi_rubout },
+  { "vi-search", rl_vi_search },
+  { "vi-search-again", rl_vi_search_again },
+  { "vi-set-mark", rl_vi_set_mark },
+  { "vi-subst", rl_vi_subst },
+  { "vi-tilde-expand", rl_vi_tilde_expand },
+  { "vi-yank-arg", rl_vi_yank_arg },
+  { "vi-yank-to", rl_vi_yank_to },
+#endif /* VI_MODE */
+
+ {(char *)NULL, (rl_command_func_t *)NULL }
+};
+
+int
+rl_add_funmap_entry (name, function)
+     const char *name;
+     rl_command_func_t *function;
+{
+  if (funmap_entry + 2 >= funmap_size)
+    {
+      funmap_size += 64;
+      funmap = (FUNMAP **)xrealloc (funmap, funmap_size * sizeof (FUNMAP *));
+    }
+  
+  funmap[funmap_entry] = (FUNMAP *)xmalloc (sizeof (FUNMAP));
+  funmap[funmap_entry]->name = name;
+  funmap[funmap_entry]->function = function;
+
+  funmap[++funmap_entry] = (FUNMAP *)NULL;
+  return funmap_entry;
+}
+
+static int funmap_initialized;
+
+/* Make the funmap contain all of the default entries. */
+void
+rl_initialize_funmap ()
+{
+  register int i;
+
+  if (funmap_initialized)
+    return;
+
+  for (i = 0; default_funmap[i].name; i++)
+    rl_add_funmap_entry (default_funmap[i].name, default_funmap[i].function);
+
+  funmap_initialized = 1;
+  funmap_program_specific_entry_start = i;
+}
+
+/* Produce a NULL terminated array of known function names.  The array
+   is sorted.  The array itself is allocated, but not the strings inside.
+   You should free () the array when you done, but not the pointrs. */
+const char **
+rl_funmap_names ()
+{
+  const char **result;
+  int result_size, result_index;
+
+  /* Make sure that the function map has been initialized. */
+  rl_initialize_funmap ();
+
+  for (result_index = result_size = 0, result = (const char **)NULL; funmap[result_index]; result_index++)
+    {
+      if (result_index + 2 > result_size)
+       {
+         result_size += 20;
+         result = (const char **)xrealloc (result, result_size * sizeof (char *));
+       }
+
+      result[result_index] = funmap[result_index]->name;
+      result[result_index + 1] = (char *)NULL;
+    }
+
+  qsort (result, result_index, sizeof (char *), (QSFUNC *)_rl_qsort_string_compare);
+  return (result);
+}
index 94c258992b8fde7351f750ea30b904b171091208..1774f5cd359181f2a0b1c6dfdf0cd9515949e7b6 100644 (file)
@@ -95,6 +95,7 @@ extern int rl_forward_word PARAMS((int, int));
 extern int rl_backward_word PARAMS((int, int));
 extern int rl_refresh_line PARAMS((int, int));
 extern int rl_clear_screen PARAMS((int, int));
+extern int rl_skip_csi_sequence PARAMS((int, int));
 extern int rl_arrow_keys PARAMS((int, int));
 
 /* Bindable commands for inserting and deleting text. */
diff --git a/lib/readline/readline.h~ b/lib/readline/readline.h~
new file mode 100644 (file)
index 0000000..94c2589
--- /dev/null
@@ -0,0 +1,872 @@
+/* Readline.h -- the names of functions callable from within readline. */
+
+/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+
+   This file is part of the GNU Readline Library (Readline), a library
+   for reading lines of text with interactive input and history editing.      
+
+   Readline 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.
+
+   Readline 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 Readline.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#if !defined (_READLINE_H_)
+#define _READLINE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined (READLINE_LIBRARY)
+#  include "rlstdc.h"
+#  include "rltypedefs.h"
+#  include "keymaps.h"
+#  include "tilde.h"
+#else
+#  include <readline/rlstdc.h>
+#  include <readline/rltypedefs.h>
+#  include <readline/keymaps.h>
+#  include <readline/tilde.h>
+#endif
+
+/* Hex-encoded Readline version number. */
+#define RL_READLINE_VERSION    0x0600          /* Readline 6.0 */
+#define RL_VERSION_MAJOR       6
+#define RL_VERSION_MINOR       0
+
+/* Readline data structures. */
+
+/* Maintaining the state of undo.  We remember individual deletes and inserts
+   on a chain of things to do. */
+
+/* The actions that undo knows how to undo.  Notice that UNDO_DELETE means
+   to insert some text, and UNDO_INSERT means to delete some text.   I.e.,
+   the code tells undo what to undo, not how to undo it. */
+enum undo_code { UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END };
+
+/* What an element of THE_UNDO_LIST looks like. */
+typedef struct undo_list {
+  struct undo_list *next;
+  int start, end;              /* Where the change took place. */
+  char *text;                  /* The text to insert, if undoing a delete. */
+  enum undo_code what;         /* Delete, Insert, Begin, End. */
+} UNDO_LIST;
+
+/* The current undo list for RL_LINE_BUFFER. */
+extern UNDO_LIST *rl_undo_list;
+
+/* The data structure for mapping textual names to code addresses. */
+typedef struct _funmap {
+  const char *name;
+  rl_command_func_t *function;
+} FUNMAP;
+
+extern FUNMAP **funmap;
+
+/* **************************************************************** */
+/*                                                                 */
+/*          Functions available to bind to key sequences           */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Bindable commands for numeric arguments. */
+extern int rl_digit_argument PARAMS((int, int));
+extern int rl_universal_argument PARAMS((int, int));
+
+/* Bindable commands for moving the cursor. */
+extern int rl_forward_byte PARAMS((int, int));
+extern int rl_forward_char PARAMS((int, int));
+extern int rl_forward PARAMS((int, int));
+extern int rl_backward_byte PARAMS((int, int));
+extern int rl_backward_char PARAMS((int, int));
+extern int rl_backward PARAMS((int, int));
+extern int rl_beg_of_line PARAMS((int, int));
+extern int rl_end_of_line PARAMS((int, int));
+extern int rl_forward_word PARAMS((int, int));
+extern int rl_backward_word PARAMS((int, int));
+extern int rl_refresh_line PARAMS((int, int));
+extern int rl_clear_screen PARAMS((int, int));
+extern int rl_arrow_keys PARAMS((int, int));
+
+/* Bindable commands for inserting and deleting text. */
+extern int rl_insert PARAMS((int, int));
+extern int rl_quoted_insert PARAMS((int, int));
+extern int rl_tab_insert PARAMS((int, int));
+extern int rl_newline PARAMS((int, int));
+extern int rl_do_lowercase_version PARAMS((int, int));
+extern int rl_rubout PARAMS((int, int));
+extern int rl_delete PARAMS((int, int));
+extern int rl_rubout_or_delete PARAMS((int, int));
+extern int rl_delete_horizontal_space PARAMS((int, int));
+extern int rl_delete_or_show_completions PARAMS((int, int));
+extern int rl_insert_comment PARAMS((int, int));
+
+/* Bindable commands for changing case. */
+extern int rl_upcase_word PARAMS((int, int));
+extern int rl_downcase_word PARAMS((int, int));
+extern int rl_capitalize_word PARAMS((int, int));
+
+/* Bindable commands for transposing characters and words. */
+extern int rl_transpose_words PARAMS((int, int));
+extern int rl_transpose_chars PARAMS((int, int));
+
+/* Bindable commands for searching within a line. */
+extern int rl_char_search PARAMS((int, int));
+extern int rl_backward_char_search PARAMS((int, int));
+
+/* Bindable commands for readline's interface to the command history. */
+extern int rl_beginning_of_history PARAMS((int, int));
+extern int rl_end_of_history PARAMS((int, int));
+extern int rl_get_next_history PARAMS((int, int));
+extern int rl_get_previous_history PARAMS((int, int));
+
+/* Bindable commands for managing the mark and region. */
+extern int rl_set_mark PARAMS((int, int));
+extern int rl_exchange_point_and_mark PARAMS((int, int));
+
+/* Bindable commands to set the editing mode (emacs or vi). */
+extern int rl_vi_editing_mode PARAMS((int, int));
+extern int rl_emacs_editing_mode PARAMS((int, int));
+
+/* Bindable commands to change the insert mode (insert or overwrite) */
+extern int rl_overwrite_mode PARAMS((int, int));
+
+/* Bindable commands for managing key bindings. */
+extern int rl_re_read_init_file PARAMS((int, int));
+extern int rl_dump_functions PARAMS((int, int));
+extern int rl_dump_macros PARAMS((int, int));
+extern int rl_dump_variables PARAMS((int, int));
+
+/* Bindable commands for word completion. */
+extern int rl_complete PARAMS((int, int));
+extern int rl_possible_completions PARAMS((int, int));
+extern int rl_insert_completions PARAMS((int, int));
+extern int rl_menu_complete PARAMS((int, int));
+extern int rl_backward_menu_complete PARAMS((int, int));
+
+/* Bindable commands for killing and yanking text, and managing the kill ring. */
+extern int rl_kill_word PARAMS((int, int));
+extern int rl_backward_kill_word PARAMS((int, int));
+extern int rl_kill_line PARAMS((int, int));
+extern int rl_backward_kill_line PARAMS((int, int));
+extern int rl_kill_full_line PARAMS((int, int));
+extern int rl_unix_word_rubout PARAMS((int, int));
+extern int rl_unix_filename_rubout PARAMS((int, int));
+extern int rl_unix_line_discard PARAMS((int, int));
+extern int rl_copy_region_to_kill PARAMS((int, int));
+extern int rl_kill_region PARAMS((int, int));
+extern int rl_copy_forward_word PARAMS((int, int));
+extern int rl_copy_backward_word PARAMS((int, int));
+extern int rl_yank PARAMS((int, int));
+extern int rl_yank_pop PARAMS((int, int));
+extern int rl_yank_nth_arg PARAMS((int, int));
+extern int rl_yank_last_arg PARAMS((int, int));
+/* Not available unless __CYGWIN__ is defined. */
+#ifdef __CYGWIN__
+extern int rl_paste_from_clipboard PARAMS((int, int));
+#endif
+
+/* Bindable commands for incremental searching. */
+extern int rl_reverse_search_history PARAMS((int, int));
+extern int rl_forward_search_history PARAMS((int, int));
+
+/* Bindable keyboard macro commands. */
+extern int rl_start_kbd_macro PARAMS((int, int));
+extern int rl_end_kbd_macro PARAMS((int, int));
+extern int rl_call_last_kbd_macro PARAMS((int, int));
+
+/* Bindable undo commands. */
+extern int rl_revert_line PARAMS((int, int));
+extern int rl_undo_command PARAMS((int, int));
+
+/* Bindable tilde expansion commands. */
+extern int rl_tilde_expand PARAMS((int, int));
+
+/* Bindable terminal control commands. */
+extern int rl_restart_output PARAMS((int, int));
+extern int rl_stop_output PARAMS((int, int));
+
+/* Miscellaneous bindable commands. */
+extern int rl_abort PARAMS((int, int));
+extern int rl_tty_status PARAMS((int, int));
+
+/* Bindable commands for incremental and non-incremental history searching. */
+extern int rl_history_search_forward PARAMS((int, int));
+extern int rl_history_search_backward PARAMS((int, int));
+extern int rl_noninc_forward_search PARAMS((int, int));
+extern int rl_noninc_reverse_search PARAMS((int, int));
+extern int rl_noninc_forward_search_again PARAMS((int, int));
+extern int rl_noninc_reverse_search_again PARAMS((int, int));
+
+/* Bindable command used when inserting a matching close character. */
+extern int rl_insert_close PARAMS((int, int));
+
+/* Not available unless READLINE_CALLBACKS is defined. */
+extern void rl_callback_handler_install PARAMS((const char *, rl_vcpfunc_t *));
+extern void rl_callback_read_char PARAMS((void));
+extern void rl_callback_handler_remove PARAMS((void));
+
+/* Things for vi mode. Not available unless readline is compiled -DVI_MODE. */
+/* VI-mode bindable commands. */
+extern int rl_vi_redo PARAMS((int, int));
+extern int rl_vi_undo PARAMS((int, int));
+extern int rl_vi_yank_arg PARAMS((int, int));
+extern int rl_vi_fetch_history PARAMS((int, int));
+extern int rl_vi_search_again PARAMS((int, int));
+extern int rl_vi_search PARAMS((int, int));
+extern int rl_vi_complete PARAMS((int, int));
+extern int rl_vi_tilde_expand PARAMS((int, int));
+extern int rl_vi_prev_word PARAMS((int, int));
+extern int rl_vi_next_word PARAMS((int, int));
+extern int rl_vi_end_word PARAMS((int, int));
+extern int rl_vi_insert_beg PARAMS((int, int));
+extern int rl_vi_append_mode PARAMS((int, int));
+extern int rl_vi_append_eol PARAMS((int, int));
+extern int rl_vi_eof_maybe PARAMS((int, int));
+extern int rl_vi_insertion_mode PARAMS((int, int));
+extern int rl_vi_insert_mode PARAMS((int, int));
+extern int rl_vi_movement_mode PARAMS((int, int));
+extern int rl_vi_arg_digit PARAMS((int, int));
+extern int rl_vi_change_case PARAMS((int, int));
+extern int rl_vi_put PARAMS((int, int));
+extern int rl_vi_column PARAMS((int, int));
+extern int rl_vi_delete_to PARAMS((int, int));
+extern int rl_vi_change_to PARAMS((int, int));
+extern int rl_vi_yank_to PARAMS((int, int));
+extern int rl_vi_rubout PARAMS((int, int));
+extern int rl_vi_delete PARAMS((int, int));
+extern int rl_vi_back_to_indent PARAMS((int, int));
+extern int rl_vi_first_print PARAMS((int, int));
+extern int rl_vi_char_search PARAMS((int, int));
+extern int rl_vi_match PARAMS((int, int));
+extern int rl_vi_change_char PARAMS((int, int));
+extern int rl_vi_subst PARAMS((int, int));
+extern int rl_vi_overstrike PARAMS((int, int));
+extern int rl_vi_overstrike_delete PARAMS((int, int));
+extern int rl_vi_replace PARAMS((int, int));
+extern int rl_vi_set_mark PARAMS((int, int));
+extern int rl_vi_goto_mark PARAMS((int, int));
+
+/* VI-mode utility functions. */
+extern int rl_vi_check PARAMS((void));
+extern int rl_vi_domove PARAMS((int, int *));
+extern int rl_vi_bracktype PARAMS((int));
+
+extern void rl_vi_start_inserting PARAMS((int, int, int));
+
+/* VI-mode pseudo-bindable commands, used as utility functions. */
+extern int rl_vi_fWord PARAMS((int, int));
+extern int rl_vi_bWord PARAMS((int, int));
+extern int rl_vi_eWord PARAMS((int, int));
+extern int rl_vi_fword PARAMS((int, int));
+extern int rl_vi_bword PARAMS((int, int));
+extern int rl_vi_eword PARAMS((int, int));
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Well Published Functions                    */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Readline functions. */
+/* Read a line of input.  Prompt with PROMPT.  A NULL PROMPT means none. */
+extern char *readline PARAMS((const char *));
+
+extern int rl_set_prompt PARAMS((const char *));
+extern int rl_expand_prompt PARAMS((char *));
+
+extern int rl_initialize PARAMS((void));
+
+/* Undocumented; unused by readline */
+extern int rl_discard_argument PARAMS((void));
+
+/* Utility functions to bind keys to readline commands. */
+extern int rl_add_defun PARAMS((const char *, rl_command_func_t *, int));
+extern int rl_bind_key PARAMS((int, rl_command_func_t *));
+extern int rl_bind_key_in_map PARAMS((int, rl_command_func_t *, Keymap));
+extern int rl_unbind_key PARAMS((int));
+extern int rl_unbind_key_in_map PARAMS((int, Keymap));
+extern int rl_bind_key_if_unbound PARAMS((int, rl_command_func_t *));
+extern int rl_bind_key_if_unbound_in_map PARAMS((int, rl_command_func_t *, Keymap));
+extern int rl_unbind_function_in_map PARAMS((rl_command_func_t *, Keymap));
+extern int rl_unbind_command_in_map PARAMS((const char *, Keymap));
+extern int rl_bind_keyseq PARAMS((const char *, rl_command_func_t *));
+extern int rl_bind_keyseq_in_map PARAMS((const char *, rl_command_func_t *, Keymap));
+extern int rl_bind_keyseq_if_unbound PARAMS((const char *, rl_command_func_t *));
+extern int rl_bind_keyseq_if_unbound_in_map PARAMS((const char *, rl_command_func_t *, Keymap));
+extern int rl_generic_bind PARAMS((int, const char *, char *, Keymap));
+
+extern char *rl_variable_value PARAMS((const char *));
+extern int rl_variable_bind PARAMS((const char *, const char *));
+
+/* Backwards compatibility, use rl_bind_keyseq_in_map instead. */
+extern int rl_set_key PARAMS((const char *, rl_command_func_t *, Keymap));
+
+/* Backwards compatibility, use rl_generic_bind instead. */
+extern int rl_macro_bind PARAMS((const char *, const char *, Keymap));
+
+/* Undocumented in the texinfo manual; not really useful to programs. */
+extern int rl_translate_keyseq PARAMS((const char *, char *, int *));
+extern char *rl_untranslate_keyseq PARAMS((int));
+
+extern rl_command_func_t *rl_named_function PARAMS((const char *));
+extern rl_command_func_t *rl_function_of_keyseq PARAMS((const char *, Keymap, int *));
+
+extern void rl_list_funmap_names PARAMS((void));
+extern char **rl_invoking_keyseqs_in_map PARAMS((rl_command_func_t *, Keymap));
+extern char **rl_invoking_keyseqs PARAMS((rl_command_func_t *));
+extern void rl_function_dumper PARAMS((int));
+extern void rl_macro_dumper PARAMS((int));
+extern void rl_variable_dumper PARAMS((int));
+
+extern int rl_read_init_file PARAMS((const char *));
+extern int rl_parse_and_bind PARAMS((char *));
+
+/* Functions for manipulating keymaps. */
+extern Keymap rl_make_bare_keymap PARAMS((void));
+extern Keymap rl_copy_keymap PARAMS((Keymap));
+extern Keymap rl_make_keymap PARAMS((void));
+extern void rl_discard_keymap PARAMS((Keymap));
+
+extern Keymap rl_get_keymap_by_name PARAMS((const char *));
+extern char *rl_get_keymap_name PARAMS((Keymap));
+extern void rl_set_keymap PARAMS((Keymap));
+extern Keymap rl_get_keymap PARAMS((void));
+/* Undocumented; used internally only. */
+extern void rl_set_keymap_from_edit_mode PARAMS((void));
+extern char *rl_get_keymap_name_from_edit_mode PARAMS((void));
+
+/* Functions for manipulating the funmap, which maps command names to functions. */
+extern int rl_add_funmap_entry PARAMS((const char *, rl_command_func_t *));
+extern const char **rl_funmap_names PARAMS((void));
+/* Undocumented, only used internally -- there is only one funmap, and this
+   function may be called only once. */
+extern void rl_initialize_funmap PARAMS((void));
+
+/* Utility functions for managing keyboard macros. */
+extern void rl_push_macro_input PARAMS((char *));
+
+/* Functions for undoing, from undo.c */
+extern void rl_add_undo PARAMS((enum undo_code, int, int, char *));
+extern void rl_free_undo_list PARAMS((void));
+extern int rl_do_undo PARAMS((void));
+extern int rl_begin_undo_group PARAMS((void));
+extern int rl_end_undo_group PARAMS((void));
+extern int rl_modifying PARAMS((int, int));
+
+/* Functions for redisplay. */
+extern void rl_redisplay PARAMS((void));
+extern int rl_on_new_line PARAMS((void));
+extern int rl_on_new_line_with_prompt PARAMS((void));
+extern int rl_forced_update_display PARAMS((void));
+extern int rl_clear_message PARAMS((void));
+extern int rl_reset_line_state PARAMS((void));
+extern int rl_crlf PARAMS((void));
+
+#if defined (USE_VARARGS) && defined (PREFER_STDARG)
+extern int rl_message (const char *, ...)  __attribute__((__format__ (printf, 1, 2)));
+#else
+extern int rl_message ();
+#endif
+
+extern int rl_show_char PARAMS((int));
+
+/* Undocumented in texinfo manual. */
+extern int rl_character_len PARAMS((int, int));
+
+/* Save and restore internal prompt redisplay information. */
+extern void rl_save_prompt PARAMS((void));
+extern void rl_restore_prompt PARAMS((void));
+
+/* Modifying text. */
+extern void rl_replace_line PARAMS((const char *, int));
+extern int rl_insert_text PARAMS((const char *));
+extern int rl_delete_text PARAMS((int, int));
+extern int rl_kill_text PARAMS((int, int));
+extern char *rl_copy_text PARAMS((int, int));
+
+/* Terminal and tty mode management. */
+extern void rl_prep_terminal PARAMS((int));
+extern void rl_deprep_terminal PARAMS((void));
+extern void rl_tty_set_default_bindings PARAMS((Keymap));
+extern void rl_tty_unset_default_bindings PARAMS((Keymap));
+
+extern int rl_reset_terminal PARAMS((const char *));
+extern void rl_resize_terminal PARAMS((void));
+extern void rl_set_screen_size PARAMS((int, int));
+extern void rl_get_screen_size PARAMS((int *, int *));
+extern void rl_reset_screen_size PARAMS((void));
+
+extern char *rl_get_termcap PARAMS((const char *));
+
+/* Functions for character input. */
+extern int rl_stuff_char PARAMS((int));
+extern int rl_execute_next PARAMS((int));
+extern int rl_clear_pending_input PARAMS((void));
+extern int rl_read_key PARAMS((void));
+extern int rl_getc PARAMS((FILE *));
+extern int rl_set_keyboard_input_timeout PARAMS((int));
+
+/* `Public' utility functions . */
+extern void rl_extend_line_buffer PARAMS((int));
+extern int rl_ding PARAMS((void));
+extern int rl_alphabetic PARAMS((int));
+extern void rl_free PARAMS((void *));
+
+/* Readline signal handling, from signals.c */
+extern int rl_set_signals PARAMS((void));
+extern int rl_clear_signals PARAMS((void));
+extern void rl_cleanup_after_signal PARAMS((void));
+extern void rl_reset_after_signal PARAMS((void));
+extern void rl_free_line_state PARAMS((void));
+
+extern void rl_echo_signal_char PARAMS((int)); 
+
+extern int rl_set_paren_blink_timeout PARAMS((int));
+
+/* Undocumented. */
+extern int rl_maybe_save_line PARAMS((void));
+extern int rl_maybe_unsave_line PARAMS((void));
+extern int rl_maybe_replace_line PARAMS((void));
+
+/* Completion functions. */
+extern int rl_complete_internal PARAMS((int));
+extern void rl_display_match_list PARAMS((char **, int, int));
+
+extern char **rl_completion_matches PARAMS((const char *, rl_compentry_func_t *));
+extern char *rl_username_completion_function PARAMS((const char *, int));
+extern char *rl_filename_completion_function PARAMS((const char *, int));
+
+extern int rl_completion_mode PARAMS((rl_command_func_t *));
+
+#if 0
+/* Backwards compatibility (compat.c).  These will go away sometime. */
+extern void free_undo_list PARAMS((void));
+extern int maybe_save_line PARAMS((void));
+extern int maybe_unsave_line PARAMS((void));
+extern int maybe_replace_line PARAMS((void));
+
+extern int ding PARAMS((void));
+extern int alphabetic PARAMS((int));
+extern int crlf PARAMS((void));
+
+extern char **completion_matches PARAMS((char *, rl_compentry_func_t *));
+extern char *username_completion_function PARAMS((const char *, int));
+extern char *filename_completion_function PARAMS((const char *, int));
+#endif
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Well Published Variables                    */
+/*                                                                 */
+/* **************************************************************** */
+
+/* The version of this incarnation of the readline library. */
+extern const char *rl_library_version;         /* e.g., "4.2" */
+extern int rl_readline_version;                        /* e.g., 0x0402 */
+
+/* True if this is real GNU readline. */
+extern int rl_gnu_readline_p;
+
+/* Flags word encapsulating the current readline state. */
+extern int rl_readline_state;
+
+/* Says which editing mode readline is currently using.  1 means emacs mode;
+   0 means vi mode. */
+extern int rl_editing_mode;
+
+/* Insert or overwrite mode for emacs mode.  1 means insert mode; 0 means
+   overwrite mode.  Reset to insert mode on each input line. */
+extern int rl_insert_mode;
+
+/* The name of the calling program.  You should initialize this to
+   whatever was in argv[0].  It is used when parsing conditionals. */
+extern const char *rl_readline_name;
+
+/* The prompt readline uses.  This is set from the argument to
+   readline (), and should not be assigned to directly. */
+extern char *rl_prompt;
+
+/* The prompt string that is actually displayed by rl_redisplay.  Public so
+   applications can more easily supply their own redisplay functions. */
+extern char *rl_display_prompt;
+
+/* The line buffer that is in use. */
+extern char *rl_line_buffer;
+
+/* The location of point, and end. */
+extern int rl_point;
+extern int rl_end;
+
+/* The mark, or saved cursor position. */
+extern int rl_mark;
+
+/* Flag to indicate that readline has finished with the current input
+   line and should return it. */
+extern int rl_done;
+
+/* If set to a character value, that will be the next keystroke read. */
+extern int rl_pending_input;
+
+/* Non-zero if we called this function from _rl_dispatch().  It's present
+   so functions can find out whether they were called from a key binding
+   or directly from an application. */
+extern int rl_dispatching;
+
+/* Non-zero if the user typed a numeric argument before executing the
+   current function. */
+extern int rl_explicit_arg;
+
+/* The current value of the numeric argument specified by the user. */
+extern int rl_numeric_arg;
+
+/* The address of the last command function Readline executed. */
+extern rl_command_func_t *rl_last_func;
+
+/* The name of the terminal to use. */
+extern const char *rl_terminal_name;
+
+/* The input and output streams. */
+extern FILE *rl_instream;
+extern FILE *rl_outstream;
+
+/* If non-zero, Readline gives values of LINES and COLUMNS from the environment
+   greater precedence than values fetched from the kernel when computing the
+   screen dimensions. */
+extern int rl_prefer_env_winsize;
+
+/* If non-zero, then this is the address of a function to call just
+   before readline_internal () prints the first prompt. */
+extern rl_hook_func_t *rl_startup_hook;
+
+/* If non-zero, this is the address of a function to call just before
+   readline_internal_setup () returns and readline_internal starts
+   reading input characters. */
+extern rl_hook_func_t *rl_pre_input_hook;
+      
+/* The address of a function to call periodically while Readline is
+   awaiting character input, or NULL, for no event handling. */
+extern rl_hook_func_t *rl_event_hook;
+
+/* The address of the function to call to fetch a character from the current
+   Readline input stream */
+extern rl_getc_func_t *rl_getc_function;
+
+extern rl_voidfunc_t *rl_redisplay_function;
+
+extern rl_vintfunc_t *rl_prep_term_function;
+extern rl_voidfunc_t *rl_deprep_term_function;
+
+/* Dispatch variables. */
+extern Keymap rl_executing_keymap;
+extern Keymap rl_binding_keymap;
+
+/* Display variables. */
+/* If non-zero, readline will erase the entire line, including any prompt,
+   if the only thing typed on an otherwise-blank line is something bound to
+   rl_newline. */
+extern int rl_erase_empty_line;
+
+/* If non-zero, the application has already printed the prompt (rl_prompt)
+   before calling readline, so readline should not output it the first time
+   redisplay is done. */
+extern int rl_already_prompted;
+
+/* A non-zero value means to read only this many characters rather than
+   up to a character bound to accept-line. */
+extern int rl_num_chars_to_read;
+
+/* The text of a currently-executing keyboard macro. */
+extern char *rl_executing_macro;
+
+/* Variables to control readline signal handling. */
+/* If non-zero, readline will install its own signal handlers for
+   SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP, SIGTTIN, and SIGTTOU. */
+extern int rl_catch_signals;
+
+/* If non-zero, readline will install a signal handler for SIGWINCH
+   that also attempts to call any calling application's SIGWINCH signal
+   handler.  Note that the terminal is not cleaned up before the
+   application's signal handler is called; use rl_cleanup_after_signal()
+   to do that. */
+extern int rl_catch_sigwinch;
+
+/* Completion variables. */
+/* Pointer to the generator function for completion_matches ().
+   NULL means to use rl_filename_completion_function (), the default
+   filename completer. */
+extern rl_compentry_func_t *rl_completion_entry_function;
+
+/* Optional generator for menu completion.  Default is
+   rl_completion_entry_function (rl_filename_completion_function). */
+ extern rl_compentry_func_t *rl_menu_completion_entry_function;
+
+/* If rl_ignore_some_completions_function is non-NULL it is the address
+   of a function to call after all of the possible matches have been
+   generated, but before the actual completion is done to the input line.
+   The function is called with one argument; a NULL terminated array
+   of (char *).  If your function removes any of the elements, they
+   must be free()'ed. */
+extern rl_compignore_func_t *rl_ignore_some_completions_function;
+
+/* Pointer to alternative function to create matches.
+   Function is called with TEXT, START, and END.
+   START and END are indices in RL_LINE_BUFFER saying what the boundaries
+   of TEXT are.
+   If this function exists and returns NULL then call the value of
+   rl_completion_entry_function to try to match, otherwise use the
+   array of strings returned. */
+extern rl_completion_func_t *rl_attempted_completion_function;
+
+/* The basic list of characters that signal a break between words for the
+   completer routine.  The initial contents of this variable is what
+   breaks words in the shell, i.e. "n\"\\'`@$>". */
+extern const char *rl_basic_word_break_characters;
+
+/* The list of characters that signal a break between words for
+   rl_complete_internal.  The default list is the contents of
+   rl_basic_word_break_characters.  */
+extern /*const*/ char *rl_completer_word_break_characters;
+
+/* Hook function to allow an application to set the completion word
+   break characters before readline breaks up the line.  Allows
+   position-dependent word break characters. */
+extern rl_cpvfunc_t *rl_completion_word_break_hook;
+
+/* List of characters which can be used to quote a substring of the line.
+   Completion occurs on the entire substring, and within the substring   
+   rl_completer_word_break_characters are treated as any other character,
+   unless they also appear within this list. */
+extern const char *rl_completer_quote_characters;
+
+/* List of quote characters which cause a word break. */
+extern const char *rl_basic_quote_characters;
+
+/* List of characters that need to be quoted in filenames by the completer. */
+extern const char *rl_filename_quote_characters;
+
+/* List of characters that are word break characters, but should be left
+   in TEXT when it is passed to the completion function.  The shell uses
+   this to help determine what kind of completing to do. */
+extern const char *rl_special_prefixes;
+
+/* If non-zero, then this is the address of a function to call when
+   completing on a directory name.  The function is called with
+   the address of a string (the current directory name) as an arg.  It
+   changes what is displayed when the possible completions are printed
+   or inserted. */
+extern rl_icppfunc_t *rl_directory_completion_hook;
+
+/* If non-zero, this is the address of a function to call when completing
+   a directory name.  This function takes the address of the directory name
+   to be modified as an argument.  Unlike rl_directory_completion_hook, it
+   only modifies the directory name used in opendir(2), not what is displayed
+   when the possible completions are printed or inserted.  It is called
+   before rl_directory_completion_hook.  I'm not happy with how this works
+   yet, so it's undocumented. */
+extern rl_icppfunc_t *rl_directory_rewrite_hook;
+
+/* Backwards compatibility with previous versions of readline. */
+#define rl_symbolic_link_hook rl_directory_completion_hook
+
+/* If non-zero, then this is the address of a function to call when
+   completing a word would normally display the list of possible matches.
+   This function is called instead of actually doing the display.
+   It takes three arguments: (char **matches, int num_matches, int max_length)
+   where MATCHES is the array of strings that matched, NUM_MATCHES is the
+   number of strings in that array, and MAX_LENGTH is the length of the
+   longest string in that array. */
+extern rl_compdisp_func_t *rl_completion_display_matches_hook;
+
+/* Non-zero means that the results of the matches are to be treated
+   as filenames.  This is ALWAYS zero on entry, and can only be changed
+   within a completion entry finder function. */
+extern int rl_filename_completion_desired;
+
+/* Non-zero means that the results of the matches are to be quoted using
+   double quotes (or an application-specific quoting mechanism) if the
+   filename contains any characters in rl_word_break_chars.  This is
+   ALWAYS non-zero on entry, and can only be changed within a completion
+   entry finder function. */
+extern int rl_filename_quoting_desired;
+
+/* Set to a function to quote a filename in an application-specific fashion.
+   Called with the text to quote, the type of match found (single or multiple)
+   and a pointer to the quoting character to be used, which the function can
+   reset if desired. */
+extern rl_quote_func_t *rl_filename_quoting_function;
+
+/* Function to call to remove quoting characters from a filename.  Called
+   before completion is attempted, so the embedded quotes do not interfere
+   with matching names in the file system. */
+extern rl_dequote_func_t *rl_filename_dequoting_function;
+
+/* Function to call to decide whether or not a word break character is
+   quoted.  If a character is quoted, it does not break words for the
+   completer. */
+extern rl_linebuf_func_t *rl_char_is_quoted_p;
+
+/* Non-zero means to suppress normal filename completion after the
+   user-specified completion function has been called. */
+extern int rl_attempted_completion_over;
+
+/* Set to a character describing the type of completion being attempted by
+   rl_complete_internal; available for use by application completion
+   functions. */
+extern int rl_completion_type;
+
+/* Set to the last key used to invoke one of the completion functions */
+extern int rl_completion_invoking_key;
+
+/* Up to this many items will be displayed in response to a
+   possible-completions call.  After that, we ask the user if she
+   is sure she wants to see them all.  The default value is 100. */
+extern int rl_completion_query_items;
+
+/* Character appended to completed words when at the end of the line.  The
+   default is a space.  Nothing is added if this is '\0'. */
+extern int rl_completion_append_character;
+
+/* If set to non-zero by an application completion function,
+   rl_completion_append_character will not be appended. */
+extern int rl_completion_suppress_append;
+
+/* Set to any quote character readline thinks it finds before any application
+   completion function is called. */
+extern int rl_completion_quote_character;
+
+/* Set to a non-zero value if readline found quoting anywhere in the word to
+   be completed; set before any application completion function is called. */
+extern int rl_completion_found_quote;
+
+/* If non-zero, the completion functions don't append any closing quote.
+   This is set to 0 by rl_complete_internal and may be changed by an
+   application-specific completion function. */
+extern int rl_completion_suppress_quote;
+
+/* If non-zero, readline will sort the completion matches.  On by default. */
+extern int rl_sort_completion_matches;
+
+/* If non-zero, a slash will be appended to completed filenames that are
+   symbolic links to directory names, subject to the value of the
+   mark-directories variable (which is user-settable).  This exists so
+   that application completion functions can override the user's preference
+   (set via the mark-symlinked-directories variable) if appropriate.
+   It's set to the value of _rl_complete_mark_symlink_dirs in
+   rl_complete_internal before any application-specific completion
+   function is called, so without that function doing anything, the user's
+   preferences are honored. */
+extern int rl_completion_mark_symlink_dirs;
+
+/* If non-zero, then disallow duplicates in the matches. */
+extern int rl_ignore_completion_duplicates;
+
+/* If this is non-zero, completion is (temporarily) inhibited, and the
+   completion character will be inserted as any other. */
+extern int rl_inhibit_completion;
+
+/* Input error; can be returned by (*rl_getc_function) if readline is reading
+   a top-level command (RL_ISSTATE (RL_STATE_READCMD)). */
+#define READERR                        (-2)
+
+/* Definitions available for use by readline clients. */
+#define RL_PROMPT_START_IGNORE '\001'
+#define RL_PROMPT_END_IGNORE   '\002'
+
+/* Possible values for do_replace argument to rl_filename_quoting_function,
+   called by rl_complete_internal. */
+#define NO_MATCH        0
+#define SINGLE_MATCH    1
+#define MULT_MATCH      2
+
+/* Possible state values for rl_readline_state */
+#define RL_STATE_NONE          0x000000                /* no state; before first call */
+
+#define RL_STATE_INITIALIZING  0x000001        /* initializing */
+#define RL_STATE_INITIALIZED   0x000002        /* initialization done */
+#define RL_STATE_TERMPREPPED   0x000004        /* terminal is prepped */
+#define RL_STATE_READCMD       0x000008        /* reading a command key */
+#define RL_STATE_METANEXT      0x000010        /* reading input after ESC */
+#define RL_STATE_DISPATCHING   0x000020        /* dispatching to a command */
+#define RL_STATE_MOREINPUT     0x000040        /* reading more input in a command function */
+#define RL_STATE_ISEARCH       0x000080        /* doing incremental search */
+#define RL_STATE_NSEARCH       0x000100        /* doing non-inc search */
+#define RL_STATE_SEARCH                0x000200        /* doing a history search */
+#define RL_STATE_NUMERICARG    0x000400        /* reading numeric argument */
+#define RL_STATE_MACROINPUT    0x000800        /* getting input from a macro */
+#define RL_STATE_MACRODEF      0x001000        /* defining keyboard macro */
+#define RL_STATE_OVERWRITE     0x002000        /* overwrite mode */
+#define RL_STATE_COMPLETING    0x004000        /* doing completion */
+#define RL_STATE_SIGHANDLER    0x008000        /* in readline sighandler */
+#define RL_STATE_UNDOING       0x010000        /* doing an undo */
+#define RL_STATE_INPUTPENDING  0x020000        /* rl_execute_next called */
+#define RL_STATE_TTYCSAVED     0x040000        /* tty special chars saved */
+#define RL_STATE_CALLBACK      0x080000        /* using the callback interface */
+#define RL_STATE_VIMOTION      0x100000        /* reading vi motion arg */
+#define RL_STATE_MULTIKEY      0x200000        /* reading multiple-key command */
+#define RL_STATE_VICMDONCE     0x400000        /* entered vi command mode at least once */
+#define RL_STATE_REDISPLAYING  0x800000        /* updating terminal display */
+
+#define RL_STATE_DONE          0x1000000       /* done; accepted line */
+
+#define RL_SETSTATE(x)         (rl_readline_state |= (x))
+#define RL_UNSETSTATE(x)       (rl_readline_state &= ~(x))
+#define RL_ISSTATE(x)          (rl_readline_state & (x))
+
+struct readline_state {
+  /* line state */
+  int point;
+  int end;
+  int mark;
+  char *buffer;
+  int buflen;
+  UNDO_LIST *ul;
+  char *prompt;
+
+  /* global state */
+  int rlstate;
+  int done;
+  Keymap kmap;
+
+  /* input state */
+  rl_command_func_t *lastfunc;
+  int insmode;
+  int edmode;
+  int kseqlen;
+  FILE *inf;
+  FILE *outf;
+  int pendingin;
+  char *macro;
+
+  /* signal state */
+  int catchsigs;
+  int catchsigwinch;
+
+  /* search state */
+
+  /* completion state */
+
+  /* options state */
+
+  /* reserved for future expansion, so the struct size doesn't change */
+  char reserved[64];
+};
+
+extern int rl_save_state PARAMS((struct readline_state *));
+extern int rl_restore_state PARAMS((struct readline_state *));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _READLINE_H_ */
index a8264a3f46080cb87d15e47e5cc90bfa103de99f..07d2acf2cb5621cf3ff48fe3e0c3def06992974e 100644 (file)
@@ -574,6 +574,21 @@ rl_clear_screen (count, key)
   return 0;
 }
 
+int
+rl_skip_csi_sequence (count, key)
+     int count, key;
+{
+  int ch;
+
+  RL_SETSTATE (RL_STATE_MOREINPUT);
+  do
+    ch = rl_read_key ();
+  while (ch >= 0x20 && ch < 0x40);
+  RL_UNSETSTATE (RL_STATE_MOREINPUT);
+
+  return 0;
+}
+
 int
 rl_arrow_keys (count, c)
      int count, c;
index 636095a5296e307233c5978e27c00be1e30f9c79..a8c0a53886b6cdf0effd50c0c436e12bebace5db 100644 (file)
@@ -574,6 +574,21 @@ rl_clear_screen (count, key)
   return 0;
 }
 
+int
+rl_skip_csi_sequence (count, key)
+     int count, key;
+{
+  int ch;
+
+  RL_SETSTATE (RL_STATE_MOREINPUT);
+  do
+    ch = rl_read_key ();
+  while (ch >= 0x20 && ch < 0x40)
+  RL_UNSETSTATE (RL_STATE_MOREINPUT);
+
+  return 0;
+}
+
 int
 rl_arrow_keys (count, c)
      int count, c;
@@ -1250,7 +1265,8 @@ rl_change_case (count, op)
 #if defined (HANDLE_MULTIBYTE)
   wchar_t wc, nwc;
   char mb[MB_LEN_MAX+1];
-  int mlen, m;
+  int mlen;
+  size_t m;
   mbstate_t mps;
 #endif
 
index ece200d3d18a04b8c646689a3cb626236171257a..851ab8fffbf7b8f29a9bcea1ea4a9050943bdaed 100644 (file)
--- a/pathexp.c
+++ b/pathexp.c
@@ -52,7 +52,7 @@ typedef int posix_glob_errfunc_t __P((const char *, int));
 int glob_dot_filenames;
 
 /* Control whether the extended globbing features are enabled. */
-int extended_glob = 0;
+int extended_glob = EXTGLOB_DEFAULT;
 
 /* Control enabling special handling of `**' */
 int glob_star = 0;
diff --git a/pathexp.c~ b/pathexp.c~
new file mode 100644 (file)
index 0000000..ece200d
--- /dev/null
@@ -0,0 +1,486 @@
+/* pathexp.c -- The shell interface to the globbing library. */
+
+/* Copyright (C) 1995-2009 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"
+
+#include "bashtypes.h"
+#include <stdio.h>
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include "bashansi.h"
+
+#include "shell.h"
+#include "pathexp.h"
+#include "flags.h"
+
+#include "shmbutil.h"
+#include "bashintl.h"
+
+#include <glob/strmatch.h>
+
+static int glob_name_is_acceptable __P((const char *));
+static void ignore_globbed_names __P((char **, sh_ignore_func_t *));
+               
+#if defined (USE_POSIX_GLOB_LIBRARY)
+#  include <glob.h>
+typedef int posix_glob_errfunc_t __P((const char *, int));
+#else
+#  include <glob/glob.h>
+#endif
+
+/* Control whether * matches .files in globbing. */
+int glob_dot_filenames;
+
+/* Control whether the extended globbing features are enabled. */
+int extended_glob = 0;
+
+/* Control enabling special handling of `**' */
+int glob_star = 0;
+
+/* Return nonzero if STRING has any unquoted special globbing chars in it.  */
+int
+unquoted_glob_pattern_p (string)
+     register char *string;
+{
+  register int c;
+  char *send;
+  int open;
+
+  DECLARE_MBSTATE;
+
+  open = 0;
+  send = string + strlen (string);
+
+  while (c = *string++)
+    {
+      switch (c)
+       {
+       case '?':
+       case '*':
+         return (1);
+
+       case '[':
+         open++;
+         continue;
+
+       case ']':
+         if (open)
+           return (1);
+         continue;
+
+       case '+':
+       case '@':
+       case '!':
+         if (*string == '(')   /*)*/
+           return (1);
+         continue;
+
+       case CTLESC:
+       case '\\':
+         if (*string++ == '\0')
+           return (0);
+       }
+
+      /* Advance one fewer byte than an entire multibyte character to
+        account for the auto-increment in the loop above. */
+#ifdef HANDLE_MULTIBYTE
+      string--;
+      ADVANCE_CHAR_P (string, send - string);
+      string++;
+#else
+      ADVANCE_CHAR_P (string, send - string);
+#endif
+    }
+  return (0);
+}
+
+/* Return 1 if C is a character that is `special' in a POSIX ERE and needs to
+   be quoted to match itself. */
+static inline int
+ere_char (c)
+     int c;
+{
+  switch (c)
+    {
+    case '.':
+    case '[':
+    case '\\':
+    case '(':
+    case ')':
+    case '*':
+    case '+':
+    case '?':
+    case '{':
+    case '|':
+    case '^':
+    case '$':
+      return 1;
+    default: 
+      return 0;
+    }
+  return (0);
+}
+
+int
+glob_char_p (s)
+     const char *s;
+{
+  switch (*s)
+    {
+    case '*':
+    case '[':
+    case ']':
+    case '?':
+    case '\\':
+      return 1;
+    case '+':
+    case '@':
+    case '!':
+      if (s[1] == '(')        /*(*/
+       return 1;
+      break;
+    }
+  return 0;
+}
+
+/* PATHNAME can contain characters prefixed by CTLESC; this indicates
+   that the character is to be quoted.  We quote it here in the style
+   that the glob library recognizes.  If flags includes QGLOB_CVTNULL,
+   we change quoted null strings (pathname[0] == CTLNUL) into empty
+   strings (pathname[0] == 0).  If this is called after quote removal
+   is performed, (flags & QGLOB_CVTNULL) should be 0; if called when quote
+   removal has not been done (for example, before attempting to match a
+   pattern while executing a case statement), flags should include
+   QGLOB_CVTNULL.  If flags includes QGLOB_FILENAME, appropriate quoting
+   to match a filename should be performed. */
+char *
+quote_string_for_globbing (pathname, qflags)
+     const char *pathname;
+     int qflags;
+{
+  char *temp;
+  register int i, j;
+
+  temp = (char *)xmalloc (strlen (pathname) + 1);
+
+  if ((qflags & QGLOB_CVTNULL) && QUOTED_NULL (pathname))
+    {
+      temp[0] = '\0';
+      return temp;
+    }
+
+  for (i = j = 0; pathname[i]; i++)
+    {
+      if (pathname[i] == CTLESC)
+       {
+         if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/')
+           continue;
+         if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0)
+           continue;
+         temp[j++] = '\\';
+         i++;
+         if (pathname[i] == '\0')
+           break;
+       }
+      else if (pathname[i] == '\\')
+       {
+         temp[j++] = '\\';
+         i++;
+         if (pathname[i] == '\0')
+           break;
+       }
+      temp[j++] = pathname[i];
+    }
+  temp[j] = '\0';
+
+  return (temp);
+}
+
+char *
+quote_globbing_chars (string)
+     char *string;
+{
+  size_t slen;
+  char *temp, *s, *t, *send;
+  DECLARE_MBSTATE;
+
+  slen = strlen (string);
+  send = string + slen;
+
+  temp = (char *)xmalloc (slen * 2 + 1);
+  for (t = temp, s = string; *s; )
+    {
+      if (glob_char_p (s))
+       *t++ = '\\';
+
+      /* Copy a single (possibly multibyte) character from s to t,
+         incrementing both. */
+      COPY_CHAR_P (t, s, send);
+    }
+  *t = '\0';
+  return temp;
+}
+
+/* Call the glob library to do globbing on PATHNAME. */
+char **
+shell_glob_filename (pathname)
+     const char *pathname;
+{
+#if defined (USE_POSIX_GLOB_LIBRARY)
+  register int i;
+  char *temp, **results;
+  glob_t filenames;
+  int glob_flags;
+
+  temp = quote_string_for_globbing (pathname, QGLOB_FILENAME);
+
+  filenames.gl_offs = 0;
+
+#  if defined (GLOB_PERIOD)
+  glob_flags = glob_dot_filenames ? GLOB_PERIOD : 0;
+#  else
+  glob_flags = 0;
+#  endif /* !GLOB_PERIOD */
+
+  glob_flags |= (GLOB_ERR | GLOB_DOOFFS);
+
+  i = glob (temp, glob_flags, (posix_glob_errfunc_t *)NULL, &filenames);
+
+  free (temp);
+
+  if (i == GLOB_NOSPACE || i == GLOB_ABORTED)
+    return ((char **)NULL);
+  else if (i == GLOB_NOMATCH)
+    filenames.gl_pathv = (char **)NULL;
+  else if (i != 0)             /* other error codes not in POSIX.2 */
+    filenames.gl_pathv = (char **)NULL;
+
+  results = filenames.gl_pathv;
+
+  if (results && ((GLOB_FAILED (results)) == 0))
+    {
+      if (should_ignore_glob_matches ())
+       ignore_glob_matches (results);
+      if (results && results[0])
+       strvec_sort (results);
+      else
+       {
+         FREE (results);
+         results = (char **)NULL;
+       }
+    }
+
+  return (results);
+
+#else /* !USE_POSIX_GLOB_LIBRARY */
+
+  char *temp, **results;
+
+  noglob_dot_filenames = glob_dot_filenames == 0;
+
+  temp = quote_string_for_globbing (pathname, QGLOB_FILENAME);
+  results = glob_filename (temp, glob_star ? GX_GLOBSTAR : 0);
+  free (temp);
+
+  if (results && ((GLOB_FAILED (results)) == 0))
+    {
+      if (should_ignore_glob_matches ())
+       ignore_glob_matches (results);
+      if (results && results[0])
+       strvec_sort (results);
+      else
+       {
+         FREE (results);
+         results = (char **)&glob_error_return;
+       }
+    }
+
+  return (results);
+#endif /* !USE_POSIX_GLOB_LIBRARY */
+}
+
+/* Stuff for GLOBIGNORE. */
+
+static struct ignorevar globignore =
+{
+  "GLOBIGNORE",
+  (struct ign *)0,
+  0,
+  (char *)0,
+  (sh_iv_item_func_t *)0,
+};
+
+/* Set up to ignore some glob matches because the value of GLOBIGNORE
+   has changed.  If GLOBIGNORE is being unset, we also need to disable
+   the globbing of filenames beginning with a `.'. */
+void
+setup_glob_ignore (name)
+     char *name;
+{
+  char *v;
+
+  v = get_string_value (name);
+  setup_ignore_patterns (&globignore);
+
+  if (globignore.num_ignores)
+    glob_dot_filenames = 1;
+  else if (v == 0)
+    glob_dot_filenames = 0;
+}
+
+int
+should_ignore_glob_matches ()
+{
+  return globignore.num_ignores;
+}
+
+/* Return 0 if NAME matches a pattern in the globignore.ignores list. */
+static int
+glob_name_is_acceptable (name)
+     const char *name;
+{
+  struct ign *p;
+  int flags;
+
+  /* . and .. are never matched */
+  if (name[0] == '.' && (name[1] == '\0' || (name[1] == '.' && name[2] == '\0')))
+    return (0);
+
+  flags = FNM_PATHNAME | FNMATCH_EXTFLAG;
+  for (p = globignore.ignores; p->val; p++)
+    {
+      if (strmatch (p->val, (char *)name, flags) != FNM_NOMATCH)
+       return (0);
+    }
+  return (1);
+}
+
+/* Internal function to test whether filenames in NAMES should be
+   ignored.  NAME_FUNC is a pointer to a function to call with each
+   name.  It returns non-zero if the name is acceptable to the particular
+   ignore function which called _ignore_names; zero if the name should
+   be removed from NAMES. */
+
+static void
+ignore_globbed_names (names, name_func)
+     char **names;
+     sh_ignore_func_t *name_func;
+{
+  char **newnames;
+  int n, i;
+
+  for (i = 0; names[i]; i++)
+    ;
+  newnames = strvec_create (i + 1);
+
+  for (n = i = 0; names[i]; i++)
+    {
+      if ((*name_func) (names[i]))
+       newnames[n++] = names[i];
+      else
+       free (names[i]);
+    }
+
+  newnames[n] = (char *)NULL;
+
+  if (n == 0)
+    {
+      names[0] = (char *)NULL;
+      free (newnames);
+      return;
+    }
+
+  /* Copy the acceptable names from NEWNAMES back to NAMES and set the
+     new array end. */
+  for (n = 0; newnames[n]; n++)
+    names[n] = newnames[n];
+  names[n] = (char *)NULL;
+  free (newnames);
+}
+
+void
+ignore_glob_matches (names)
+     char **names;
+{
+  if (globignore.num_ignores == 0)
+    return;
+
+  ignore_globbed_names (names, glob_name_is_acceptable);
+}
+
+void
+setup_ignore_patterns (ivp)
+     struct ignorevar *ivp;
+{
+  int numitems, maxitems, ptr;
+  char *colon_bit, *this_ignoreval;
+  struct ign *p;
+
+  this_ignoreval = get_string_value (ivp->varname);
+
+  /* If nothing has changed then just exit now. */
+  if ((this_ignoreval && ivp->last_ignoreval && STREQ (this_ignoreval, ivp->last_ignoreval)) ||
+      (!this_ignoreval && !ivp->last_ignoreval))
+    return;
+
+  /* Oops.  The ignore variable has changed.  Re-parse it. */
+  ivp->num_ignores = 0;
+
+  if (ivp->ignores)
+    {
+      for (p = ivp->ignores; p->val; p++)
+       free(p->val);
+      free (ivp->ignores);
+      ivp->ignores = (struct ign *)NULL;
+    }
+
+  if (ivp->last_ignoreval)
+    {
+      free (ivp->last_ignoreval);
+      ivp->last_ignoreval = (char *)NULL;
+    }
+
+  if (this_ignoreval == 0 || *this_ignoreval == '\0')
+    return;
+
+  ivp->last_ignoreval = savestring (this_ignoreval);
+
+  numitems = maxitems = ptr = 0;
+
+  while (colon_bit = extract_colon_unit (this_ignoreval, &ptr))
+    {
+      if (numitems + 1 >= maxitems)
+       {
+         maxitems += 10;
+         ivp->ignores = (struct ign *)xrealloc (ivp->ignores, maxitems * sizeof (struct ign));
+       }
+      ivp->ignores[numitems].val = colon_bit;
+      ivp->ignores[numitems].len = strlen (colon_bit);
+      ivp->ignores[numitems].flags = 0;
+      if (ivp->item_func)
+       (*ivp->item_func) (&ivp->ignores[numitems]);
+      numitems++;
+    }
+  ivp->ignores[numitems].val = (char *)NULL;
+  ivp->num_ignores = numitems;
+}
index dff22818bfdf7f34b5f723587f8c569dae0c2008..67228661af16bf8bb58687a78d2e2f7a47e5dd21 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -1,13 +1,13 @@
 # German language file for GNU Bash 4.0
 # Copyright (C) 1996 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
-# Nils Naumann <nnau@gmx.net>, 1996, 2008.
+# Nils Naumann <nnau@gmx.net>, 1996, 2009.
 msgid ""
 msgstr ""
 "Project-Id-Version: bash 4.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-02-19 14:53-0500\n"
-"PO-Revision-Date: 2009-07-21 21:11+0200\n"
+"PO-Revision-Date: 2009-08-12 22:04+0200\n"
 "Last-Translator: Nils Naumann <nnau@gmx.net>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -104,6 +104,7 @@ msgstr "Schleifen Z
 msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr "nur in einer `for', `while' oder `until' Schleife sinnvoll."
 
+# Problem mit Extraktion des Strings
 #: builtins/caller.def:133
 msgid ""
 "Returns the context of the current subroutine call.\n"
@@ -266,13 +267,13 @@ msgstr "%s: Mehrdeutige Job Bezeichnung."
 #: builtins/complete.def:270
 #, c-format
 msgid "%s: invalid action name"
-msgstr ""
+msgstr "%s: Ungültige Methode."
 
 #: builtins/complete.def:430 builtins/complete.def:615
 #: builtins/complete.def:813
 #, c-format
 msgid "%s: no completion specification"
-msgstr ""
+msgstr "%s: Keine Komplettierung angegeben."
 
 #: builtins/complete.def:667
 msgid "warning: -F option may not work as you expect"
@@ -284,7 +285,7 @@ msgstr "Warnung: Die -C Option k
 
 #: builtins/complete.def:786
 msgid "not currently executing completion function"
-msgstr ""
+msgstr "Gegenwärtig wird keine Komplettierungsfunktion ausgeführt."
 
 #: builtins/declare.def:122
 msgid "can only be used in a function"
@@ -311,22 +312,22 @@ msgstr "%s: Konvertieren von assoziativen in indizierte Arrays ist nicht m
 
 #: builtins/enable.def:137 builtins/enable.def:145
 msgid "dynamic loading not available"
-msgstr ""
+msgstr "Dynamisches Laden ist nicht verfügbar."
 
 #: builtins/enable.def:312
 #, c-format
 msgid "cannot open shared object %s: %s"
-msgstr ""
+msgstr "Kann die dynamische Bibiliothek nicht laden %s: %s"
 
 #: builtins/enable.def:335
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
-msgstr ""
+msgstr "Kann %s nicht in der dynamischen Bibiliothek finden %s: %s"
 
 #: builtins/enable.def:459
 #, c-format
 msgid "%s: not dynamically loaded"
-msgstr ""
+msgstr "%s: Ist nicht dynamisch geladen."
 
 #: builtins/enable.def:474
 #, c-format
@@ -412,12 +413,12 @@ msgstr "%s: Diese Option erfordert ein Argument -- %c\n"
 
 #: builtins/hash.def:92
 msgid "hashing disabled"
-msgstr ""
+msgstr "Hashing deaktiviert."
 
 #: builtins/hash.def:138
 #, c-format
 msgid "%s: hash table empty\n"
-msgstr ""
+msgstr "%s: Die Hashtabelle ist leer.\n"
 
 #: builtins/hash.def:244
 #, c-format
@@ -1112,16 +1113,16 @@ msgstr "initialize_job_control: setpgid"
 #: jobs.c:3661
 #, c-format
 msgid "cannot set terminal process group (%d)"
-msgstr ""
+msgstr "Kann die Prozessgruppe des Terminals nicht setzen (%d)."
 
 #: jobs.c:3666
 msgid "no job control in this shell"
 msgstr "Keine Job Steuerung in dieser Shell."
 
 #: lib/malloc/malloc.c:296
-#, fuzzy, c-format
+#, c-format
 msgid "malloc: failed assertion: %s\n"
-msgstr "malloc:  Fehler bei Speicherzuweisung: %s\n"
+msgstr "malloc: Speicherzusicherung gescheitert: %s.\n"
 
 #: lib/malloc/malloc.c:312
 #, c-format
@@ -1129,6 +1130,8 @@ msgid ""
 "\r\n"
 "malloc: %s:%d: assertion botched\r\n"
 msgstr ""
+"\\r\n"
+"malloc: %s:%d: Speicherzusicherung verpfuscht\\r\n"
 
 #: lib/malloc/malloc.c:313
 msgid "unknown"
@@ -1136,73 +1139,73 @@ msgstr "Unbekannt"
 
 #: lib/malloc/malloc.c:797
 msgid "malloc: block on free list clobbered"
-msgstr ""
+msgstr "Malloc:  Ein frei gekennzeichneter Speicherbereich wurde Ã¼berschrieben."
 
 #: lib/malloc/malloc.c:874
 msgid "free: called with already freed block argument"
-msgstr ""
+msgstr "free:  Wurde für bereits freigegebenen Speicherbereich aufgerufen."
 
 #: lib/malloc/malloc.c:877
 msgid "free: called with unallocated block argument"
-msgstr ""
+msgstr "free: Wurde für nicht zugeordneten Speicherbereich aufgerufen."
 
 #: lib/malloc/malloc.c:896
 msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "free: Underflow erkannt; mh_nbytes außerhalb des Gültigkeitsbereichs."
 
 #: lib/malloc/malloc.c:902
 msgid "free: start and end chunk sizes differ"
-msgstr ""
+msgstr "free: Beginn und Ende Segmentgrößen sind unterschiedlich."
 
 #: lib/malloc/malloc.c:1001
 msgid "realloc: called with unallocated block argument"
-msgstr ""
+msgstr "realloc: Mit nicht zugewiesenen Argument aufgerufen."
 
 #: lib/malloc/malloc.c:1016
 msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "realloc: Underflow erkannt; mh_nbytes außerhalb des Gültigkeitsbereichs."
 
 #: lib/malloc/malloc.c:1022
 msgid "realloc: start and end chunk sizes differ"
-msgstr ""
+msgstr "realloc: Beginn und Ende Segmentgrößen sind unterschiedlich.<"
 
 #: lib/malloc/table.c:177
 #, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr ""
+msgstr "register_alloc: Speicherzuordnungstabelle ist mit FIND_ALLOC gefüllt?\n"
 
 #: lib/malloc/table.c:184
 #, c-format
 msgid "register_alloc: %p already in table as allocated?\n"
-msgstr ""
+msgstr "register_alloc: %p ist bereits in der Speicherzuordnungstabelle als belegt gekennzeichnet?\n"
 
 #: lib/malloc/table.c:220
 #, c-format
 msgid "register_free: %p already in table as free?\n"
-msgstr ""
+msgstr "register_free: %p ist bereits in der Speicherzuordnungstabelle als frei gekennzeichnet?\n"
 
 #: lib/sh/fmtulong.c:101
 msgid "invalid base"
-msgstr ""
+msgstr "Ungültige Basis"
 
 #: lib/sh/netopen.c:168
 #, c-format
 msgid "%s: host unknown"
-msgstr ""
+msgstr "%s: Unbekannter Host."
 
 #: lib/sh/netopen.c:175
 #, c-format
 msgid "%s: invalid service"
-msgstr ""
+msgstr "%s: unbekannter Dienst."
 
 #: lib/sh/netopen.c:306
 #, c-format
 msgid "%s: bad network path specification"
-msgstr ""
+msgstr "%s: Fehlerhafte Netzwerkspfadangabe."
 
 #: lib/sh/netopen.c:346
 msgid "network operations not supported"
-msgstr ""
+msgstr "Der Netzwerkbetrieb ist nicht unterstützt."
 
 # Du oder Sie?
 #: mailcheck.c:433
@@ -1268,7 +1271,7 @@ msgstr "Syntaxfehler im bedingen Ausdruck."
 #: parse.y:3809
 #, c-format
 msgid "unexpected token `%s', expected `)'"
-msgstr ""
+msgstr "Unerwartetes Zeichen: `%s' anstatt von `)'"
 
 #: parse.y:3813
 msgid "expected `)'"
@@ -1390,7 +1393,7 @@ msgstr ""
 
 #: redir.c:517
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr ""
+msgstr "/dev/(tcp|udp)/host/port Wird ohne Netzwerk nicht unterstützt"
 
 #: redir.c:1023
 msgid "redirection error: cannot duplicate fd"
@@ -1474,7 +1477,7 @@ msgstr "Aufgelegt"
 
 #: siglist.c:54
 msgid "Interrupt"
-msgstr "Unterbrochen"
+msgstr "Unterbrochen (Interrupt)"
 
 #: siglist.c:58
 msgid "Quit"
@@ -1484,11 +1487,9 @@ msgstr "Quit"
 msgid "Illegal instruction"
 msgstr "Ungültige Anweisung."
 
-# Was heisst das?
 #: siglist.c:66
-#, fuzzy
 msgid "BPT trace/trap"
-msgstr "BPT trace/trap"
+msgstr "Verfolgen/anhalten abfangen (Trace/breakpoint trap)"
 
 #: siglist.c:74
 msgid "ABORT instruction"
@@ -1496,7 +1497,7 @@ msgstr "Abbruchkommando"
 
 #: siglist.c:78
 msgid "EMT instruction"
-msgstr "EMT-Kommando"
+msgstr "EMT abfangen (EMT trap)"
 
 #: siglist.c:82
 msgid "Floating point exception"
@@ -1504,7 +1505,7 @@ msgstr "Gleitkommafehler"
 
 #: siglist.c:86
 msgid "Killed"
-msgstr "Gekillt"
+msgstr "Abgebrochen (Killed)"
 
 #: siglist.c:90
 msgid "Bus error"
@@ -1512,7 +1513,7 @@ msgstr "Bus-Fehler"
 
 #: siglist.c:94
 msgid "Segmentation fault"
-msgstr "Speicherzugriffsfehler"
+msgstr "Adressierungsfehler"
 
 #: siglist.c:98
 msgid "Bad system call"
@@ -1528,7 +1529,7 @@ msgstr "Wecker"
 
 #: siglist.c:110
 msgid "Terminated"
-msgstr "Beendet"
+msgstr "Abgebrochen (Terminated)"
 
 #: siglist.c:114
 msgid "Urgent IO condition"
@@ -1584,11 +1585,11 @@ msgstr "Datei blockiert."
 
 #: siglist.c:174
 msgid "User signal 1"
-msgstr "Nutzer-Signal 1"
+msgstr "Nutzersignal 1"
 
 #: siglist.c:178
 msgid "User signal 2"
-msgstr "Nutzer-Signal 2"
+msgstr "Nutzersignal 2"
 
 #: siglist.c:182
 msgid "HFT input data pending"
@@ -1651,7 +1652,7 @@ msgstr "Kann keine Pipe f
 
 #: subst.c:4504
 msgid "cannot make child for process substitution"
-msgstr ""
+msgstr "Kann den Kindsprozess für die Prozeßersetzung nicht erzeugen."
 
 #: subst.c:4549
 #, c-format
@@ -2094,7 +2095,7 @@ msgstr "select Name [in Wortliste ... ;] do Kommandos; done"
 
 #: builtins.c:188
 msgid "time [-p] pipeline"
-msgstr ""
+msgstr "time [-p] Pipeline"
 
 #: builtins.c:190
 msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
@@ -2116,7 +2117,7 @@ msgstr "until Kommandos; do Kommandos; done"
 
 #: builtins.c:198
 msgid "coproc [NAME] command [redirections]"
-msgstr ""
+msgstr "coproc [Name] Kommando [Umleitungen]"
 
 #: builtins.c:200
 msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
@@ -2164,7 +2165,7 @@ msgstr "printf [-v var] Format [Argumente]"
 
 #: builtins.c:229
 msgid "complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
-msgstr "complete [-abcdefgjksuv] [-pr] [-o Option] [-A Aktion] [-G Suchmuster] [-W Wortliste]  [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S Suffix] [Name ...]"
+msgstr "complete [-abcdefgjksuv] [-pr] [-o Option] [-A Methode] [-G Suchmuster] [-W Wortliste]  [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S Suffix] [Name ...]"
 
 #: builtins.c:233
 msgid "compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
@@ -2499,7 +2500,7 @@ msgid ""
 "    Returns success unless an invalid option is supplied, an error occurs,\n"
 "    or the shell is not executing a function."
 msgstr ""
-"Definiert lokale Vatiablen.\n"
+"Definiert lokale Variablen.\n"
 "    \n"
 "    Erzeugt eine Lokale Variable NAME und weist ihr den Wert VALUE zu.  OPTION\n"
 "    kann eine beliebige von `declare' akzeptierte Option sein.\n"
index 285d8fffc8c39d5626ec950529c49a90d6032029..ecb0055b47590dff13942c65468fed486e832b9c 100644 (file)
@@ -108,6 +108,11 @@ char *the_printed_command = (char *)NULL;
 int the_printed_command_size = 0;
 int command_string_index = 0;
 
+int xtrace_fd = -1;
+FILE *xtrace_fp = 0;
+
+#define CHECK_XTRACE_FP        xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
+
 /* Non-zero means the stuff being printed is inside of a function def. */
 static int inside_function_def;
 static int skip_this_indent;
@@ -348,6 +353,45 @@ print_word_list (list, separator)
   _print_word_list (list, separator, xprintf);
 }
 
+void
+xtrace_set (fd, fp)
+     int fd;
+     FILE *fp;
+{
+  if (fd >= 0 && sh_validfd (fd) == 0)
+    {
+      internal_error ("xtrace_set: %d: invalid file descriptor", fd);
+      return;
+    }
+  if (fp == 0)
+    {
+      internal_error ("xtrace_set: NULL file pointer");
+      return;
+    }
+  if (fd >= 0 && fileno (fp) != fd)
+    internal_warning ("xtrace fd (%d) != fileno xtrace fp (%d)", fd, fileno (fp));
+  
+  xtrace_fd = fd;
+  xtrace_fp = fp;
+}
+
+void
+xtrace_init ()
+{
+  xtrace_set (-1, stderr);
+}
+
+void
+xtrace_reset ()
+{
+  if (xtrace_fd >= 0)
+    close (xtrace_fd);
+  xtrace_fd = -1;
+  if (xtrace_fp)
+    fclose (xtrace_fp);
+  xtrace_fp = stderr;
+}
+
 /* Return a string denoting what our indirection level is. */
 
 char *
@@ -409,8 +453,10 @@ xtrace_print_assignment (name, value, assign_list, xflags)
 {
   char *nval;
 
+  CHECK_XTRACE_FP;
+
   if (xflags)
-    fprintf (stderr, "%s", indirection_level_string ());
+    fprintf (xtrace_fp, "%s", indirection_level_string ());
 
   /* VALUE should not be NULL when this is called. */
   if (*value == '\0' || assign_list)
@@ -423,14 +469,14 @@ xtrace_print_assignment (name, value, assign_list, xflags)
     nval = value;
 
   if (assign_list)
-    fprintf (stderr, "%s=(%s)\n", name, nval);
+    fprintf (xtrace_fp, "%s=(%s)\n", name, nval);
   else
-    fprintf (stderr, "%s=%s\n", name, nval);
+    fprintf (xtrace_fp, "%s=%s\n", name, nval);
 
   if (nval != value)
     FREE (nval);
 
-  fflush (stderr);
+  fflush (xtrace_fp);
 }
 
 /* A function to print the words of a simple command when set -x is on. */
@@ -442,30 +488,33 @@ xtrace_print_word_list (list, xtflags)
   WORD_LIST *w;
   char *t, *x;
 
+  CHECK_XTRACE_FP;
+
   if (xtflags)
-    fprintf (stderr, "%s", indirection_level_string ());
+    fprintf (xtrace_fp, "%s", indirection_level_string ());
 
   for (w = list; w; w = w->next)
     {
       t = w->word->word;
       if (t == 0 || *t == '\0')
-       fprintf (stderr, "''%s", w->next ? " " : "");
+       fprintf (xtrace_fp, "''%s", w->next ? " " : "");
       else if (sh_contains_shell_metas (t))
        {
          x = sh_single_quote (t);
-         fprintf (stderr, "%s%s", x, w->next ? " " : "");
+         fprintf (xtrace_fp, "%s%s", x, w->next ? " " : "");
          free (x);
        }
       else if (ansic_shouldquote (t))
        {
          x = ansic_quote (t, 0, (int *)0);
-         fprintf (stderr, "%s%s", x, w->next ? " " : "");
+         fprintf (xtrace_fp, "%s%s", x, w->next ? " " : "");
          free (x);
        }
       else
-       fprintf (stderr, "%s%s", t, w->next ? " " : "");
+       fprintf (xtrace_fp, "%s%s", t, w->next ? " " : "");
     }
-  fprintf (stderr, "\n");
+  fprintf (xtrace_fp, "\n");
+  fflush (xtrace_fp);
 }
 
 static void
@@ -488,8 +537,9 @@ void
 xtrace_print_for_command_head (for_command)
      FOR_COM *for_command;
 {
-  fprintf (stderr, "%s", indirection_level_string ());
-  fprintf (stderr, "for %s in ", for_command->name->word);
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "for %s in ", for_command->name->word);
   xtrace_print_word_list (for_command->map_list, 0);
 }
 
@@ -542,8 +592,9 @@ void
 xtrace_print_select_command_head (select_command)
      SELECT_COM *select_command;
 {
-  fprintf (stderr, "%s", indirection_level_string ());
-  fprintf (stderr, "select %s in ", select_command->name->word);
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "select %s in ", select_command->name->word);
   xtrace_print_word_list (select_command->map_list, 0);
 }
 
@@ -611,8 +662,9 @@ void
 xtrace_print_case_command_head (case_command)
      CASE_COM *case_command;
 {
-  fprintf (stderr, "%s", indirection_level_string ());
-  fprintf (stderr, "case %s in\n", case_command->word->word);
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "case %s in\n", case_command->word->word);
 }
 
 static void
@@ -790,25 +842,28 @@ xtrace_print_cond_term (type, invert, op, arg1, arg2)
      WORD_DESC *op;
      char *arg1, *arg2;
 {
+  CHECK_XTRACE_FP;
   command_string_index = 0;
-  fprintf (stderr, "%s", indirection_level_string ());
-  fprintf (stderr, "[[ ");
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "[[ ");
   if (invert)
-    fprintf (stderr, "! ");
+    fprintf (xtrace_fp, "! ");
 
   if (type == COND_UNARY)
     {
-      fprintf (stderr, "%s ", op->word);
-      fprintf (stderr, "%s", (arg1 && *arg1) ? arg1 : "''");
+      fprintf (xtrace_fp, "%s ", op->word);
+      fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''");
     }
   else if (type == COND_BINARY)
     {
-      fprintf (stderr, "%s", (arg1 && *arg1) ? arg1 : "''");
-      fprintf (stderr, " %s ", op->word);
-      fprintf (stderr, "%s", (arg2 && *arg2) ? arg2 : "''");
+      fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''");
+      fprintf (xtrace_fp, " %s ", op->word);
+      fprintf (xtrace_fp, "%s", (arg2 && *arg2) ? arg2 : "''");
     }
 
-  fprintf (stderr, " ]]\n");
+  fprintf (xtrace_fp, " ]]\n");
+
+  fflush (xtrace_fp);
 }        
 #endif /* COND_COMMAND */
 
@@ -820,11 +875,14 @@ xtrace_print_arith_cmd (list)
 {
   WORD_LIST *w;
 
-  fprintf (stderr, "%s", indirection_level_string ());
-  fprintf (stderr, "(( ");
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "(( ");
   for (w = list; w; w = w->next)
-    fprintf (stderr, "%s%s", w->word->word, w->next ? " " : "");
-  fprintf (stderr, " ))\n");
+    fprintf (xtrace_fp, "%s%s", w->word->word, w->next ? " " : "");
+  fprintf (xtrace_fp, " ))\n");
+
+  fflush (xtrace_fp);
 }
 #endif
 
diff --git a/print_cmd.c~ b/print_cmd.c~
new file mode 100644 (file)
index 0000000..aa92f39
--- /dev/null
@@ -0,0 +1,1466 @@
+/* print_command -- A way to make readable commands from a command tree. */
+
+/* Copyright (C) 1989-2009 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"
+
+#include <stdio.h>
+
+#if defined (HAVE_UNISTD_H)
+#  ifdef _MINIX
+#    include <sys/types.h>
+#  endif
+#  include <unistd.h>
+#endif
+
+#if defined (PREFER_STDARG)
+#  include <stdarg.h>
+#else
+#  include <varargs.h>
+#endif
+
+#include "bashansi.h"
+#include "bashintl.h"
+
+#include "shell.h"
+#include "flags.h"
+#include <y.tab.h>     /* use <...> so we pick it up from the build directory */
+
+#include "shmbutil.h"
+
+#include "builtins/common.h"
+
+#if !HAVE_DECL_PRINTF
+extern int printf __P((const char *, ...));    /* Yuck.  Double yuck. */
+#endif
+
+extern int indirection_level;
+
+static int indentation;
+static int indentation_amount = 4;
+
+#if defined (PREFER_STDARG)
+typedef void PFUNC __P((const char *, ...));
+
+static void cprintf __P((const char *, ...))  __attribute__((__format__ (printf, 1, 2)));
+static void xprintf __P((const char *, ...))  __attribute__((__format__ (printf, 1, 2)));
+#else
+#define PFUNC VFunction
+static void cprintf ();
+static void xprintf ();
+#endif
+
+static void reset_locals __P((void));
+static void newline __P((char *));
+static void indent __P((int));
+static void semicolon __P((void));
+static void the_printed_command_resize __P((int));
+
+static void make_command_string_internal __P((COMMAND *));
+static void _print_word_list __P((WORD_LIST *, char *, PFUNC *));
+static void command_print_word_list __P((WORD_LIST *, char *));
+static void print_case_clauses __P((PATTERN_LIST *));
+static void print_redirection_list __P((REDIRECT *));
+static void print_redirection __P((REDIRECT *));
+static void print_heredoc_header __P((REDIRECT *));
+static void print_heredoc_body __P((REDIRECT *));
+static void print_heredocs __P((REDIRECT *));
+static void print_deferred_heredocs __P((const char *));
+
+static void print_for_command __P((FOR_COM *));
+#if defined (ARITH_FOR_COMMAND)
+static void print_arith_for_command __P((ARITH_FOR_COM *));
+#endif
+#if defined (SELECT_COMMAND)
+static void print_select_command __P((SELECT_COM *));
+#endif
+static void print_group_command __P((GROUP_COM *));
+static void print_case_command __P((CASE_COM *));
+static void print_while_command __P((WHILE_COM *));
+static void print_until_command __P((WHILE_COM *));
+static void print_until_or_while __P((WHILE_COM *, char *));
+static void print_if_command __P((IF_COM *));
+#if defined (COND_COMMAND)
+static void print_cond_node __P((COND_COM *));
+#endif
+static void print_function_def __P((FUNCTION_DEF *));
+
+#define PRINTED_COMMAND_INITIAL_SIZE 64
+#define PRINTED_COMMAND_GROW_SIZE 128
+
+char *the_printed_command = (char *)NULL;
+int the_printed_command_size = 0;
+int command_string_index = 0;
+
+int xtrace_fd = -1;
+FILE *xtrace_fp = 0;
+
+#define CHECK_XTRACE_FP        xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
+
+/* Non-zero means the stuff being printed is inside of a function def. */
+static int inside_function_def;
+static int skip_this_indent;
+static int was_heredoc;
+static int printing_connection;
+static REDIRECT *deferred_heredocs;
+
+/* The depth of the group commands that we are currently printing.  This
+   includes the group command that is a function body. */
+static int group_command_nesting;
+
+/* A buffer to indicate the indirection level (PS4) when set -x is enabled. */
+static char indirection_string[100];
+
+/* Print COMMAND (a command tree) on standard output. */
+void
+print_command (command)
+     COMMAND *command;
+{
+  command_string_index = 0;
+  printf ("%s", make_command_string (command));
+}
+
+/* Make a string which is the printed representation of the command
+   tree in COMMAND.  We return this string.  However, the string is
+   not consed, so you have to do that yourself if you want it to
+   remain around. */
+char *
+make_command_string (command)
+     COMMAND *command;
+{
+  command_string_index = was_heredoc = 0;
+  deferred_heredocs = 0;
+  make_command_string_internal (command);
+  return (the_printed_command);
+}
+
+/* The internal function.  This is the real workhorse. */
+static void
+make_command_string_internal (command)
+     COMMAND *command;
+{
+  char s[3], *op;
+
+  if (command == 0)
+    cprintf ("");
+  else
+    {
+      if (skip_this_indent)
+       skip_this_indent--;
+      else
+       indent (indentation);
+
+      if (command->flags & CMD_TIME_PIPELINE)
+       {
+         cprintf ("time ");
+         if (command->flags & CMD_TIME_POSIX)
+           cprintf ("-p ");
+       }
+
+      if (command->flags & CMD_INVERT_RETURN)
+       cprintf ("! ");
+
+      switch (command->type)
+       {
+       case cm_for:
+         print_for_command (command->value.For);
+         break;
+
+#if defined (ARITH_FOR_COMMAND)
+       case cm_arith_for:
+         print_arith_for_command (command->value.ArithFor);
+         break;
+#endif
+
+#if defined (SELECT_COMMAND)
+       case cm_select:
+         print_select_command (command->value.Select);
+         break;
+#endif
+
+       case cm_case:
+         print_case_command (command->value.Case);
+         break;
+
+       case cm_while:
+         print_while_command (command->value.While);
+         break;
+
+       case cm_until:
+         print_until_command (command->value.While);
+         break;
+
+       case cm_if:
+         print_if_command (command->value.If);
+         break;
+
+#if defined (DPAREN_ARITHMETIC)
+       case cm_arith:
+         print_arith_command (command->value.Arith->exp);
+         break;
+#endif
+
+#if defined (COND_COMMAND)
+       case cm_cond:
+         print_cond_command (command->value.Cond);
+         break;
+#endif
+
+       case cm_simple:
+         print_simple_command (command->value.Simple);
+         break;
+
+       case cm_connection:
+
+         skip_this_indent++;
+         printing_connection++;
+         make_command_string_internal (command->value.Connection->first);
+
+         switch (command->value.Connection->connector)
+           {
+           case '&':
+           case '|':
+             {
+               char c = command->value.Connection->connector;
+
+               s[0] = ' ';
+               s[1] = c;
+               s[2] = '\0';
+               
+               print_deferred_heredocs (s);
+
+               if (c != '&' || command->value.Connection->second)
+                 {
+                   cprintf (" ");
+                   skip_this_indent++;
+                 }
+             }
+             break;
+
+           case AND_AND:
+             print_deferred_heredocs (" && ");
+             if (command->value.Connection->second)
+               skip_this_indent++;
+             break;
+
+           case OR_OR:
+             print_deferred_heredocs (" || ");
+             if (command->value.Connection->second)
+               skip_this_indent++;
+             break;
+
+           case ';':
+             if (deferred_heredocs == 0)
+               {
+                 if (was_heredoc == 0)
+                   cprintf (";");
+                 else
+                   was_heredoc = 0;
+               }
+             else
+               print_deferred_heredocs (inside_function_def ? "" : ";");
+
+             if (inside_function_def)
+               cprintf ("\n");
+             else
+               {
+                 cprintf (" ");
+                 if (command->value.Connection->second)
+                   skip_this_indent++;
+               }
+             break;
+
+           default:
+             cprintf (_("print_command: bad connector `%d'"),
+                      command->value.Connection->connector);
+             break;
+           }
+
+         make_command_string_internal (command->value.Connection->second);
+         if (deferred_heredocs)
+           print_deferred_heredocs ("");
+         printing_connection--;                  
+         break;
+
+       case cm_function_def:
+         print_function_def (command->value.Function_def);
+         break;
+
+       case cm_group:
+         print_group_command (command->value.Group);
+         break;
+
+       case cm_subshell:
+         cprintf ("( ");
+         skip_this_indent++;
+         make_command_string_internal (command->value.Subshell->command);
+         cprintf (" )");
+         break;
+
+       case cm_coproc:
+         cprintf ("coproc %s ", command->value.Coproc->name);
+         skip_this_indent++;
+         make_command_string_internal (command->value.Coproc->command);
+         break;
+
+       default:
+         command_error ("print_command", CMDERR_BADTYPE, command->type, 0);
+         break;
+       }
+
+
+      if (command->redirects)
+       {
+         cprintf (" ");
+         print_redirection_list (command->redirects);
+       }
+    }
+}
+
+static void
+_print_word_list (list, separator, pfunc)
+     WORD_LIST *list;
+     char *separator;
+     PFUNC *pfunc;
+{
+  WORD_LIST *w;
+
+  for (w = list; w; w = w->next)
+    (*pfunc) ("%s%s", w->word->word, w->next ? separator : "");
+}
+
+void
+print_word_list (list, separator)
+     WORD_LIST *list;
+     char *separator;
+{
+  _print_word_list (list, separator, xprintf);
+}
+
+void
+xtrace_set (fd, fp)
+     int fd;
+     FILE *fp;
+{
+  if (fd >= 0 && sh_validfd (fd) == 0)
+    {
+      internal_error ("xtrace_set: %d: invalid file descriptor", fd);
+      return;
+    }
+  if (fp == 0)
+    {
+      internal_error ("xtrace_set: NULL file pointer");
+      return;
+    }
+  if (fd >= 0 && fileno (fp) != fd)
+    internal_warning ("xtrace fd (%d) != fileno xtrace fp (%d)", fd, fileno (fp));
+  
+  xtrace_fd = fd;
+  xtrace_fp = fp;
+}
+
+void
+xtrace_init ()
+{
+  xtrace_set (-1, stderr);
+}
+
+/* Return a string denoting what our indirection level is. */
+
+char *
+indirection_level_string ()
+{
+  register int i, j;
+  char *ps4;
+  char ps4_firstc[MB_LEN_MAX+1];
+  int ps4_firstc_len, ps4_len;
+
+  indirection_string[0] = '\0';
+  ps4 = get_string_value ("PS4");
+
+  if (ps4 == 0 || *ps4 == '\0')
+    return (indirection_string);
+
+  change_flag ('x', FLAG_OFF);
+  ps4 = decode_prompt_string (ps4);
+  change_flag ('x', FLAG_ON);
+
+  if (ps4 == 0 || *ps4 == '\0')
+    return (indirection_string);
+
+#if defined (HANDLE_MULTIBYTE)
+  ps4_len = strnlen (ps4, MB_CUR_MAX);
+  ps4_firstc_len = MBLEN (ps4, ps4_len);
+  if (ps4_firstc_len == 1 || ps4_firstc_len == 0 || MB_INVALIDCH (ps4_firstc_len))
+    {
+      ps4_firstc[0] = ps4[0];
+      ps4_firstc[ps4_firstc_len = 1] = '\0';
+    }
+  else
+    memcpy (ps4_firstc, ps4, ps4_firstc_len);
+#else
+  ps4_firstc[0] = ps4[0];
+  ps4_firstc[ps4_firstc_len = 1] = '\0';
+#endif
+      
+  for (i = j = 0; ps4_firstc[0] && j < indirection_level && i < 99; i += ps4_firstc_len, j++)
+    {
+      if (ps4_firstc_len == 1)
+       indirection_string[i] = ps4_firstc[0];
+      else
+       memcpy (indirection_string+i, ps4_firstc, ps4_firstc_len);
+    }      
+
+  for (j = ps4_firstc_len; *ps4 && ps4[j] && i < 99; i++, j++)
+    indirection_string[i] = ps4[j];
+
+  indirection_string[i] = '\0';
+  free (ps4);
+  return (indirection_string);
+}
+
+void
+xtrace_print_assignment (name, value, assign_list, xflags)
+     char *name, *value;
+     int assign_list, xflags;
+{
+  char *nval;
+
+  CHECK_XTRACE_FP;
+
+  if (xflags)
+    fprintf (xtrace_fp, "%s", indirection_level_string ());
+
+  /* VALUE should not be NULL when this is called. */
+  if (*value == '\0' || assign_list)
+    nval = value;
+  else if (sh_contains_shell_metas (value))
+    nval = sh_single_quote (value);
+  else if (ansic_shouldquote (value))
+    nval = ansic_quote (value, 0, (int *)0);
+  else
+    nval = value;
+
+  if (assign_list)
+    fprintf (xtrace_fp, "%s=(%s)\n", name, nval);
+  else
+    fprintf (xtrace_fp, "%s=%s\n", name, nval);
+
+  if (nval != value)
+    FREE (nval);
+
+  fflush (xtrace_fp);
+}
+
+/* A function to print the words of a simple command when set -x is on. */
+void
+xtrace_print_word_list (list, xtflags)
+     WORD_LIST *list;
+     int xtflags;
+{
+  WORD_LIST *w;
+  char *t, *x;
+
+  CHECK_XTRACE_FP;
+
+  if (xtflags)
+    fprintf (xtrace_fp, "%s", indirection_level_string ());
+
+  for (w = list; w; w = w->next)
+    {
+      t = w->word->word;
+      if (t == 0 || *t == '\0')
+       fprintf (xtrace_fp, "''%s", w->next ? " " : "");
+      else if (sh_contains_shell_metas (t))
+       {
+         x = sh_single_quote (t);
+         fprintf (xtrace_fp, "%s%s", x, w->next ? " " : "");
+         free (x);
+       }
+      else if (ansic_shouldquote (t))
+       {
+         x = ansic_quote (t, 0, (int *)0);
+         fprintf (xtrace_fp, "%s%s", x, w->next ? " " : "");
+         free (x);
+       }
+      else
+       fprintf (xtrace_fp, "%s%s", t, w->next ? " " : "");
+    }
+  fprintf (xtrace_fp, "\n");
+  fflush (xtrace_fp);
+}
+
+static void
+command_print_word_list (list, separator)
+     WORD_LIST *list;
+     char *separator;
+{
+  _print_word_list (list, separator, cprintf);
+}
+
+void
+print_for_command_head (for_command)
+     FOR_COM *for_command;
+{
+  cprintf ("for %s in ", for_command->name->word);
+  command_print_word_list (for_command->map_list, " ");
+}
+
+void
+xtrace_print_for_command_head (for_command)
+     FOR_COM *for_command;
+{
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "for %s in ", for_command->name->word);
+  xtrace_print_word_list (for_command->map_list, 0);
+}
+
+static void
+print_for_command (for_command)
+     FOR_COM *for_command;
+{
+  print_for_command_head (for_command);
+
+  cprintf (";");
+  newline ("do\n");
+  indentation += indentation_amount;
+  make_command_string_internal (for_command->action);
+  semicolon ();
+  indentation -= indentation_amount;
+  newline ("done");
+}
+
+#if defined (ARITH_FOR_COMMAND)
+static void
+print_arith_for_command (arith_for_command)
+     ARITH_FOR_COM *arith_for_command;
+{
+  cprintf ("for ((");
+  command_print_word_list (arith_for_command->init, " ");
+  cprintf ("; ");
+  command_print_word_list (arith_for_command->test, " ");
+  cprintf ("; ");
+  command_print_word_list (arith_for_command->step, " ");
+  cprintf ("))");
+  newline ("do\n");
+  indentation += indentation_amount;
+  make_command_string_internal (arith_for_command->action);
+  semicolon ();
+  indentation -= indentation_amount;
+  newline ("done");
+}
+#endif /* ARITH_FOR_COMMAND */
+
+#if defined (SELECT_COMMAND)
+void
+print_select_command_head (select_command)
+     SELECT_COM *select_command;
+{
+  cprintf ("select %s in ", select_command->name->word);
+  command_print_word_list (select_command->map_list, " ");
+}
+
+void
+xtrace_print_select_command_head (select_command)
+     SELECT_COM *select_command;
+{
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "select %s in ", select_command->name->word);
+  xtrace_print_word_list (select_command->map_list, 0);
+}
+
+static void
+print_select_command (select_command)
+     SELECT_COM *select_command;
+{
+  print_select_command_head (select_command);
+
+  cprintf (";");
+  newline ("do\n");
+  indentation += indentation_amount;
+  make_command_string_internal (select_command->action);
+  semicolon ();
+  indentation -= indentation_amount;
+  newline ("done");
+}
+#endif /* SELECT_COMMAND */
+
+static void
+print_group_command (group_command)
+     GROUP_COM *group_command;
+{
+  group_command_nesting++;
+  cprintf ("{ ");
+
+  if (inside_function_def == 0)
+    skip_this_indent++;
+  else
+    {
+      /* This is a group command { ... } inside of a function
+        definition, and should be printed as a multiline group
+        command, using the current indentation. */
+      cprintf ("\n");
+      indentation += indentation_amount;
+    }
+
+  make_command_string_internal (group_command->command);
+
+  if (inside_function_def)
+    {
+      cprintf ("\n");
+      indentation -= indentation_amount;
+      indent (indentation);
+    }
+  else
+    {
+      semicolon ();
+      cprintf (" ");
+    }
+
+  cprintf ("}");
+
+  group_command_nesting--;
+}
+
+void
+print_case_command_head (case_command)
+     CASE_COM *case_command;
+{
+  cprintf ("case %s in ", case_command->word->word);
+}
+
+void
+xtrace_print_case_command_head (case_command)
+     CASE_COM *case_command;
+{
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "case %s in\n", case_command->word->word);
+}
+
+static void
+print_case_command (case_command)
+     CASE_COM *case_command;
+{
+  print_case_command_head (case_command);
+
+  if (case_command->clauses)
+    print_case_clauses (case_command->clauses);
+  newline ("esac");
+}
+
+static void
+print_case_clauses (clauses)
+     PATTERN_LIST *clauses;
+{
+  indentation += indentation_amount;
+  while (clauses)
+    {
+      newline ("");
+      command_print_word_list (clauses->patterns, " | ");
+      cprintf (")\n");
+      indentation += indentation_amount;
+      make_command_string_internal (clauses->action);
+      indentation -= indentation_amount;
+      if (clauses->flags & CASEPAT_FALLTHROUGH)
+       newline (";&");
+      else if (clauses->flags & CASEPAT_TESTNEXT)
+       newline (";;&");
+      else
+       newline (";;");
+      clauses = clauses->next;
+    }
+  indentation -= indentation_amount;
+}
+
+static void
+print_while_command (while_command)
+     WHILE_COM *while_command;
+{
+  print_until_or_while (while_command, "while");
+}
+
+static void
+print_until_command (while_command)
+     WHILE_COM *while_command;
+{
+  print_until_or_while (while_command, "until");
+}
+
+static void
+print_until_or_while (while_command, which)
+     WHILE_COM *while_command;
+     char *which;
+{
+  cprintf ("%s ", which);
+  skip_this_indent++;
+  make_command_string_internal (while_command->test);
+  semicolon ();
+  cprintf (" do\n");   /* was newline ("do\n"); */
+  indentation += indentation_amount;
+  make_command_string_internal (while_command->action);
+  indentation -= indentation_amount;
+  semicolon ();
+  newline ("done");
+}
+
+static void
+print_if_command (if_command)
+     IF_COM *if_command;
+{
+  cprintf ("if ");
+  skip_this_indent++;
+  make_command_string_internal (if_command->test);
+  semicolon ();
+  cprintf (" then\n");
+  indentation += indentation_amount;
+  make_command_string_internal (if_command->true_case);
+  indentation -= indentation_amount;
+
+  if (if_command->false_case)
+    {
+      semicolon ();
+      newline ("else\n");
+      indentation += indentation_amount;
+      make_command_string_internal (if_command->false_case);
+      indentation -= indentation_amount;
+    }
+  semicolon ();
+  newline ("fi");
+}
+
+#if defined (DPAREN_ARITHMETIC)
+void
+print_arith_command (arith_cmd_list)
+     WORD_LIST *arith_cmd_list;
+{
+  cprintf ("((");
+  command_print_word_list (arith_cmd_list, " ");
+  cprintf ("))");
+}
+#endif
+
+#if defined (COND_COMMAND)
+static void
+print_cond_node (cond)
+     COND_COM *cond;
+{
+  if (cond->flags & CMD_INVERT_RETURN)
+    cprintf ("! ");
+
+  if (cond->type == COND_EXPR)
+    {
+      cprintf ("( ");
+      print_cond_node (cond->left);
+      cprintf (" )");
+    }
+  else if (cond->type == COND_AND)
+    {
+      print_cond_node (cond->left);
+      cprintf (" && ");
+      print_cond_node (cond->right);
+    }
+  else if (cond->type == COND_OR)
+    {
+      print_cond_node (cond->left);
+      cprintf (" || ");
+      print_cond_node (cond->right);
+    }
+  else if (cond->type == COND_UNARY)
+    {
+      cprintf ("%s", cond->op->word);
+      cprintf (" ");
+      print_cond_node (cond->left);
+    }
+  else if (cond->type == COND_BINARY)
+    {
+      print_cond_node (cond->left);
+      cprintf (" ");
+      cprintf ("%s", cond->op->word);
+      cprintf (" ");
+      print_cond_node (cond->right);
+    }
+  else if (cond->type == COND_TERM)
+    {
+      cprintf ("%s", cond->op->word);          /* need to add quoting here */
+    }
+}
+
+void
+print_cond_command (cond)
+     COND_COM *cond;
+{
+  cprintf ("[[ ");
+  print_cond_node (cond);
+  cprintf (" ]]");
+}
+
+#ifdef DEBUG
+void
+debug_print_cond_command (cond)
+     COND_COM *cond;
+{
+  fprintf (stderr, "DEBUG: ");
+  command_string_index = 0;
+  print_cond_command (cond);
+  fprintf (stderr, "%s\n", the_printed_command);
+}
+#endif
+
+void
+xtrace_print_cond_term (type, invert, op, arg1, arg2)
+     int type, invert;
+     WORD_DESC *op;
+     char *arg1, *arg2;
+{
+  CHECK_XTRACE_FP;
+  command_string_index = 0;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "[[ ");
+  if (invert)
+    fprintf (xtrace_fp, "! ");
+
+  if (type == COND_UNARY)
+    {
+      fprintf (xtrace_fp, "%s ", op->word);
+      fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''");
+    }
+  else if (type == COND_BINARY)
+    {
+      fprintf (xtrace_fp, "%s", (arg1 && *arg1) ? arg1 : "''");
+      fprintf (xtrace_fp, " %s ", op->word);
+      fprintf (xtrace_fp, "%s", (arg2 && *arg2) ? arg2 : "''");
+    }
+
+  fprintf (xtrace_fp, " ]]\n");
+
+  fflush (xtrace_fp);
+}        
+#endif /* COND_COMMAND */
+
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+/* A function to print the words of an arithmetic command when set -x is on. */
+void
+xtrace_print_arith_cmd (list)
+     WORD_LIST *list;
+{
+  WORD_LIST *w;
+
+  CHECK_XTRACE_FP;
+  fprintf (xtrace_fp, "%s", indirection_level_string ());
+  fprintf (xtrace_fp, "(( ");
+  for (w = list; w; w = w->next)
+    fprintf (xtrace_fp, "%s%s", w->word->word, w->next ? " " : "");
+  fprintf (xtrace_fp, " ))\n");
+
+  fflush (xtrace_fp);
+}
+#endif
+
+void
+print_simple_command (simple_command)
+     SIMPLE_COM *simple_command;
+{
+  command_print_word_list (simple_command->words, " ");
+
+  if (simple_command->redirects)
+    {
+      cprintf (" ");
+      print_redirection_list (simple_command->redirects);
+    }
+}
+
+static void
+print_heredocs (heredocs)
+     REDIRECT *heredocs;
+{
+  REDIRECT *hdtail;
+
+  cprintf (" "); 
+  for (hdtail = heredocs; hdtail; hdtail = hdtail->next)
+    {
+      print_redirection (hdtail);
+      cprintf ("\n");
+    }
+  was_heredoc = 1;
+}
+
+/* Print heredocs that are attached to the command before the connector
+   represented by CSTRING.  The parsing semantics require us to print the
+   here-doc delimiters, then the connector (CSTRING), then the here-doc
+   bodies.  We don't print the connector if it's a `;', but we use it to
+   note not to print an extra space after the last heredoc body and
+   newline. */
+static void
+print_deferred_heredocs (cstring)
+     const char *cstring;
+{
+  REDIRECT *hdtail;    
+
+  for (hdtail = deferred_heredocs; hdtail; hdtail = hdtail->next)
+    {
+      cprintf (" ");
+      print_heredoc_header (hdtail);
+    }
+  if (cstring[0] != ';' || cstring[1])
+    cprintf ("%s", cstring); 
+  if (deferred_heredocs)
+    cprintf ("\n");
+  for (hdtail = deferred_heredocs; hdtail; hdtail = hdtail->next)
+    {
+      print_heredoc_body (hdtail);
+      cprintf ("\n");
+    }
+  if (deferred_heredocs)
+    {
+      if (cstring && cstring[0] && (cstring[0] != ';' || cstring[1]))
+       cprintf (" ");  /* make sure there's at least one space */
+      dispose_redirects (deferred_heredocs);
+      was_heredoc = 1;
+    }
+  deferred_heredocs = (REDIRECT *)NULL;
+}
+      
+static void
+print_redirection_list (redirects)
+     REDIRECT *redirects;
+{
+  REDIRECT *heredocs, *hdtail, *newredir;
+
+  heredocs = (REDIRECT *)NULL;
+  hdtail = heredocs;
+
+  was_heredoc = 0;
+  while (redirects)
+    {
+      /* Defer printing the here documents until we've printed the
+        rest of the redirections. */
+      if (redirects->instruction == r_reading_until || redirects->instruction == r_deblank_reading_until)
+       {
+         newredir = copy_redirect (redirects);
+         newredir->next = (REDIRECT *)NULL;
+         if (heredocs)
+           {
+             hdtail->next = newredir;
+             hdtail = newredir;
+           }
+         else
+           hdtail = heredocs = newredir;
+       }
+      else if (redirects->instruction == r_duplicating_output_word && redirects->redirector == 1)
+       {
+         /* Temporarily translate it as the execution code does. */
+         redirects->instruction = r_err_and_out;
+         print_redirection (redirects);
+         redirects->instruction = r_duplicating_output_word;
+       }
+      else
+       print_redirection (redirects);
+
+      redirects = redirects->next;
+      if (redirects)
+       cprintf (" ");
+    }
+
+  /* Now that we've printed all the other redirections (on one line),
+     print the here documents. */
+  if (heredocs && printing_connection)
+    deferred_heredocs = heredocs;
+  else if (heredocs)
+    {
+      print_heredocs (heredocs);
+      dispose_redirects (heredocs);
+    }
+}
+
+static void
+print_heredoc_header (redirect)
+     REDIRECT *redirect;
+{
+  int kill_leading;
+  char *x;
+
+  kill_leading = redirect->instruction == r_deblank_reading_until;
+
+  /* Here doc header */
+  if (redirect->redirector != 0)
+    cprintf ("%d", redirect->redirector);
+
+  /* If the here document delimiter is quoted, single-quote it. */
+  if (redirect->redirectee.filename->flags & W_QUOTED)
+    {
+      x = sh_single_quote (redirect->here_doc_eof);
+      cprintf ("<<%s%s", kill_leading ? "-" : "", x);
+      free (x);
+    }
+  else
+    cprintf ("<<%s%s", kill_leading ? "-" : "", redirect->here_doc_eof);
+}
+
+static void
+print_heredoc_body (redirect)
+     REDIRECT *redirect;
+{
+  /* Here doc body */
+  cprintf ("%s%s", redirect->redirectee.filename->word, redirect->here_doc_eof);
+}
+
+static void
+print_redirection (redirect)
+     REDIRECT *redirect;
+{
+  int kill_leading, redirector, redir_fd;
+  WORD_DESC *redirectee;
+
+  kill_leading = 0;
+  redirectee = redirect->redirectee.filename;
+  redirector = redirect->redirector;
+  redir_fd = redirect->redirectee.dest;
+
+  switch (redirect->instruction)
+    {
+    case r_output_direction:
+      if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf ("> %s", redirectee->word);
+      break;
+
+    case r_input_direction:
+      if (redirector != 0)
+       cprintf ("%d", redirector);
+      cprintf ("< %s", redirectee->word);
+      break;
+
+    case r_inputa_direction:   /* Redirection created by the shell. */
+      cprintf ("&");
+      break;
+
+    case r_appending_to:
+      if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf (">> %s", redirectee->word);
+      break;
+
+    case r_deblank_reading_until:
+    case r_reading_until:
+      print_heredoc_header (redirect);
+      cprintf ("\n");
+      print_heredoc_body (redirect);
+      break;
+
+    case r_reading_string:
+      if (redirector != 0)
+       cprintf ("%d", redirector);
+      if (ansic_shouldquote (redirect->redirectee.filename->word))
+       {
+         char *x;
+         x = ansic_quote (redirect->redirectee.filename->word, 0, (int *)0);
+         cprintf ("<<< %s", x);
+         free (x);
+       }
+      else
+       cprintf ("<<< %s", redirect->redirectee.filename->word);
+      break;
+
+    case r_duplicating_input:
+      cprintf ("%d<&%d", redirector, redir_fd);
+      break;
+
+    case r_duplicating_output:
+      cprintf ("%d>&%d", redirector, redir_fd);
+      break;
+
+    case r_duplicating_input_word:
+      cprintf ("%d<&%s", redirector, redirectee->word);
+      break;
+
+    case r_duplicating_output_word:
+      cprintf ("%d>&%s", redirector, redirectee->word);
+      break;
+
+    case r_move_input:
+      cprintf ("%d<&%d-", redirector, redir_fd);
+      break;
+
+    case r_move_output:
+      cprintf ("%d>&%d-", redirector, redir_fd);
+      break;
+
+    case r_move_input_word:
+      cprintf ("%d<&%s-", redirector, redirectee->word);
+      break;
+
+    case r_move_output_word:
+      cprintf ("%d>&%s-", redirector, redirectee->word);
+      break;
+
+    case r_close_this:
+      cprintf ("%d>&-", redirector);
+      break;
+
+    case r_err_and_out:
+      cprintf ("&>%s", redirectee->word);
+      break;
+
+    case r_append_err_and_out:
+      cprintf ("&>>%s", redirectee->word);
+      break;
+
+    case r_input_output:
+      if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf ("<> %s", redirectee->word);
+      break;
+
+    case r_output_force:
+      if (redirector != 1)
+       cprintf ("%d", redirector);
+      cprintf (">|%s", redirectee->word);
+      break;
+    }
+}
+
+static void
+reset_locals ()
+{
+  inside_function_def = 0;
+  indentation = 0;
+  printing_connection = 0;
+  deferred_heredocs = 0;
+}
+
+static void
+print_function_def (func)
+     FUNCTION_DEF *func;
+{
+  COMMAND *cmdcopy;
+  REDIRECT *func_redirects;
+
+  func_redirects = NULL;
+  cprintf ("function %s () \n", func->name->word);
+  add_unwind_protect (reset_locals, 0);
+
+  indent (indentation);
+  cprintf ("{ \n");
+
+  inside_function_def++;
+  indentation += indentation_amount;
+
+  cmdcopy = copy_command (func->command);
+  if (cmdcopy->type == cm_group)
+    {
+      func_redirects = cmdcopy->redirects;
+      cmdcopy->redirects = (REDIRECT *)NULL;
+    }
+  make_command_string_internal (cmdcopy->type == cm_group
+                                       ? cmdcopy->value.Group->command
+                                       : cmdcopy);
+
+  remove_unwind_protect ();
+  indentation -= indentation_amount;
+  inside_function_def--;
+
+  if (func_redirects)
+    { /* { */
+      newline ("} ");
+      print_redirection_list (func_redirects);
+      cmdcopy->redirects = func_redirects;
+    }
+  else
+    newline ("}");
+
+  dispose_command (cmdcopy);
+}
+
+/* Return the string representation of the named function.
+   NAME is the name of the function.
+   COMMAND is the function body.  It should be a GROUP_COM.
+   flags&FUNC_MULTILINE is non-zero to pretty-print, or zero for all on one line.
+   flags&FUNC_EXTERNAL means convert from internal to external form
+  */
+char *
+named_function_string (name, command, flags)
+     char *name;
+     COMMAND *command;
+     int flags;
+{
+  char *result;
+  int old_indent, old_amount;
+  COMMAND *cmdcopy;
+  REDIRECT *func_redirects;
+
+  old_indent = indentation;
+  old_amount = indentation_amount;
+  command_string_index = was_heredoc = 0;
+  deferred_heredocs = 0;
+
+  if (name && *name)
+    cprintf ("%s ", name);
+
+  cprintf ("() ");
+
+  if ((flags & FUNC_MULTILINE) == 0)
+    {
+      indentation = 1;
+      indentation_amount = 0;
+    }
+  else
+    {
+      cprintf ("\n");
+      indentation += indentation_amount;
+    }
+
+  inside_function_def++;
+
+  cprintf ((flags & FUNC_MULTILINE) ? "{ \n" : "{ ");
+
+  cmdcopy = copy_command (command);
+  /* Take any redirections specified in the function definition (which should
+     apply to the function as a whole) and save them for printing later. */
+  func_redirects = (REDIRECT *)NULL;
+  if (cmdcopy->type == cm_group)
+    {
+      func_redirects = cmdcopy->redirects;
+      cmdcopy->redirects = (REDIRECT *)NULL;
+    }
+  make_command_string_internal (cmdcopy->type == cm_group
+                                       ? cmdcopy->value.Group->command
+                                       : cmdcopy);
+
+  indentation = old_indent;
+  indentation_amount = old_amount;
+  inside_function_def--;
+
+  if (func_redirects)
+    { /* { */
+      newline ("} ");
+      print_redirection_list (func_redirects);
+      cmdcopy->redirects = func_redirects;
+    }
+  else
+    newline ("}");
+
+  result = the_printed_command;
+
+  if ((flags & FUNC_MULTILINE) == 0)
+    {
+#if 0
+      register int i;
+      for (i = 0; result[i]; i++)
+       if (result[i] == '\n')
+         {
+           strcpy (result + i, result + i + 1);
+           --i;
+         }
+#else
+      if (result[2] == '\n')   /* XXX -- experimental */
+       strcpy (result + 2, result + 3);
+#endif
+    }
+
+  dispose_command (cmdcopy);
+
+  if (flags & FUNC_EXTERNAL)
+    result = remove_quoted_escapes (result);
+
+  return (result);
+}
+
+static void
+newline (string)
+     char *string;
+{
+  cprintf ("\n");
+  indent (indentation);
+  if (string && *string)
+    cprintf ("%s", string);
+}
+
+static char *indentation_string;
+static int indentation_size;
+
+static void
+indent (amount)
+     int amount;
+{
+  register int i;
+
+  RESIZE_MALLOCED_BUFFER (indentation_string, 0, amount, indentation_size, 16);
+
+  for (i = 0; amount > 0; amount--)
+    indentation_string[i++] = ' ';
+  indentation_string[i] = '\0';
+  cprintf (indentation_string);
+}
+
+static void
+semicolon ()
+{
+  if (command_string_index > 0 &&
+       (the_printed_command[command_string_index - 1] == '&' ||
+        the_printed_command[command_string_index - 1] == '\n'))
+    return;
+  cprintf (";");
+}
+
+/* How to make the string. */
+static void
+#if defined (PREFER_STDARG)
+cprintf (const char *control, ...)
+#else
+cprintf (control, va_alist)
+     const char *control;
+     va_dcl
+#endif
+{
+  register const char *s;
+  char char_arg[2], *argp, intbuf[INT_STRLEN_BOUND (int) + 1];
+  int digit_arg, arg_len, c;
+  va_list args;
+
+  SH_VA_START (args, control);
+
+  arg_len = strlen (control);
+  the_printed_command_resize (arg_len + 1);
+
+  char_arg[1] = '\0';
+  s = control;
+  while (s && *s)
+    {
+      c = *s++;
+      argp = (char *)NULL;
+      if (c != '%' || !*s)
+       {
+         char_arg[0] = c;
+         argp = char_arg;
+         arg_len = 1;
+       }
+      else
+       {
+         c = *s++;
+         switch (c)
+           {
+           case '%':
+             char_arg[0] = c;
+             argp = char_arg;
+             arg_len = 1;
+             break;
+
+           case 's':
+             argp = va_arg (args, char *);
+             arg_len = strlen (argp);
+             break;
+
+           case 'd':
+             /* Represent an out-of-range file descriptor with an out-of-range
+                integer value.  We can do this because the only use of `%d' in
+                the calls to cprintf is to output a file descriptor number for
+                a redirection. */
+             digit_arg = va_arg (args, int);
+             if (digit_arg < 0)
+               {
+                 sprintf (intbuf, "%u", (unsigned)-1);
+                 argp = intbuf;
+               }
+             else
+               argp = inttostr (digit_arg, intbuf, sizeof (intbuf));
+             arg_len = strlen (argp);
+             break;
+
+           case 'c':
+             char_arg[0] = va_arg (args, int);
+             argp = char_arg;
+             arg_len = 1;
+             break;
+
+           default:
+             programming_error (_("cprintf: `%c': invalid format character"), c);
+             /*NOTREACHED*/
+           }
+       }
+
+      if (argp && arg_len)
+       {
+         the_printed_command_resize (arg_len + 1);
+         FASTCOPY (argp, the_printed_command + command_string_index, arg_len);
+         command_string_index += arg_len;
+       }
+    }
+
+  the_printed_command[command_string_index] = '\0';
+}
+
+/* Ensure that there is enough space to stuff LENGTH characters into
+   THE_PRINTED_COMMAND. */
+static void
+the_printed_command_resize (length)
+     int length;
+{
+  if (the_printed_command == 0)
+    {
+      the_printed_command_size = (length + PRINTED_COMMAND_INITIAL_SIZE - 1) & ~(PRINTED_COMMAND_INITIAL_SIZE - 1);
+      the_printed_command = (char *)xmalloc (the_printed_command_size);
+      command_string_index = 0;
+    }
+  else if ((command_string_index + length) >= the_printed_command_size)
+    {
+      int new;
+      new = command_string_index + length + 1;
+
+      /* Round up to the next multiple of PRINTED_COMMAND_GROW_SIZE. */
+      new = (new + PRINTED_COMMAND_GROW_SIZE - 1) & ~(PRINTED_COMMAND_GROW_SIZE - 1);
+      the_printed_command_size = new;
+
+      the_printed_command = (char *)xrealloc (the_printed_command, the_printed_command_size);
+    }
+}
+
+#if defined (HAVE_VPRINTF)
+/* ``If vprintf is available, you may assume that vfprintf and vsprintf are
+     also available.'' */
+
+static void
+#if defined (PREFER_STDARG)
+xprintf (const char *format, ...)
+#else
+xprintf (format, va_alist)
+     const char *format;
+     va_dcl
+#endif
+{
+  va_list args;
+
+  SH_VA_START (args, format);
+
+  vfprintf (stdout, format, args);
+  va_end (args);
+}
+
+#else
+
+static void
+xprintf (format, arg1, arg2, arg3, arg4, arg5)
+     const char *format;
+{
+  printf (format, arg1, arg2, arg3, arg4, arg5);
+}
+
+#endif /* !HAVE_VPRINTF */
diff --git a/shell.c b/shell.c
index c5f6d8b8f965380493c0233338bd5ca37a0b3962..6e650cea7e787c818e35e2d3e4c4e74b39b1dca8 100644 (file)
--- a/shell.c
+++ b/shell.c
@@ -374,6 +374,8 @@ main (argc, argv, env)
   if (code)
     exit (2);
 
+  xtrace_init ();
+
 #if defined (USING_BASH_MALLOC) && defined (DEBUG) && !defined (DISABLE_MALLOC_WRAPPERS)
 #  if 1
   malloc_set_register (1);
@@ -1713,8 +1715,10 @@ shell_initialize ()
      privileged or restricted mode or if the shell is running setuid. */
 #if defined (RESTRICTED_SHELL)
   initialize_shell_options (privileged_mode||restricted||running_setuid);
+  initialize_bashopts (privileged_mode||restricted||running_setuid);
 #else
   initialize_shell_options (privileged_mode||running_setuid);
+  initialize_bashopts (privileged_mode||running_setuid);
 #endif
 }
 
index b28e3b4857ec9b4ff11cd40c2ce9a3871478f68d..9f6e997025f2bbc091440be45afbd0f647de1707 100644 (file)
--- a/shell.c~
+++ b/shell.c~
@@ -892,6 +892,9 @@ void
 exit_shell (s)
      int s;
 {
+  fflush (stdout);             /* XXX */
+  fflush (stderr);
+
   /* Do trap[0] if defined.  Allow it to override the exit status
      passed to us. */
   if (signal_is_trapped (0))
@@ -1710,8 +1713,10 @@ shell_initialize ()
      privileged or restricted mode or if the shell is running setuid. */
 #if defined (RESTRICTED_SHELL)
   initialize_shell_options (privileged_mode||restricted||running_setuid);
+  initialize_bashopts (privileged_mode||restricted||running_setuid);
 #else
   initialize_shell_options (privileged_mode||running_setuid);
+  initialize_bashopts (privileged_mode||running_setuid);
 #endif
 }
 
@@ -1790,12 +1795,12 @@ show_shell_usage (fp, extra)
       set_opts = savestring (shell_builtins[i].short_doc);
   if (set_opts)
     {
-      s = xstrchr (set_opts, '[');
+      s = strchr (set_opts, '[');
       if (s == 0)
        s = set_opts;
       while (*++s == '-')
        ;
-      t = xstrchr (s, ']');
+      t = strchr (s, ']');
       if (t)
        *t = '\0';
       fprintf (fp, _("\t-%s or -o option\n"), s);
diff --git a/shell.h b/shell.h
index 57f52888d0b96f1214615fde5c2db6fe98f6b43b..5eb0caa4a89490ed63eb650862a9abc1cca7377d 100644 (file)
--- a/shell.h
+++ b/shell.h
@@ -91,6 +91,7 @@ extern int debugging_mode;
 extern int executing, login_shell;
 extern int interactive, interactive_shell;
 extern int startup_state;
+extern int subshell_environment;
 extern int shell_compatibility_level;
 
 /* Structure to pass around that holds a bitmap of file descriptors
diff --git a/shell.h~ b/shell.h~
new file mode 100644 (file)
index 0000000..57f5288
--- /dev/null
+++ b/shell.h~
@@ -0,0 +1,166 @@
+/* shell.h -- The data structures used by the shell */
+
+/* Copyright (C) 1993-2009 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/>.
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "bashjmp.h"
+
+#include "command.h"
+#include "syntax.h"
+#include "general.h"
+#include "error.h"
+#include "variables.h"
+#include "arrayfunc.h"
+#include "quit.h"
+#include "maxpath.h"
+#include "unwind_prot.h"
+#include "dispose_cmd.h"
+#include "make_cmd.h"
+#include "ocache.h"
+#include "subst.h"
+#include "sig.h"
+#include "pathnames.h"
+#include "externs.h"
+
+extern int EOF_Reached;
+
+#define NO_PIPE -1
+#define REDIRECT_BOTH -2
+
+#define NO_VARIABLE -1
+
+/* Values that can be returned by execute_command (). */
+#define EXECUTION_FAILURE 1
+#define EXECUTION_SUCCESS 0
+
+/* Usage messages by builtins result in a return status of 2. */
+#define EX_BADUSAGE    2
+
+/* Special exit statuses used by the shell, internally and externally. */
+#define EX_RETRYFAIL   124
+#define EX_WEXPCOMSUB  125
+#define EX_BINARY_FILE 126
+#define EX_NOEXEC      126
+#define EX_NOINPUT     126
+#define EX_NOTFOUND    127
+
+#define EX_SHERRBASE   256     /* all special error values are > this. */
+
+#define EX_BADSYNTAX   257     /* shell syntax error */
+#define EX_USAGE       258     /* syntax error in usage */
+#define EX_REDIRFAIL   259     /* redirection failed */
+#define EX_BADASSIGN   260     /* variable assignment error */
+#define EX_EXPFAIL     261     /* word expansion failed */
+
+/* Flag values that control parameter pattern substitution. */
+#define MATCH_ANY      0x000
+#define MATCH_BEG      0x001
+#define MATCH_END      0x002
+
+#define MATCH_TYPEMASK 0x003
+
+#define MATCH_GLOBREP  0x010
+#define MATCH_QUOTED   0x020
+#define MATCH_STARSUB  0x040
+
+/* Some needed external declarations. */
+extern char **shell_environment;
+extern WORD_LIST *rest_of_args;
+
+/* Generalized global variables. */
+extern int debugging_mode;
+extern int executing, login_shell;
+extern int interactive, interactive_shell;
+extern int startup_state;
+extern int shell_compatibility_level;
+
+/* Structure to pass around that holds a bitmap of file descriptors
+   to close, and the size of that structure.  Used in execute_cmd.c. */
+struct fd_bitmap {
+  int size;
+  char *bitmap;
+};
+
+#define FD_BITMAP_SIZE 32
+
+#define CTLESC '\001'
+#define CTLNUL '\177'
+
+/* Information about the current user. */
+struct user_info {
+  uid_t uid, euid;
+  gid_t gid, egid;
+  char *user_name;
+  char *shell;         /* shell from the password file */
+  char *home_dir;
+};
+
+extern struct user_info current_user;
+
+/* Force gcc to not clobber X on a longjmp().  Old versions of gcc mangle
+   this badly. */
+#if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ > 8)
+#  define USE_VAR(x)   ((void) &(x))
+#else
+#  define USE_VAR(x)
+#endif
+
+/* Structure in which to save partial parsing state when doing things like
+   PROMPT_COMMAND and bash_execute_unix_command execution. */
+
+typedef struct _sh_parser_state_t {
+
+  /* parsing state */
+  int parser_state;
+  int *token_state;
+
+  /* input line state -- line number saved elsewhere */
+  int input_line_terminator;
+  int eof_encountered;
+
+#if defined (HANDLE_MULTIBYTE)
+  /* Nothing right now for multibyte state, but might want something later. */
+#endif
+
+  /* history state affecting or modified by the parser */
+  int current_command_line_count;
+#if defined (HISTORY)
+  int remember_on_history;
+  int history_expansion_inhibited;
+#endif
+
+  /* execution state possibly modified by the parser */
+  int last_command_exit_value;
+#if defined (ARRAY_VARS)
+  ARRAY *pipestatus;
+#endif
+  sh_builtin_func_t *last_shell_builtin, *this_shell_builtin;
+
+  /* flags state affecting the parser */
+  int expand_aliases;
+  int echo_input_at_read;
+  
+} sh_parser_state_t;
+
+/* Let's try declaring these here. */
+extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *));
+extern void restore_parser_state __P((sh_parser_state_t *));
diff --git a/sig.c b/sig.c
index 625ce0dd596ac3adfdd9f10e89ca57d6ba50a0f7..a217b8947cd9300411aec74fcbbe4928f0b0090e 100644 (file)
--- a/sig.c
+++ b/sig.c
@@ -526,7 +526,7 @@ termsig_handler (sig)
 #endif /* HISTORY */
 
 #if defined (JOB_CONTROL)
-  if (interactive && sig == SIGHUP)
+  if (sig == SIGHUP && (interactive || (subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB))))
     hangup_all_jobs ();
   end_job_control ();
 #endif /* JOB_CONTROL */
diff --git a/sig.c~ b/sig.c~
index d2717cbe849af238bc2b15ad5ee78558cdfcffa7..625ce0dd596ac3adfdd9f10e89ca57d6ba50a0f7 100644 (file)
--- a/sig.c~
+++ b/sig.c~
@@ -450,7 +450,44 @@ termsig_sighandler (sig)
 {
   /* If we get called twice with the same signal before handling it,
      terminate right away. */
-  if (sig == terminating_signal)
+  if (
+#ifdef SIGHUP
+    sig != SIGHUP &&
+#endif
+#ifdef SIGINT
+    sig != SIGINT &&
+#endif
+#ifdef SIGDANGER
+    sig != SIGDANGER &&
+#endif
+#ifdef SIGPIPE
+    sig != SIGPIPE &&
+#endif
+#ifdef SIGALRM
+    sig != SIGALRM &&
+#endif
+#ifdef SIGTERM
+    sig != SIGTERM &&
+#endif
+#ifdef SIGXCPU
+    sig != SIGXCPU &&
+#endif
+#ifdef SIGXFSZ
+    sig != SIGXFSZ &&
+#endif
+#ifdef SIGVTALRM
+    sig != SIGVTALRM &&
+#endif
+#ifdef SIGLOST
+    sig != SIGLOST &&
+#endif
+#ifdef SIGUSR1
+    sig != SIGUSR1 &&
+#endif
+#ifdef SIGUSR2
+   sig != SIGUSR2 &&
+#endif
+   sig == terminating_signal)
     terminate_immediately = 1;
 
   terminating_signal = sig;
index e0179df105b095a90fa0af94275f77bd24e3edcc..ac3dcb2324e58ee03ff1cc49496572f7489721dd 100644 (file)
@@ -44,6 +44,8 @@
 #include "bashansi.h"
 #include "bashintl.h"
 
+#define NEED_XTRACE_SET_DECL
+
 #include "shell.h"
 #include "flags.h"
 #include "execute_cmd.h"
@@ -4083,6 +4085,8 @@ struct name_and_function {
 };
 
 static struct name_and_function special_vars[] = {
+  { "BASH_XTRACEFD", sv_xtracefd },
+
 #if defined (READLINE)
 #  if defined (STRICT_POSIX)
   { "COLUMNS", sv_winsize },
@@ -4634,3 +4638,36 @@ set_pipestatus_from_exit (s)
   set_pipestatus_array (v, 1);
 #endif
 }
+
+void
+sv_xtracefd (name)
+     char *name;
+{
+  SHELL_VAR *v;
+  char *t, *e;
+  int fd;
+  FILE *fp;
+
+  v = find_variable (name);
+  if (v == 0)
+    {
+      xtrace_reset ();
+      return;
+    }
+
+  t = value_cell (v);
+  if (t == 0 || *t == 0)
+    xtrace_reset ();
+  else
+    {
+      fd = (int)strtol (t, &e, 10);
+      if (e != t && *e == '\0' && sh_validfd (fd))
+       {
+         fp = fdopen (fd, "w");
+         if (fp == 0)
+           internal_error ("%s: %s: cannot open as FILE", name, value_cell (v));
+       }
+      else
+       internal_error ("%s: %s: invalid value for trace file descriptor", name, value_cell (v));
+    }
+}
index 1d1fa74727341e01360aa8d8bcd952e82283510d..1223b058f52075795b56e1c37a42d52ccf4fd96e 100644 (file)
@@ -44,6 +44,8 @@
 #include "bashansi.h"
 #include "bashintl.h"
 
+#define NEED_XTRACE_SET_DECL
+
 #include "shell.h"
 #include "flags.h"
 #include "execute_cmd.h"
@@ -4083,6 +4085,8 @@ struct name_and_function {
 };
 
 static struct name_and_function special_vars[] = {
+  { "BASH_XTRACEFD", sv_xtracefd },
+
 #if defined (READLINE)
 #  if defined (STRICT_POSIX)
   { "COLUMNS", sv_winsize },
@@ -4304,12 +4308,6 @@ sv_hostfile (name)
     clear_hostname_list ();
   else
     hostname_list_initialized = 0;
-
-#if 0
-#if defined (PROGRAMMABLE_COMPLETION)
-  set_itemlist_dirty (&it_hostnames);
-#endif
-#endif
 }
 
 #if defined (STRICT_POSIX)
@@ -4640,3 +4638,17 @@ set_pipestatus_from_exit (s)
   set_pipestatus_array (v, 1);
 #endif
 }
+
+void
+sv_xtracefd (name)
+     char *name;
+{
+  SHELL_VAR *v;
+
+  v = find_variable (name);
+  if (v == 0)
+    xtrace_reset ();
+  else
+    {
+    }
+}
index dbc81fbeab1468e4d646ba828c331b6f1f05f77d..ec1bfdcf12dfd3be47591608707798bdc87e5d23 100644 (file)
@@ -356,6 +356,7 @@ extern void sv_strict_posix __P((char *));
 extern void sv_optind __P((char *));
 extern void sv_opterr __P((char *));
 extern void sv_locale __P((char *));
+extern void sv_xtracefd __P((char *));
 
 #if defined (READLINE)
 extern void sv_comp_wordbreaks __P((char *));
diff --git a/variables.h~ b/variables.h~
new file mode 100644 (file)
index 0000000..dbc81fb
--- /dev/null
@@ -0,0 +1,385 @@
+/* variables.h -- data structures for shell variables. */
+
+/* Copyright (C) 1987-2009 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/>.
+*/
+
+#if !defined (_VARIABLES_H_)
+#define _VARIABLES_H_
+
+#include "stdc.h"
+#include "array.h"
+#include "assoc.h"
+
+/* Shell variables and functions are stored in hash tables. */
+#include "hashlib.h"
+
+#include "conftypes.h"
+
+/* A variable context. */
+typedef struct var_context {
+  char *name;          /* empty or NULL means global context */
+  int scope;           /* 0 means global context */
+  int flags;
+  struct var_context *up;      /* previous function calls */
+  struct var_context *down;    /* down towards global context */
+  HASH_TABLE *table;           /* variables at this scope */
+} VAR_CONTEXT;
+
+/* Flags for var_context->flags */
+#define VC_HASLOCAL    0x01
+#define VC_HASTMPVAR   0x02
+#define VC_FUNCENV     0x04    /* also function if name != NULL */
+#define VC_BLTNENV     0x08    /* builtin_env */
+#define VC_TEMPENV     0x10    /* temporary_env */
+
+#define VC_TEMPFLAGS   (VC_FUNCENV|VC_BLTNENV|VC_TEMPENV)
+
+/* Accessing macros */
+#define vc_isfuncenv(vc)       (((vc)->flags & VC_FUNCENV) != 0)
+#define vc_isbltnenv(vc)       (((vc)->flags & VC_BLTNENV) != 0)
+#define vc_istempenv(vc)       (((vc)->flags & (VC_TEMPFLAGS)) == VC_TEMPENV)
+
+#define vc_istempscope(vc)     (((vc)->flags & (VC_TEMPENV|VC_BLTNENV)) != 0)
+
+#define vc_haslocals(vc)       (((vc)->flags & VC_HASLOCAL) != 0)
+#define vc_hastmpvars(vc)      (((vc)->flags & VC_HASTMPVAR) != 0)
+
+/* What a shell variable looks like. */
+
+typedef struct variable *sh_var_value_func_t __P((struct variable *));
+typedef struct variable *sh_var_assign_func_t __P((struct variable *, char *, arrayind_t, char *));
+
+/* For the future */
+union _value {
+  char *s;                     /* string value */
+  intmax_t i;                  /* int value */
+  COMMAND *f;                  /* function */
+  ARRAY *a;                    /* array */
+  HASH_TABLE *h;               /* associative array */
+  double d;                    /* floating point number */
+#if defined (HAVE_LONG_DOUBLE)
+  long double ld;              /* long double */
+#endif
+  struct variable *v;          /* possible indirect variable use */
+  void *opaque;                        /* opaque data for future use */
+};
+
+typedef struct variable {
+  char *name;                  /* Symbol that the user types. */
+  char *value;                 /* Value that is returned. */
+  char *exportstr;             /* String for the environment. */
+  sh_var_value_func_t *dynamic_value;  /* Function called to return a `dynamic'
+                                  value for a variable, like $SECONDS
+                                  or $RANDOM. */
+  sh_var_assign_func_t *assign_func; /* Function called when this `special
+                                  variable' is assigned a value in
+                                  bind_variable. */
+  int attributes;              /* export, readonly, array, invisible... */
+  int context;                 /* Which context this variable belongs to. */
+} SHELL_VAR;
+
+typedef struct _vlist {
+  SHELL_VAR **list;
+  int list_size;       /* allocated size */
+  int list_len;                /* current number of entries */
+} VARLIST;
+
+/* The various attributes that a given variable can have. */
+/* First, the user-visible attributes */
+#define att_exported   0x0000001       /* export to environment */
+#define att_readonly   0x0000002       /* cannot change */
+#define att_array      0x0000004       /* value is an array */
+#define att_function   0x0000008       /* value is a function */
+#define att_integer    0x0000010       /* internal representation is int */
+#define att_local      0x0000020       /* variable is local to a function */
+#define att_assoc      0x0000040       /* variable is an associative array */
+#define att_trace      0x0000080       /* function is traced with DEBUG trap */
+#define att_uppercase  0x0000100       /* word converted to uppercase on assignment */
+#define att_lowercase  0x0000200       /* word converted to lowercase on assignment */
+#define att_capcase    0x0000400       /* word capitalized on assignment */
+
+#define user_attrs     (att_exported|att_readonly|att_integer|att_local|att_trace|att_uppercase|att_lowercase|att_capcase)
+
+#define attmask_user   0x0000fff
+
+/* Internal attributes used for bookkeeping */
+#define att_invisible  0x0001000       /* cannot see */
+#define att_nounset    0x0002000       /* cannot unset */
+#define att_noassign   0x0004000       /* assignment not allowed */
+#define att_imported   0x0008000       /* came from environment */
+#define att_special    0x0010000       /* requires special handling */
+#define att_nofree     0x0020000       /* do not free value on unset */
+
+#define        attmask_int     0x00ff000
+
+/* Internal attributes used for variable scoping. */
+#define att_tempvar    0x0100000       /* variable came from the temp environment */
+#define att_propagate  0x0200000       /* propagate to previous scope */
+
+#define attmask_scope  0x0f00000
+
+#define exported_p(var)                ((((var)->attributes) & (att_exported)))
+#define readonly_p(var)                ((((var)->attributes) & (att_readonly)))
+#define array_p(var)           ((((var)->attributes) & (att_array)))
+#define function_p(var)                ((((var)->attributes) & (att_function)))
+#define integer_p(var)         ((((var)->attributes) & (att_integer)))
+#define local_p(var)           ((((var)->attributes) & (att_local)))
+#define assoc_p(var)           ((((var)->attributes) & (att_assoc)))
+#define trace_p(var)           ((((var)->attributes) & (att_trace)))
+#define uppercase_p(var)       ((((var)->attributes) & (att_uppercase)))
+#define lowercase_p(var)       ((((var)->attributes) & (att_lowercase)))
+#define capcase_p(var)         ((((var)->attributes) & (att_capcase)))
+
+#define invisible_p(var)       ((((var)->attributes) & (att_invisible)))
+#define non_unsettable_p(var)  ((((var)->attributes) & (att_nounset)))
+#define noassign_p(var)                ((((var)->attributes) & (att_noassign)))
+#define imported_p(var)                ((((var)->attributes) & (att_imported)))
+#define specialvar_p(var)      ((((var)->attributes) & (att_special)))
+#define nofree_p(var)          ((((var)->attributes) & (att_nofree)))
+
+#define tempvar_p(var)         ((((var)->attributes) & (att_tempvar)))
+
+/* Acessing variable values: rvalues */
+#define value_cell(var)                ((var)->value)
+#define function_cell(var)     (COMMAND *)((var)->value)
+#define array_cell(var)                (ARRAY *)((var)->value)
+#define assoc_cell(var)                (HASH_TABLE *)((var)->value)
+
+#define var_isnull(var)                ((var)->value == 0)
+#define var_isset(var)         ((var)->value != 0)
+
+/* Assigning variable values: lvalues */
+#define var_setvalue(var, str) ((var)->value = (str))
+#define var_setfunc(var, func) ((var)->value = (char *)(func))
+#define var_setarray(var, arr) ((var)->value = (char *)(arr))
+#define var_setassoc(var, arr) ((var)->value = (char *)(arr))
+
+/* Make VAR be auto-exported. */
+#define set_auto_export(var) \
+  do { (var)->attributes |= att_exported; array_needs_making = 1; } while (0)
+
+#define SETVARATTR(var, attr, undo) \
+       ((undo == 0) ? ((var)->attributes |= (attr)) \
+                    : ((var)->attributes &= ~(attr)))
+
+#define VSETATTR(var, attr)    ((var)->attributes |= (attr))
+#define VUNSETATTR(var, attr)  ((var)->attributes &= ~(attr))
+
+#define VGETFLAGS(var)         ((var)->attributes)
+
+#define VSETFLAGS(var, flags)  ((var)->attributes = (flags))
+#define VCLRFLAGS(var)         ((var)->attributes = 0)
+
+/* Macros to perform various operations on `exportstr' member of a SHELL_VAR. */
+#define CLEAR_EXPORTSTR(var)   (var)->exportstr = (char *)NULL
+#define COPY_EXPORTSTR(var)    ((var)->exportstr) ? savestring ((var)->exportstr) : (char *)NULL
+#define SET_EXPORTSTR(var, value)  (var)->exportstr = (value)
+#define SAVE_EXPORTSTR(var, value) (var)->exportstr = (value) ? savestring (value) : (char *)NULL
+
+#define FREE_EXPORTSTR(var) \
+       do { if ((var)->exportstr) free ((var)->exportstr); } while (0)
+
+#define CACHE_IMPORTSTR(var, value) \
+       (var)->exportstr = savestring (value)
+
+#define INVALIDATE_EXPORTSTR(var) \
+       do { \
+         if ((var)->exportstr) \
+           { \
+             free ((var)->exportstr); \
+             (var)->exportstr = (char *)NULL; \
+           } \
+       } while (0)
+       
+/* Stuff for hacking variables. */
+typedef int sh_var_map_func_t __P((SHELL_VAR *));
+
+/* Where we keep the variables and functions */
+extern VAR_CONTEXT *global_variables;
+extern VAR_CONTEXT *shell_variables;
+
+extern HASH_TABLE *shell_functions;
+extern HASH_TABLE *temporary_env;
+
+extern int variable_context;
+extern char *dollar_vars[];
+extern char **export_env;
+
+extern void initialize_shell_variables __P((char **, int));
+extern SHELL_VAR *set_if_not __P((char *, char *));
+
+extern void sh_set_lines_and_columns __P((int, int));
+extern void set_pwd __P((void));
+extern void set_ppid __P((void));
+extern void make_funcname_visible __P((int));
+
+extern SHELL_VAR *var_lookup __P((const char *, VAR_CONTEXT *));
+
+extern SHELL_VAR *find_function __P((const char *));
+extern FUNCTION_DEF *find_function_def __P((const char *));
+extern SHELL_VAR *find_variable __P((const char *));
+extern SHELL_VAR *find_variable_internal __P((const char *, int));
+extern SHELL_VAR *find_tempenv_variable __P((const char *));
+extern SHELL_VAR *copy_variable __P((SHELL_VAR *));
+extern SHELL_VAR *make_local_variable __P((const char *));
+extern SHELL_VAR *bind_variable __P((const char *, char *, int));
+extern SHELL_VAR *bind_function __P((const char *, COMMAND *));
+
+extern void bind_function_def __P((const char *, FUNCTION_DEF *));
+
+extern SHELL_VAR **map_over __P((sh_var_map_func_t *, VAR_CONTEXT *));
+SHELL_VAR **map_over_funcs __P((sh_var_map_func_t *));
+     
+extern SHELL_VAR **all_shell_variables __P((void));
+extern SHELL_VAR **all_shell_functions __P((void));
+extern SHELL_VAR **all_visible_variables __P((void));
+extern SHELL_VAR **all_visible_functions __P((void));
+extern SHELL_VAR **all_exported_variables __P((void));
+extern SHELL_VAR **local_exported_variables __P((void));
+extern SHELL_VAR **all_local_variables __P((void));
+#if defined (ARRAY_VARS)
+extern SHELL_VAR **all_array_variables __P((void));
+#endif
+extern char **all_variables_matching_prefix __P((const char *));
+
+extern char **make_var_array __P((HASH_TABLE *));
+extern char **add_or_supercede_exported_var __P((char *, int));
+
+extern char *get_variable_value __P((SHELL_VAR *));
+extern char *get_string_value __P((const char *));
+extern char *sh_get_env_value __P((const char *));
+extern char *make_variable_value __P((SHELL_VAR *, char *, int));
+
+extern SHELL_VAR *bind_variable_value __P((SHELL_VAR *, char *, int));
+extern SHELL_VAR *bind_int_variable __P((char *, char *));
+extern SHELL_VAR *bind_var_to_int __P((char *, intmax_t));
+
+extern int assign_in_env __P((WORD_DESC *));
+
+extern int unbind_variable __P((const char *));
+extern int unbind_func __P((const char *));
+extern int unbind_function_def __P((const char *));
+extern int makunbound __P((const char *, VAR_CONTEXT *));
+extern int kill_local_variable __P((const char *));
+extern void delete_all_variables __P((HASH_TABLE *));
+extern void delete_all_contexts __P((VAR_CONTEXT *));
+
+extern VAR_CONTEXT *new_var_context __P((char *, int));
+extern void dispose_var_context __P((VAR_CONTEXT *));
+extern VAR_CONTEXT *push_var_context __P((char *, int, HASH_TABLE *));
+extern void pop_var_context __P((void));
+extern VAR_CONTEXT *push_scope __P((int, HASH_TABLE *));
+extern void pop_scope __P((int));
+
+extern void push_context __P((char *, int, HASH_TABLE *));
+extern void pop_context __P((void));
+extern void push_dollar_vars __P((void));
+extern void pop_dollar_vars __P((void));
+extern void dispose_saved_dollar_vars __P((void));
+
+extern void push_args __P((WORD_LIST *));
+extern void pop_args __P((void));
+
+extern void adjust_shell_level __P((int));
+extern void non_unsettable __P((char *));
+extern void dispose_variable __P((SHELL_VAR *));
+extern void dispose_used_env_vars __P((void));
+extern void dispose_function_env __P((void));
+extern void dispose_builtin_env __P((void));
+extern void merge_temporary_env __P((void));
+extern void merge_builtin_env __P((void));
+extern void kill_all_local_variables __P((void));
+
+extern void set_var_read_only __P((char *));
+extern void set_func_read_only __P((const char *));
+extern void set_var_auto_export __P((char *));
+extern void set_func_auto_export __P((const char *));
+
+extern void sort_variables __P((SHELL_VAR **));
+
+extern void maybe_make_export_env __P((void));
+extern void update_export_env_inplace __P((char *, int, char *));
+extern void put_command_name_into_env __P((char *));
+extern void put_gnu_argv_flags_into_env __P((intmax_t, char *));
+
+extern void print_var_list __P((SHELL_VAR **));
+extern void print_func_list __P((SHELL_VAR **));
+extern void print_assignment __P((SHELL_VAR *));
+extern void print_var_value __P((SHELL_VAR *, int));
+extern void print_var_function __P((SHELL_VAR *));
+
+#if defined (ARRAY_VARS)
+extern SHELL_VAR *make_new_array_variable __P((char *));
+extern SHELL_VAR *make_local_array_variable __P((char *));
+
+extern SHELL_VAR *make_new_assoc_variable __P((char *));
+extern SHELL_VAR *make_local_assoc_variable __P((char *));
+
+extern void set_pipestatus_array __P((int *, int));
+#endif
+
+extern void set_pipestatus_from_exit __P((int));
+
+/* The variable in NAME has just had its state changed.  Check to see if it
+   is one of the special ones where something special happens. */
+extern void stupidly_hack_special_variables __P((char *));
+
+/* Reinitialize some special variables that have external effects upon unset
+   when the shell reinitializes itself. */
+extern void reinit_special_variables __P((void));
+
+extern int get_random_number __P((void));
+
+/* The `special variable' functions that get called when a particular
+   variable is set. */
+extern void sv_ifs __P((char *));
+extern void sv_path __P((char *));
+extern void sv_mail __P((char *));
+extern void sv_globignore __P((char *));
+extern void sv_ignoreeof __P((char *));
+extern void sv_strict_posix __P((char *));
+extern void sv_optind __P((char *));
+extern void sv_opterr __P((char *));
+extern void sv_locale __P((char *));
+
+#if defined (READLINE)
+extern void sv_comp_wordbreaks __P((char *));
+extern void sv_terminal __P((char *));
+extern void sv_hostfile __P((char *));
+extern void sv_winsize __P((char *));
+#endif
+
+#if defined (__CYGWIN__)
+extern void sv_home __P((char *));
+#endif
+
+#if defined (HISTORY)
+extern void sv_histsize __P((char *));
+extern void sv_histignore __P((char *));
+extern void sv_history_control __P((char *));
+#  if defined (BANG_HISTORY)
+extern void sv_histchars __P((char *));
+#  endif
+extern void sv_histtimefmt __P((char *));
+#endif /* HISTORY */
+
+#if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
+extern void sv_tz __P((char *));
+#endif
+
+#endif /* !_VARIABLES_H_ */