]> git.pld-linux.org Git - packages/dash.git/commitdiff
- up to 0.5.5.1; drop debian patch auto/th/dash-0_5_5_1-1
authorBartłomiej Zimoń <cactus@pld-linux.org>
Sun, 30 Aug 2009 13:34:12 +0000 (13:34 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    dash-debian.patch -> 1.2
    dash.spec -> 1.10

dash-debian.patch [deleted file]
dash.spec

diff --git a/dash-debian.patch b/dash-debian.patch
deleted file mode 100644 (file)
index 619f2c0..0000000
+++ /dev/null
@@ -1,13625 +0,0 @@
-From c5ac5b73ace64323a75423e7c1b7b2a0be71a156 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 22 Sep 2007 20:49:42 +0800
-Subject: [PATCH] [SHELL] Restore foreground process group on exit
-
-On Thu, Jun 07, 2007 at 12:20:27PM +0200, Denis Vlasenko wrote:
->
-> When I start dash under Midnight Commander and then type 'exit', dash
-> exits all right, but then MC is sent to background. It happens because
-> dash does not restore current process group on exit.
->
-> Attached patch fixes this. It also fixes another bug: setjobctl(0)
-> must ignore tcsetpgrp errors, because there are cases when tty is
-> destroyed under dash.
->
-> Patch is run-tested.
-
-I've fixed this slightly differently so that we don't need the
-xtcsetpgrp change.
----
- ChangeLog  |    4 ++++
- src/trap.c |    8 +++++++-
- 2 files changed, 11 insertions(+), 1 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 6ce16c6..295fa66 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-21  Denis Vlasenko <vda.linux@googlemail.com>
-+
-+      * Restore foreground process group on exit.
-+
- 2007-07-12  Herbert Xu <herbert@gondor.apana.org.au>
-       * Release 0.5.4.
-diff --git a/src/trap.c b/src/trap.c
-index eae6186..c386db7 100644
---- a/src/trap.c
-+++ b/src/trap.c
-@@ -357,7 +357,7 @@ exitshell(void)
-       TRACE(("pid %d, exitshell(%d)\n", getpid(), status));
-       if (setjmp(loc.loc)) {
-               if (exception == EXEXIT)
--                      _exit(exitstatus);
-+                      status = exitstatus;
-               goto out;
-       }
-       handler = &loc;
-@@ -367,6 +367,12 @@ exitshell(void)
-       }
-       flushall();
- out:
-+      /*
-+       * Disable job control so that whoever had the foreground before we
-+       * started can get it back.
-+       */
-+      if (likely(!setjmp(loc.loc)))
-+              setjobctl(0);
-       _exit(status);
-       /* NOTREACHED */
- }
--- 
-1.5.5
-
-From 553f85288bb1cdacfa482f351af26cc924ccb386 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 22 Sep 2007 20:50:21 +0800
-Subject: [PATCH] [SHELL] Move flushall to the point just before _exit
-
-We need to flush at the very end in case we've generated any errors
-before that.  The flushall call cannot perform a longjmp so it's
-safe there.
----
- ChangeLog  |    4 ++++
- src/trap.c |    2 +-
- 2 files changed, 5 insertions(+), 1 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 295fa66..ba974ca 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-22  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Move flushall to the point just before _exit.
-+
- 2007-09-21  Denis Vlasenko <vda.linux@googlemail.com>
-       * Restore foreground process group on exit.
-diff --git a/src/trap.c b/src/trap.c
-index c386db7..58cd0cc 100644
---- a/src/trap.c
-+++ b/src/trap.c
-@@ -365,7 +365,6 @@ exitshell(void)
-               trap[0] = NULL;
-               evalstring(p, 0);
-       }
--      flushall();
- out:
-       /*
-        * Disable job control so that whoever had the foreground before we
-@@ -373,6 +372,7 @@ out:
-        */
-       if (likely(!setjmp(loc.loc)))
-               setjobctl(0);
-+      flushall();
-       _exit(status);
-       /* NOTREACHED */
- }
--- 
-1.5.5
-
-From cd8b7aebb095f82a574b2863bd82f3333d215042 Mon Sep 17 00:00:00 2001
-From: Oleg Verych <olecom@flower.upol.cz>
-Date: Sat, 22 Sep 2007 21:08:32 +0800
-Subject: [PATCH] [BUILTIN] test: White space fixes
-
-Some trailing whitespace was killed or tabified.
----
- ChangeLog        |    4 ++++
- src/bltin/test.c |   14 +++++++-------
- 2 files changed, 11 insertions(+), 7 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index ba974ca..5804248 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-+
-+      * White space fixes for test(1).
-+
- 2007-09-22  Herbert Xu <herbert@gondor.apana.org.au>
-       * Move flushall to the point just before _exit.
-diff --git a/src/bltin/test.c b/src/bltin/test.c
-index f16c819..fd24fae 100644
---- a/src/bltin/test.c
-+++ b/src/bltin/test.c
-@@ -250,7 +250,7 @@ primary(enum token n)
-       if (t_lex(t_wp[1]), t_wp_op && t_wp_op->op_type == BINOP) {
-               return binop();
--      }         
-+      }
-       return strlen(*t_wp) > 0;
- }
-@@ -267,7 +267,7 @@ binop(void)
-       if ((opnd2 = *++t_wp) == (char *)0)
-               syntax(op->op_text, "argument expected");
--              
-+
-       switch (op->op_num) {
-       default:
- #ifdef DEBUG
-@@ -389,8 +389,8 @@ isoperand(void)
-               return 0;
-       while (op->op_text) {
-               if (strcmp(s, op->op_text) == 0)
--                      return op->op_type == BINOP &&
--                          (t[0] != ')' || t[1] != '\0'); 
-+                      return op->op_type == BINOP &&
-+                          (t[0] != ')' || t[1] != '\0');
-               op++;
-       }
-       return 0;
-@@ -407,13 +407,13 @@ getn(const char *s)
-       r = strtol(s, &p, 10);
-       if (errno != 0)
--            error("%s: out of range", s);
-+              error("%s: out of range", s);
-       while (isspace((unsigned char)*p))
-             p++;
--      
-+
-       if (*p)
--            error("%s: bad number", s);
-+              error("%s: bad number", s);
-       return (int) r;
- }
--- 
-1.5.5
-
-From cd212af1d362b0466f1f2767252424446c0fbaa5 Mon Sep 17 00:00:00 2001
-From: Oleg Verych <olecom@flower.upol.cz>
-Date: Sat, 22 Sep 2007 21:19:37 +0800
-Subject: [PATCH] [BUILTIN] test: little size and speed optimizations
-
-* Speed up (libc=glibc):
-
-deen:debian/src/dash-0.5.3# echo $(((7853+8631+7529+9777+9161+7552)/6))
-8417,8250 # this patch
-deen:/mnt/work/debian/src/dash-0.5.3# echo $(((9553+7789+9450+9925+7595+9590)/6))
-8983 # short
-deen:debian/src/dash-0.5.3# echo $(( (9655+7853+9733+7826+9618+10053)/6 ))
-9123 # '[' ']'
-deen:debian/src/dash-0.5.3#
-
-deen:debian/src/dash-0.5.3# echo $(((9231+9423+9365+9650+8883+8291)/6))
-9140 # unpatched
-deen:debian/src/dash-0.5.3#
-
-* Size down:
-
-olecom@deen:/mnt/debian/src/dash-0.5.3$ size src/test.o # this patchset
-   text    data     bss     dec     hex filename
-   4142       0      16    4158    103e src/test.o
-
-olecom@deen:/mnt/debian/src/dash-0.5.3$ size src/test.o
-   text    data     bss     dec     hex filename
-   4209       0      16    4225    1081 src/test.o
-olecom@deen:/mnt/debian/src/dash-0.5.3$
----
- ChangeLog        |    1 +
- src/bltin/test.c |    4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 5804248..b22197f 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-       * White space fixes for test(1).
-+      * Use direct comparison instead of strcmp in test(1).
- 2007-09-22  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/bltin/test.c b/src/bltin/test.c
-index fd24fae..7d49569 100644
---- a/src/bltin/test.c
-+++ b/src/bltin/test.c
-@@ -157,8 +157,8 @@ testcmd(int argc, char **argv)
- {
-       int res;
--      if (strcmp(argv[0], "[") == 0) {
--              if (strcmp(argv[--argc], "]"))
-+      if (*argv[0] == '[') {
-+              if (*argv[--argc] != ']')
-                       error("missing ]");
-               argv[argc] = NULL;
-       }
--- 
-1.5.5
-
-From 9b568fedfdc4ec56e52ded4c3a1a135d24c8d75b Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 24 Sep 2007 16:17:20 +0800
-Subject: [PATCH] [EXPAND] Do not quote back slashes in parameter expansions outside quotes
-
-Test case:
-
-       a=/b/c/*
-       b=\\
-       echo ${a%$b*}
-
-Old result:
-
-       /b/c/*
-
-New result:
-
-       /b/c/
----
- ChangeLog      |    4 ++++
- src/expand.c   |    5 ++---
- src/mksyntax.c |    5 +++--
- src/parser.c   |    4 +++-
- 4 files changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index b22197f..dca08d5 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-24  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Do not quote back slashes in parameter expansions outside quotes.
-+
- 2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-       * White space fixes for test(1).
-diff --git a/src/expand.c b/src/expand.c
-index db67c7c..3956112 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -895,7 +895,7 @@ memtodest(const char *p, size_t len, const char *syntax, int quotes) {
-               int c = (signed char)*p++;
-               if (c) {
-                       if ((quotes & QUOTES_ESC) &&
--                          (syntax[c] == CCTL || syntax[c] == CBACK))
-+                          (syntax[c] == CCTL || syntax[c] == CDBACK))
-                               USTPUTC(CTLESC, q);
-               } else if (!(quotes & QUOTES_KEEPNUL))
-                       continue;
-@@ -1671,9 +1671,8 @@ _rmescapes(char *str, int flag)
-               }
-               if (*p == (char)CTLESC) {
-                       p++;
--                      if (notescaped && inquotes && *p != '/') {
-+                      if (notescaped && inquotes)
-                               *q++ = '\\';
--                      }
-               }
-               notescaped = globbing;
- copy:
-diff --git a/src/mksyntax.c b/src/mksyntax.c
-index 7a8a9ae..9ecbb45 100644
---- a/src/mksyntax.c
-+++ b/src/mksyntax.c
-@@ -53,6 +53,7 @@ struct synclass synclass[] = {
-       { "CWORD",      "character is nothing special" },
-       { "CNL",        "newline character" },
-       { "CBACK",      "a backslash character" },
-+      { "CDBACK",     "a backslash character in double quotes" },
-       { "CSQUOTE",    "single quote" },
-       { "CDQUOTE",    "double quote" },
-       { "CENDQUOTE",  "a terminating quote" },
-@@ -175,7 +176,7 @@ main(int argc, char **argv)
-       init();
-       fputs("\n/* syntax table used when in double quotes */\n", cfile);
-       add("\n", "CNL");
--      add("\\", "CBACK");
-+      add("\\", "CDBACK");
-       add("\"", "CENDQUOTE");
-       add("`", "CBQUOTE");
-       add("$", "CVAR");
-@@ -193,7 +194,7 @@ main(int argc, char **argv)
-       init();
-       fputs("\n/* syntax table used when in arithmetic */\n", cfile);
-       add("\n", "CNL");
--      add("\\", "CBACK");
-+      add("\\", "CDBACK");
-       add("`", "CBQUOTE");
-       add("$", "CVAR");
-       add("}", "CENDVAR");
-diff --git a/src/parser.c b/src/parser.c
-index 6faff17..279d49e 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -891,7 +891,9 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
-                                       USTPUTC(CTLESC, out);
-                               USTPUTC(c, out);
-                               break;
--                      case CBACK:     /* backslash */
-+                      /* backslash */
-+                      case CBACK:
-+                      case CDBACK:
-                               c = pgetc2();
-                               if (c == PEOF) {
-                                       USTPUTC(CTLESC, out);
--- 
-1.5.5
-
-From 82c20d9ca645ea33cbc500ad3da3b1c8d430322d Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 24 Sep 2007 16:22:25 +0800
-Subject: [PATCH] [EXPAND] Perform tilde expansion in all parameter expansion words
-
-Previously tilde expansion was not carried out for =?#% expansion words.
-This is contrary to the POSIX specification.
-
-Test case:
-
-       a=~root:~root
-       echo ${a#~root}
-
-Old result:
-
-       /root:/root
-
-New result:
-
-       :/root
----
- ChangeLog    |    1 +
- src/expand.c |    3 ++-
- 2 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index dca08d5..816f56d 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-09-24  Herbert Xu <herbert@gondor.apana.org.au>
-       * Do not quote back slashes in parameter expansions outside quotes.
-+      * Perform tilde expansion in all parameter expansion words.
- 2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-diff --git a/src/expand.c b/src/expand.c
-index 3956112..1443c14 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -683,7 +683,8 @@ subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varfla
-       char *(*scan)(char *, char *, char *, char *, int , int);
-       herefd = -1;
--      argstr(p, subtype != VSASSIGN && subtype != VSQUESTION ? EXP_CASE : 0);
-+      argstr(p, EXP_TILDE | (subtype != VSASSIGN && subtype != VSQUESTION ?
-+                             EXP_CASE : 0));
-       STPUTC('\0', expdest);
-       herefd = saveherefd;
-       argbackq = saveargbackq;
--- 
-1.5.5
-
-From 08ee0731cd65a502f34718c2ac11c266daeb4c5b Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 24 Sep 2007 21:53:49 +0800
-Subject: [PATCH] [PARSER] Remove superfluous arinest test in CENDQUOTE
-
-If arinest is set then the syntax must be ARISYNTAX.  As such CENDQUOTE can
-never occur while arinest is set so we don't need to test for it.
----
- ChangeLog    |    1 +
- src/parser.c |    5 ++---
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 816f56d..0a35741 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -2,6 +2,7 @@
-       * Do not quote back slashes in parameter expansions outside quotes.
-       * Perform tilde expansion in all parameter expansion words.
-+      * Remove superfluous arinest test in CENDQUOTE.
- 2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-diff --git a/src/parser.c b/src/parser.c
-index 279d49e..26c9046 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -932,10 +932,9 @@ quotemark:
-                               dblquote = 1;
-                               goto quotemark;
-                       case CENDQUOTE:
--                              if (eofmark != NULL && arinest == 0 &&
--                                  varnest == 0) {
-+                              if (eofmark && !varnest)
-                                       USTPUTC(c, out);
--                              } else {
-+                              else {
-                                       if (dqvarnest == 0) {
-                                               syntax = BASESYNTAX;
-                                               dblquote = 0;
--- 
-1.5.5
-
-From ede60fbf86edd87449585781df10e091ec420a1f Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 24 Sep 2007 21:59:39 +0800
-Subject: [PATCH] [PARSER] Remove superfluous arinest test for dqvarnest
-
-dqvarnest is only used to determine whether CENDQUOTE should terminate the
-double-quote syntax.  Since CENDQUOTE can never occur while arinest is set,
-we don't need to take arinest into account for dqvarnest.
----
- ChangeLog    |    1 +
- src/parser.c |    3 +--
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 0a35741..b311ad4 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -3,6 +3,7 @@
-       * Do not quote back slashes in parameter expansions outside quotes.
-       * Perform tilde expansion in all parameter expansion words.
-       * Remove superfluous arinest test in CENDQUOTE.
-+      * Remove superfluous arinest test for dqvarnest.
- 2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-diff --git a/src/parser.c b/src/parser.c
-index 26c9046..8fac57a 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1232,9 +1232,8 @@ badsub:                  synerror("Bad substitution");
-               *((char *)stackblock() + typeloc) = subtype | flags;
-               if (subtype != VSNORMAL) {
-                       varnest++;
--                      if (dblquote || arinest) {
-+                      if (dblquote)
-                               dqvarnest++;
--                      }
-               }
-       }
-       goto parsesub_return;
--- 
-1.5.5
-
-From b428e83766c7b9d0cb887f0dd582272c5e85a536 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 24 Sep 2007 22:11:59 +0800
-Subject: [PATCH] [PARSER] Remove superfluous dblquote settings when ending arith
-
-When an arithmetic expansion terminates and we restore the syntax to the
-previous one, we don't need to set dblquote because we never changed upon
-entering the arithmetic expansion.
----
- ChangeLog    |    1 +
- src/parser.c |    4 ----
- 2 files changed, 1 insertions(+), 4 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index b311ad4..e5987f9 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -4,6 +4,7 @@
-       * Perform tilde expansion in all parameter expansion words.
-       * Remove superfluous arinest test in CENDQUOTE.
-       * Remove superfluous arinest test for dqvarnest.
-+      * Remove superfluous dblquote settings when ending arith.
- 2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-diff --git a/src/parser.c b/src/parser.c
-index 8fac57a..791251d 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -970,10 +970,6 @@ quotemark:
-                                               if (--arinest == 0) {
-                                                       USTPUTC(CTLENDARI, out);
-                                                       syntax = prevsyntax;
--                                                      if (syntax == DQSYNTAX)
--                                                              dblquote = 1;
--                                                      else
--                                                              dblquote = 0;
-                                               } else
-                                                       USTPUTC(')', out);
-                                       } else {
--- 
-1.5.5
-
-From f28b0328dda170028c3070c69ef38cdd8d269932 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 24 Sep 2007 22:28:49 +0800
-Subject: [PATCH] [PARSER] Remove arithmetic expansion collapsing at parse time
-
-Collapsing arithmethc expansion is incorrect when the inner arithmetic
-expansion is a part of a parameter expansion.
-
-Test case:
-
-       unset a
-       echo $((3 + ${a:=$((4 + 5))}))
-       echo $a
-
-Old result:
-
-       (4 + 5)
-
-New result:
-
-       9
----
- ChangeLog    |    1 +
- src/parser.c |   22 +++++++---------------
- 2 files changed, 8 insertions(+), 15 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index e5987f9..7992485 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -5,6 +5,7 @@
-       * Remove superfluous arinest test in CENDQUOTE.
-       * Remove superfluous arinest test for dqvarnest.
-       * Remove superfluous dblquote settings when ending arith.
-+      * Remove arithmetic expansion collapsing at parse time.
- 2007-09-22  Oleg Verych <olecom@flower.upol.cz>
-diff --git a/src/parser.c b/src/parser.c
-index 791251d..e00fd4b 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -967,11 +967,9 @@ quotemark:
-                                       --parenlevel;
-                               } else {
-                                       if (pgetc() == ')') {
--                                              if (--arinest == 0) {
--                                                      USTPUTC(CTLENDARI, out);
-+                                              USTPUTC(CTLENDARI, out);
-+                                              if (!--arinest)
-                                                       syntax = prevsyntax;
--                                              } else
--                                                      USTPUTC(')', out);
-                                       } else {
-                                               /*
-                                                * unbalanced parens
-@@ -1373,18 +1371,12 @@ parsearith: {
-       if (++arinest == 1) {
-               prevsyntax = syntax;
-               syntax = ARISYNTAX;
--              USTPUTC(CTLARI, out);
--              if (dblquote)
--                      USTPUTC('"',out);
--              else
--                      USTPUTC(' ',out);
--      } else {
--              /*
--               * we collapse embedded arithmetic expansion to
--               * parenthesis, which should be equivalent
--               */
--              USTPUTC('(', out);
-       }
-+      USTPUTC(CTLARI, out);
-+      if (dblquote)
-+              USTPUTC('"',out);
-+      else
-+              USTPUTC(' ',out);
-       goto parsearith_return;
- }
--- 
-1.5.5
-
-From 7e9ee068665eda9591126d3015badf92d7d593f7 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Tue, 25 Sep 2007 10:54:13 +0800
-Subject: [PATCH] [EXPAND] Do not expand tilde in parameter expansion within quotes
-
-Previously code was added so that tilde expansion was carried out
-parameter expansions within double quotes.  This change was made
-with reference the behaviour of bash at the time.  Bash has since
-be fixed so that this behaviour no longer occurs which is in line
-with most other POSIX shells.
-
-So this patch removes that behaviour in dash as well.
-
-Test case:
-
-       unset a
-       echo "${a:-~root}"
-
-Old result:
-
-       /root
-
-New result:
-
-       ~root
----
- ChangeLog    |    4 ++++
- src/expand.c |   10 +++-------
- src/expand.h |    2 +-
- 3 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 7992485..dacc9b3 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-25  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Do not expand tilde in parameter expansion within quotes.
-+
- 2007-09-24  Herbert Xu <herbert@gondor.apana.org.au>
-       * Do not quote back slashes in parameter expansions outside quotes.
-diff --git a/src/expand.c b/src/expand.c
-index 1443c14..c9f09ff 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -278,7 +278,7 @@ argstr(char *p, int flag)
-       const char *reject = spclchars;
-       int c;
-       int quotes = flag & QUOTES_ESC;
--      int breakall = flag & EXP_WORD;
-+      int breakall = (flag & (EXP_WORD | EXP_QUOTED)) == EXP_WORD;
-       int inquotes;
-       size_t length;
-       int startloc;
-@@ -296,8 +296,6 @@ argstr(char *p, int flag)
-               flag &= ~EXP_TILDE;
- tilde:
-               q = p;
--              if (*q == (char)CTLESC && (flag & EXP_QWORD))
--                      q++;
-               if (*q == '~')
-                       p = exptilde(p, q, flag);
-       }
-@@ -780,10 +778,8 @@ again:
-       if (subtype == VSMINUS) {
- vsplus:
-               if (varlen < 0) {
--                      argstr(
--                              p, flag | EXP_TILDE |
--                                      (quoted ?  EXP_QWORD : EXP_WORD)
--                      );
-+                      argstr(p, flag | EXP_TILDE | EXP_WORD |
-+                                (quoted ? EXP_QUOTED : 0));
-                       goto end;
-               }
-               if (easy)
-diff --git a/src/expand.h b/src/expand.h
-index 6b7d607..be7ec6f 100644
---- a/src/expand.h
-+++ b/src/expand.h
-@@ -56,7 +56,7 @@ struct arglist {
- #define EXP_RECORD    0x20    /* need to record arguments for ifs breakup */
- #define EXP_VARTILDE2 0x40    /* expand tildes after colons only */
- #define EXP_WORD      0x80    /* expand word in parameter expansion */
--#define EXP_QWORD     0x100   /* expand word in quoted parameter expansion */
-+#define EXP_QUOTED    0x100   /* expand word in double quotes */
- union node;
--- 
-1.5.5
-
-From 9ba0b212900e642649b4ad354a00de763bf8303f Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Tue, 25 Sep 2007 22:29:00 +0800
-Subject: [PATCH] [EXPAND] Move parse-time quote flag detection to run-time
-
-Because the parser does not recursively parse parameter expansion with respect
-to quotes, we can't accurately determine quote status at parse time.  This
-patch works around this by moving the quote detection to run-time where we
-do interpret it recursively.
-
-Test case:
-
-       foo=\\
-       echo "<${foo#[\\]}>"
-
-Old result:
-
-       <\>
-
-New result:
-
-       <>
----
- ChangeLog      |    1 +
- src/eval.c     |    2 +-
- src/expand.c   |  110 +++++++++++++++++++++++++------------------------------
- src/expand.h   |    2 +-
- src/jobs.c     |   10 +-----
- src/mystring.c |    3 +-
- src/mystring.h |    2 +-
- src/parser.c   |   17 ++-------
- src/parser.h   |    3 --
- src/show.c     |    3 --
- 10 files changed, 60 insertions(+), 93 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index dacc9b3..d5c51bf 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-09-25  Herbert Xu <herbert@gondor.apana.org.au>
-       * Do not expand tilde in parameter expansion within quotes.
-+      * Move parse-time quote flag detection to run-time.
- 2007-09-24  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/eval.c b/src/eval.c
-index fed82d5..2aa8317 100644
---- a/src/eval.c
-+++ b/src/eval.c
-@@ -377,7 +377,7 @@ evalfor(union node *n, int flags)
-       setstackmark(&smark);
-       arglist.lastp = &arglist.list;
-       for (argp = n->nfor.args ; argp ; argp = argp->narg.next) {
--              expandarg(argp, &arglist, EXP_FULL | EXP_TILDE | EXP_RECORD);
-+              expandarg(argp, &arglist, EXP_FULL | EXP_TILDE);
-               /* XXX */
-               if (evalskip)
-                       goto out;
-diff --git a/src/expand.c b/src/expand.c
-index c9f09ff..8c6c7f9 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -82,12 +82,11 @@
-  */
- #define RMESCAPE_ALLOC        0x1     /* Allocate a new string */
- #define RMESCAPE_GLOB 0x2     /* Add backslashes for glob */
--#define RMESCAPE_QUOTED       0x4     /* Remove CTLESC unless in quotes */
- #define RMESCAPE_GROW 0x8     /* Grow strings instead of stalloc */
- #define RMESCAPE_HEAP 0x10    /* Malloc strings instead of stalloc */
- /* Add CTLESC when necessary. */
--#define QUOTES_ESC    (EXP_FULL | EXP_CASE)
-+#define QUOTES_ESC    (EXP_FULL | EXP_CASE | EXP_QPAT)
- /* Do not skip NUL characters. */
- #define QUOTES_KEEPNUL        EXP_TILDE
-@@ -116,7 +115,7 @@ static struct arglist exparg;
- STATIC void argstr(char *, int);
- STATIC char *exptilde(char *, char *, int);
--STATIC void expbackq(union node *, int, int);
-+STATIC void expbackq(union node *, int);
- STATIC const char *subevalvar(char *, char *, int, int, int, int, int);
- STATIC char *evalvar(char *, int);
- STATIC size_t strtodest(const char *, const char *, int);
-@@ -158,11 +157,8 @@ STATIC void varunset(const char *, const char *, const char *, int)
-  */
- STATIC inline char *
--preglob(const char *pattern, int quoted, int flag) {
-+preglob(const char *pattern, int flag) {
-       flag |= RMESCAPE_GLOB;
--      if (quoted) {
--              flag |= RMESCAPE_QUOTED;
--      }
-       return _rmescapes((char *)pattern, flag);
- }
-@@ -197,7 +193,7 @@ void
- expandhere(union node *arg, int fd)
- {
-       herefd = fd;
--      expandarg(arg, (struct arglist *)NULL, 0);
-+      expandarg(arg, (struct arglist *)NULL, EXP_QUOTED);
-       xwrite(fd, stackblock(), expdest - (char *)stackblock());
- }
-@@ -271,13 +267,11 @@ argstr(char *p, int flag)
-               CTLESC,
-               CTLVAR,
-               CTLBACKQ,
--              CTLBACKQ | CTLQUOTE,
-               CTLENDARI,
-               0
-       };
-       const char *reject = spclchars;
-       int c;
--      int quotes = flag & QUOTES_ESC;
-       int breakall = (flag & (EXP_WORD | EXP_QUOTED)) == EXP_WORD;
-       int inquotes;
-       size_t length;
-@@ -346,21 +340,15 @@ start:
-               case CTLENDVAR: /* ??? */
-                       goto breakloop;
-               case CTLQUOTEMARK:
-+                      inquotes ^= EXP_QUOTED;
-                       /* "$@" syntax adherence hack */
--                      if (
--                              !inquotes &&
--                              !memcmp(p, dolatstr, DOLATSTRLEN) &&
--                              (p[4] == (char)CTLQUOTEMARK || (
--                                      p[4] == (char)CTLENDVAR &&
--                                      p[5] == (char)CTLQUOTEMARK
--                              ))
--                      ) {
--                              p = evalvar(p + 1, flag) + 1;
-+                      if (inquotes && !memcmp(p, dolatstr + 1,
-+                                              DOLATSTRLEN - 1)) {
-+                              p = evalvar(p + 1, flag | inquotes) + 1;
-                               goto start;
-                       }
--                      inquotes = !inquotes;
- addquote:
--                      if (quotes) {
-+                      if (flag & QUOTES_ESC) {
-                               p--;
-                               length++;
-                               startloc++;
-@@ -369,19 +357,27 @@ addquote:
-               case CTLESC:
-                       startloc++;
-                       length++;
-+
-+                      /*
-+                       * Quoted parameter expansion pattern: remove quote
-+                       * unless inside inner quotes or we have a literal
-+                       * backslash.
-+                       */
-+                      if (((flag | inquotes) & (EXP_QPAT | EXP_QUOTED)) ==
-+                          EXP_QPAT && *p != '\\')
-+                              break;
-+
-                       goto addquote;
-               case CTLVAR:
--                      p = evalvar(p, flag);
-+                      p = evalvar(p, flag | inquotes);
-                       goto start;
-               case CTLBACKQ:
--                      c = 0;
--              case CTLBACKQ|CTLQUOTE:
--                      expbackq(argbackq->n, c, quotes);
-+                      expbackq(argbackq->n, flag | inquotes);
-                       argbackq = argbackq->next;
-                       goto start;
-               case CTLENDARI:
-                       p--;
--                      expari(quotes);
-+                      expari(flag | inquotes);
-                       goto start;
-               }
-       }
-@@ -480,11 +476,10 @@ removerecordregions(int endoff)
-  * evaluate, place result in (backed up) result, adjust string position.
-  */
- void
--expari(int quotes)
-+expari(int flag)
- {
-       char *p, *start;
-       int begoff;
--      int flag;
-       int len;
-       /*      ifsfree(); */
-@@ -522,16 +517,14 @@ expari(int quotes)
-       removerecordregions(begoff);
--      flag = p[1];
--
-       expdest = p;
--      if (quotes)
--              rmescapes(p + 2);
-+      if (flag & QUOTES_ESC)
-+              rmescapes(p + 1);
--      len = cvtnum(arith(p + 2));
-+      len = cvtnum(arith(p + 1));
--      if (flag != '"')
-+      if (!(flag & EXP_QUOTED))
-               recordregion(begoff, begoff + len, 0);
- }
-@@ -541,7 +534,7 @@ expari(int quotes)
-  */
- STATIC void
--expbackq(union node *cmd, int quoted, int quotes)
-+expbackq(union node *cmd, int flag)
- {
-       struct backcmd in;
-       int i;
-@@ -549,7 +542,7 @@ expbackq(union node *cmd, int quoted, int quotes)
-       char *p;
-       char *dest;
-       int startloc;
--      char const *syntax = quoted? DQSYNTAX : BASESYNTAX;
-+      char const *syntax = flag & EXP_QUOTED ? DQSYNTAX : BASESYNTAX;
-       struct stackmark smark;
-       INTOFF;
-@@ -565,7 +558,7 @@ expbackq(union node *cmd, int quoted, int quotes)
-       if (i == 0)
-               goto read;
-       for (;;) {
--              memtodest(p, i, syntax, quotes);
-+              memtodest(p, i, syntax, flag & QUOTES_ESC);
- read:
-               if (in.fd < 0)
-                       break;
-@@ -592,7 +585,7 @@ read:
-               STUNPUTC(dest);
-       expdest = dest;
--      if (quoted == 0)
-+      if (!(flag & EXP_QUOTED))
-               recordregion(startloc, dest - (char *)stackblock(), 0);
-       TRACE(("evalbackq: size=%d: \"%.*s\"\n",
-               (dest - (char *)stackblock()) - startloc,
-@@ -669,8 +662,9 @@ scanright(
- }
- STATIC const char *
--subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varflags, int quotes)
-+subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varflags, int flag)
- {
-+      int quotes = flag & QUOTES_ESC;
-       char *startp;
-       char *loc;
-       int saveherefd = herefd;
-@@ -682,7 +676,7 @@ subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varfla
-       herefd = -1;
-       argstr(p, EXP_TILDE | (subtype != VSASSIGN && subtype != VSQUESTION ?
--                             EXP_CASE : 0));
-+                             (flag & EXP_QUOTED ? EXP_QPAT : EXP_CASE) : 0));
-       STPUTC('\0', expdest);
-       herefd = saveherefd;
-       argbackq = saveargbackq;
-@@ -717,7 +711,7 @@ subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varfla
-       }
-       rmescend--;
-       str = stackblock() + strloc;
--      preglob(str, varflags & VSQUOTE, 0);
-+      preglob(str, 0);
-       /* zero = subtype == VSTRIMLEFT || subtype == VSTRIMLEFTMAX */
-       zero = subtype >> 1;
-@@ -753,13 +747,11 @@ evalvar(char *p, int flag)
-       int startloc;
-       ssize_t varlen;
-       int easy;
--      int quotes;
-       int quoted;
--      quotes = flag & QUOTES_ESC;
-       varflags = *p++;
-       subtype = varflags & VSTYPE;
--      quoted = varflags & VSQUOTE;
-+      quoted = flag & EXP_QUOTED;
-       var = p;
-       easy = (!quoted || (*var == '@' && shellparam.nparam));
-       startloc = expdest - (char *)stackblock();
-@@ -778,8 +770,7 @@ again:
-       if (subtype == VSMINUS) {
- vsplus:
-               if (varlen < 0) {
--                      argstr(p, flag | EXP_TILDE | EXP_WORD |
--                                (quoted ? EXP_QUOTED : 0));
-+                      argstr(p, flag | EXP_TILDE | EXP_WORD);
-                       goto end;
-               }
-               if (easy)
-@@ -790,7 +781,7 @@ vsplus:
-       if (subtype == VSASSIGN || subtype == VSQUESTION) {
-               if (varlen < 0) {
-                       if (subevalvar(p, var, 0, subtype, startloc,
--                                     varflags, 0)) {
-+                                     varflags, flag & ~QUOTES_ESC)) {
-                               varflags &= ~VSNUL;
-                               /* 
-                                * Remove any recorded regions beyond 
-@@ -842,7 +833,7 @@ record:
-               STPUTC('\0', expdest);
-               patloc = expdest - (char *)stackblock();
-               if (subevalvar(p, NULL, patloc, subtype,
--                             startloc, varflags, quotes) == 0) {
-+                             startloc, varflags, flag) == 0) {
-                       int amount = expdest - (
-                               (char *)stackblock() + patloc - 1
-                       );
-@@ -859,7 +850,7 @@ end:
-               for (;;) {
-                       if ((c = (signed char)*p++) == CTLESC)
-                               p++;
--                      else if (c == CTLBACKQ || c == (CTLBACKQ|CTLQUOTE)) {
-+                      else if (c == CTLBACKQ) {
-                               if (varlen >= 0)
-                                       argbackq = argbackq->next;
-                       } else if (c == CTLVAR) {
-@@ -930,7 +921,7 @@ varvalue(char *name, int varflags, int flags)
-       char sepc;
-       char **ap;
-       char const *syntax;
--      int quoted = varflags & VSQUOTE;
-+      int quoted = flags & EXP_QUOTED;
-       int subtype = varflags & VSTYPE;
-       int discard = subtype == VSPLUS || subtype == VSLENGTH;
-       int quotes = (discard ? 0 : (flags & QUOTES_ESC)) | QUOTES_KEEPNUL;
-@@ -1175,7 +1166,7 @@ expandmeta(str, flag)
-               if (fflag)
-                       goto nometa;
-               INTOFF;
--              p = preglob(str->text, 0, RMESCAPE_ALLOC | RMESCAPE_HEAP);
-+              p = preglob(str->text, RMESCAPE_ALLOC | RMESCAPE_HEAP);
-               i = glob(p, GLOB_NOMAGIC, 0, &pglob);
-               if (p != str->text)
-                       ckfree(p);
-@@ -1244,7 +1235,7 @@ expandmeta(struct strlist *str, int flag)
-               savelastp = exparg.lastp;
-               INTOFF;
--              p = preglob(str->text, 0, RMESCAPE_ALLOC | RMESCAPE_HEAP);
-+              p = preglob(str->text, RMESCAPE_ALLOC | RMESCAPE_HEAP);
-               {
-                       int i = strlen(str->text);
-                       expdir = ckmalloc(i < 2048 ? 2048 : i); /* XXX */
-@@ -1475,7 +1466,7 @@ msort(struct strlist *list, int len)
- STATIC inline int
- patmatch(char *pattern, const char *string)
- {
--      return pmatch(preglob(pattern, 0, 0), string);
-+      return pmatch(preglob(pattern, 0), string);
- }
-@@ -1651,7 +1642,7 @@ _rmescapes(char *str, int flag)
-                       q = mempcpy(q, str, len);
-               }
-       }
--      inquotes = (flag & RMESCAPE_QUOTED) ^ RMESCAPE_QUOTED;
-+      inquotes = 0;
-       globbing = flag & RMESCAPE_GLOB;
-       notescaped = globbing;
-       while (*p) {
-@@ -1661,15 +1652,14 @@ _rmescapes(char *str, int flag)
-                       notescaped = globbing;
-                       continue;
-               }
--              if (*p == '\\') {
--                      /* naked back slash */
--                      notescaped = 0;
--                      goto copy;
--              }
-               if (*p == (char)CTLESC) {
-                       p++;
--                      if (notescaped && inquotes)
-+                      if (notescaped)
-                               *q++ = '\\';
-+              } else if (*p == '\\' && !inquotes) {
-+                      /* naked back slash */
-+                      notescaped = 0;
-+                      goto copy;
-               }
-               notescaped = globbing;
- copy:
-diff --git a/src/expand.h b/src/expand.h
-index be7ec6f..4dfbc43 100644
---- a/src/expand.h
-+++ b/src/expand.h
-@@ -53,7 +53,7 @@ struct arglist {
- #define       EXP_VARTILDE    0x4     /* expand tildes in an assignment */
- #define       EXP_REDIR       0x8     /* file glob for a redirection (1 match only) */
- #define EXP_CASE      0x10    /* keeps quotes around for CASE pattern */
--#define EXP_RECORD    0x20    /* need to record arguments for ifs breakup */
-+#define EXP_QPAT      0x20    /* pattern in quoted parameter expansion */
- #define EXP_VARTILDE2 0x40    /* expand tildes after colons only */
- #define EXP_WORD      0x80    /* expand word in parameter expansion */
- #define EXP_QUOTED    0x100   /* expand word in double quotes */
-diff --git a/src/jobs.c b/src/jobs.c
-index 7285d0d..529d615 100644
---- a/src/jobs.c
-+++ b/src/jobs.c
-@@ -1377,12 +1377,7 @@ cmdputs(const char *s)
-                               str = "${#";
-                       else
-                               str = "${";
--                      if (!(subtype & VSQUOTE) != !(quoted & 1)) {
--                              quoted ^= 1;
--                              c = '"';
--                      } else
--                              goto dostr;
--                      break;
-+                      goto dostr;
-               case CTLENDVAR:
-                       str = "\"}" + !(quoted & 1);
-                       quoted >>= 1;
-@@ -1391,9 +1386,6 @@ cmdputs(const char *s)
-               case CTLBACKQ:
-                       str = "$(...)";
-                       goto dostr;
--              case CTLBACKQ+CTLQUOTE:
--                      str = "\"$(...)\"";
--                      goto dostr;
-               case CTLARI:
-                       str = "$((";
-                       goto dostr;
-diff --git a/src/mystring.c b/src/mystring.c
-index 49201a9..7d937a8 100644
---- a/src/mystring.c
-+++ b/src/mystring.c
-@@ -55,7 +55,8 @@
- char nullstr[1];              /* zero length string */
- const char spcstr[] = " ";
- const char snlfmt[] = "%s\n";
--const char dolatstr[] = { CTLVAR, VSNORMAL|VSQUOTE, '@', '=', '\0' };
-+const char dolatstr[] = { CTLQUOTEMARK, CTLVAR, VSNORMAL, '@', '=',
-+                        CTLQUOTEMARK, '\0' };
- const char illnum[] = "Illegal number: %s";
- const char homestr[] = "HOME";
-diff --git a/src/mystring.h b/src/mystring.h
-index 44fd7e4..f451cc2 100644
---- a/src/mystring.h
-+++ b/src/mystring.h
-@@ -39,7 +39,7 @@
- extern const char snlfmt[];
- extern const char spcstr[];
- extern const char dolatstr[];
--#define DOLATSTRLEN 4
-+#define DOLATSTRLEN 6
- extern const char illnum[];
- extern const char homestr[];
-diff --git a/src/parser.c b/src/parser.c
-index e00fd4b..1a483d4 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -911,11 +911,9 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
-                                                       eofmark != NULL
-                                               )
-                                       ) {
--                                              USTPUTC(CTLESC, out);
-                                               USTPUTC('\\', out);
-                                       }
--                                      if (SQSYNTAX[c] == CCTL)
--                                              USTPUTC(CTLESC, out);
-+                                      USTPUTC(CTLESC, out);
-                                       USTPUTC(c, out);
-                                       quotef++;
-                               }
-@@ -1221,8 +1219,6 @@ badsub:                  synerror("Bad substitution");
-               } else {
-                       pungetc();
-               }
--              if (dblquote || arinest)
--                      flags |= VSQUOTE;
-               *((char *)stackblock() + typeloc) = subtype | flags;
-               if (subtype != VSNORMAL) {
-                       varnest++;
-@@ -1353,10 +1349,7 @@ done:
-               memcpy(out, str, savelen);
-               STADJUST(savelen, out);
-       }
--      if (arinest || dblquote)
--              USTPUTC(CTLBACKQ | CTLQUOTE, out);
--      else
--              USTPUTC(CTLBACKQ, out);
-+      USTPUTC(CTLBACKQ, out);
-       if (oldstyle)
-               goto parsebackq_oldreturn;
-       else
-@@ -1373,10 +1366,6 @@ parsearith: {
-               syntax = ARISYNTAX;
-       }
-       USTPUTC(CTLARI, out);
--      if (dblquote)
--              USTPUTC('"',out);
--      else
--              USTPUTC(' ',out);
-       goto parsearith_return;
- }
-@@ -1503,7 +1492,7 @@ expandstr(const char *ps)
-       n.narg.text = wordtext;
-       n.narg.backquote = backquotelist;
--      expandarg(&n, NULL, 0);
-+      expandarg(&n, NULL, EXP_QUOTED);
-       return stackblock();
- }
-diff --git a/src/parser.h b/src/parser.h
-index 76ec839..badbd07 100644
---- a/src/parser.h
-+++ b/src/parser.h
-@@ -40,8 +40,6 @@
- #define CTLVAR -126           /* variable defn */
- #define CTLENDVAR -125
- #define CTLBACKQ -124
--#define CTLQUOTE 01           /* ored with CTLBACKQ code if in quotes */
--/*    CTLBACKQ | CTLQUOTE == -123 */
- #define       CTLARI -122             /* arithmetic expression */
- #define       CTLENDARI -121
- #define       CTLQUOTEMARK -120
-@@ -50,7 +48,6 @@
- /* variable substitution byte (follows CTLVAR) */
- #define VSTYPE        0x0f            /* type of variable substitution */
- #define VSNUL 0x10            /* colon--treat the empty string as unset */
--#define VSQUOTE 0x80          /* inside double quotes--suppress splitting */
- /* values of VSTYPE field */
- #define VSNORMAL      0x1             /* normal variable:  $var or ${var} */
-diff --git a/src/show.c b/src/show.c
-index 1b58de1..14dbef3 100644
---- a/src/show.c
-+++ b/src/show.c
-@@ -222,7 +222,6 @@ sharg(union node *arg, FILE *fp)
-                    putc('}', fp);
-                    break;
-               case CTLBACKQ:
--              case CTLBACKQ|CTLQUOTE:
-                       putc('$', fp);
-                       putc('(', fp);
-                       shtree(bqlist->n, -1, NULL, fp);
-@@ -314,9 +313,7 @@ trstring(char *s)
-               case '\\':  c = '\\';  goto backslash;
-               case CTLESC:  c = 'e';  goto backslash;
-               case CTLVAR:  c = 'v';  goto backslash;
--              case CTLVAR+CTLQUOTE:  c = 'V';  goto backslash;
-               case CTLBACKQ:  c = 'q';  goto backslash;
--              case CTLBACKQ+CTLQUOTE:  c = 'Q';  goto backslash;
- backslash:      putc('\\', tracefile);
-                       putc(c, tracefile);
-                       break;
--- 
-1.5.5
-
-From 68cbcb7160c5b02c2184e850ff3d5c52864ba024 Mon Sep 17 00:00:00 2001
-From: Gerrit Pape <pape@smarden.org>
-Date: Tue, 25 Sep 2007 22:46:55 +0800
-Subject: [PATCH] [MAN] Clarify description of -nt, -ot options to test builtin
-
-Have the man page explicitely state how the test builtin behaves on
--nt and -ot options if file2 does not exist.  The case where file1
-does not exist was already documented properly.
-
-This was noticed by Sven Mueller and reported through
- http://bugs.debian.org/373611
----
- ChangeLog  |    4 ++++
- src/dash.1 |   12 ++++++++++--
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index d5c51bf..4ea7374 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-25  Gerrit Pape <pape@smarden.org>
-+
-+      * Clarify description of -nt, -ot options to test builtin.
-+
- 2007-09-25  Herbert Xu <herbert@gondor.apana.org.au>
-       * Do not expand tilde in parameter expansion within quotes.
-diff --git a/src/dash.1 b/src/dash.1
-index 00f40bd..3aefe21 100644
---- a/src/dash.1
-+++ b/src/dash.1
-@@ -1934,12 +1934,20 @@ exists and is a socket.
- .It Ar file1 Fl nt Ar file2
- True if
- .Ar file1
--exists and is newer than
-+and
-+.Ar file2
-+exist and
-+.Ar file1
-+is newer than
- .Ar file2 .
- .It Ar file1 Fl ot Ar file2
- True if
- .Ar file1
--exists and is older than
-+and
-+.Ar file2
-+exist and
-+.Ar file1
-+is older than
- .Ar file2 .
- .It Ar file1 Fl ef Ar file2
- True if
--- 
-1.5.5
-
-From f6ff75befa660341c839e1fa8c1a33eb61afc4c8 Mon Sep 17 00:00:00 2001
-From: Gerrit Pape <pape@smarden.org>
-Date: Tue, 25 Sep 2007 22:47:25 +0800
-Subject: [PATCH] [MAN] Clarify syntax of the for command
-
-Document that in a for loop 'in word ...' is optional, and if omitted,
-'in "$@"' is used.
-
-Lars Wilke noticed this, and reported through
- http://bugs.debian.org/387441
----
- ChangeLog  |    1 +
- src/dash.1 |    7 +++++--
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 4ea7374..003a0f7 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-09-25  Gerrit Pape <pape@smarden.org>
-       * Clarify description of -nt, -ot options to test builtin.
-+      * Clarify syntax of the for command.
- 2007-09-25  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/dash.1 b/src/dash.1
-index 3aefe21..9b8ab0e 100644
---- a/src/dash.1
-+++ b/src/dash.1
-@@ -640,17 +640,20 @@ repeat until the exit status of the first list is zero.
- .Pp
- The syntax of the for command is
- .Bd -literal -offset indent
--for variable in word ...
-+for variable [ in [ word ... ] ]
- do   list
- done
- .Ed
- .Pp
--The words are expanded, and then the list is executed repeatedly with the
-+The words following
-+.Pa in
-+are expanded, and then the list is executed repeatedly with the
- variable set to each word in turn.
- do and done may be replaced with
- .Dq {
- and
- .Dq } .
-+Omitting in word ... is equivalent to in "$@".
- .Pp
- The syntax of the break and continue command is
- .Bd -literal -offset indent
--- 
-1.5.5
-
-From 2a419c48841ba0ed9fe95b1f95308ed6e174ac4b Mon Sep 17 00:00:00 2001
-From: Roy Marples <uberlord@gentoo.org>
-Date: Wed, 26 Sep 2007 13:59:56 +0800
-Subject: [PATCH] [EXPAND] Refresh stack pointers after makestrspace in _rmescapes
-
-dash-0.5.3 has an issue reading some line lengths [1].
-This is reproducable on amd64, but not on other arches for some reason.
-
-$ cat bug.sh
-(read line; echo "${line%%=*}") <<EOF
-TITLE=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-EOF
-printf "\
-TITLE=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-" | (read line; echo "${line%%=*}")
-$ bash bug.sh
-TITLE
-TITLE
-$ dash bug.sh
-TITLE=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-TITLE
-
-Attahced is a patch to fix the issue
-
-Thanks
-
-Roy
-
-[1] http://bugs.gentoo.org/show_bug.cgi?id=180680
----
- ChangeLog    |    4 ++++
- src/expand.c |    4 ++++
- 2 files changed, 8 insertions(+), 0 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 003a0f7..670682b 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-26  Roy Marples <uberlord@gentoo.org>
-+
-+      * Refresh stack pointers after makestrspace in _rmescapes.
-+
- 2007-09-25  Gerrit Pape <pape@smarden.org>
-       * Clarify description of -nt, -ot options to test builtin.
-diff --git a/src/expand.c b/src/expand.c
-index 8c6c7f9..98ad718 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -1631,7 +1631,11 @@ _rmescapes(char *str, int flag)
-               size_t fulllen = len + strlen(p) + 1;
-               if (flag & RMESCAPE_GROW) {
-+                      int strloc = str - (char *)stackblock();
-+
-                       r = makestrspace(fulllen, expdest);
-+                      str = (char *)stackblock() + strloc;
-+                      p = str + len;
-               } else if (flag & RMESCAPE_HEAP) {
-                       r = ckmalloc(fulllen);
-               } else {
--- 
-1.5.5
-
-From ea180ade7ece7780de8b90b80950fef75a00654d Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Wed, 26 Sep 2007 17:14:16 +0800
-Subject: [PATCH] [PARSER] Recognise here-doc delimiters terminated by EOF
-
-Previously dash required a <newline> character to be present in order for
-a here-document delimiter to be detected.  Allowing EOF in the absence of
-a <newline> to play the same purpose allows some intuitive scripts to
-succeed.  POSIX seems to be silence on this so this should be OK.
-
-Test case:
-
-       eval 'cat <<- NOT
-               test
-       NOT'
-       echo OK
-
-Old result:
-
-       test
-       NOTOK
-
-New result:
-
-       test
-       OK
----
- ChangeLog    |    4 ++++
- src/parser.c |   10 ++++++++--
- 2 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 670682b..cf56c9a 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-09-26  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Recognise here-doc delimiters terminated by EOF.
-+
- 2007-09-26  Roy Marples <uberlord@gentoo.org>
-       * Refresh stack pointers after makestrspace in _rmescapes.
-diff --git a/src/parser.c b/src/parser.c
-index 1a483d4..cac0aa5 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1049,8 +1049,14 @@ checkend: {
-                               char *p, *q;
-                               p = line;
--                              for (q = eofmark + 1 ; *q && *p == *q ; p++, q++);
--                              if (*p == '\n' && *q == '\0') {
-+                              for (q = eofmark + 1;; p++, q++) {
-+                                      c = *p;
-+                                      if (c == '\n')
-+                                              c = 0;
-+                                      if (!*q || c != *q)
-+                                              break;
-+                              }
-+                              if (c == *q) {
-                                       c = PEOF;
-                                       plinno++;
-                                       needprompt = doprompt;
--- 
-1.5.5
-
-From 0150a7be130d6c54e286ca9fe5d72ba80f84ccf9 Mon Sep 17 00:00:00 2001
-From: Alexey Gladkov <legion@altlinux.org>
-Date: Thu, 4 Oct 2007 14:21:44 +0800
-Subject: [PATCH] [BUILD] Add --enable-static option to configure.
-
-Add new option to build statical linked dash.
----
- ChangeLog    |    4 ++++
- configure.ac |    6 ++++++
- 2 files changed, 10 insertions(+), 0 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index cf56c9a..ac717c5 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-04  Alexey Gladkov <legion@altlinux.org>
-+
-+      * Add --enable-static option to configure.
-+
- 2007-09-26  Herbert Xu <herbert@gondor.apana.org.au>
-       * Recognise here-doc delimiters terminated by EOF.
-diff --git a/configure.ac b/configure.ac
-index e0a94a8..5e8f17d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -18,6 +18,12 @@ fi
- AC_MSG_RESULT(${CC_FOR_BUILD})
- AC_SUBST(CC_FOR_BUILD)
-+AC_ARG_ENABLE(static, AS_HELP_STRING(--enable-static, \
-+                                   [Build statical linked program]))
-+if test "$enable_static" = "yes"; then
-+      export LDFLAGS="-static -Wl,--fatal-warnings"
-+fi
-+
- dnl Checks for libraries.
- dnl Checks for header files.
--- 
-1.5.5
-
-From d4f9f079e000e1fb04ab58cac1c3aeabc190a344 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 4 Oct 2007 22:15:10 +0800
-Subject: [PATCH] [PARSER] Fix parsing of ${##1}
-
-Previously dash treated ${##1} as a length operation.  This patch fixes that.
-
-Test case:
-
-       set -- a
-       echo ${##1}OK
-
-Old result:
-
-       1OK
-
-New result:
-
-       OK
----
- ChangeLog    |    4 ++++
- src/parser.c |   31 ++++++++++++++++++++++---------
- 2 files changed, 26 insertions(+), 9 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index ac717c5..3352429 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-04  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Fix parsing of ${##1}.
-+
- 2007-10-04  Alexey Gladkov <legion@altlinux.org>
-       * Add --enable-static option to configure.
-diff --git a/src/parser.c b/src/parser.c
-index cac0aa5..9edb824 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1167,15 +1167,9 @@ parsesub: {
-               subtype = VSNORMAL;
-               if (c == '{') {
-                       c = pgetc();
--                      if (c == '#') {
--                              if ((c = pgetc()) == '}')
--                                      c = '#';
--                              else
--                                      subtype = VSLENGTH;
--                      }
--                      else
--                              subtype = 0;
-+                      subtype = 0;
-               }
-+varname:
-               if (c > PEOA && is_name(c)) {
-                       do {
-                               STPUTC(c, out);
-@@ -1188,8 +1182,27 @@ parsesub: {
-                       } while (is_digit(c));
-               }
-               else if (is_special(c)) {
--                      USTPUTC(c, out);
-+                      int cc = c;
-+
-                       c = pgetc();
-+
-+                      if (!subtype && cc == '#') {
-+                              subtype = VSLENGTH;
-+
-+                              if (c == '_' || isalnum(c))
-+                                      goto varname;
-+
-+                              cc = c;
-+                              c = pgetc();
-+                              if (cc == '}' || c != '}') {
-+                                      pungetc();
-+                                      subtype = 0;
-+                                      c = cc;
-+                                      cc = '#';
-+                              }
-+                      }
-+
-+                      USTPUTC(cc, out);
-               }
-               else
- badsub:                       synerror("Bad substitution");
--- 
-1.5.5
-
-From 903e743d0593b31c430a4182fabba1f4ed9dac4a Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 4 Oct 2007 22:20:38 +0800
-Subject: [PATCH] [PARSER] Size optimisations in parameter expansion parser
-
-Merge flags into subtype.
-Do not write subtype out twice.
-Add likely flag on ${ vs. $NAME.
-Kill unnecessary (and bogus) PEOA check.
----
- ChangeLog    |    1 +
- src/parser.c |   16 +++++++---------
- 2 files changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 3352429..940e4b0 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-10-04  Herbert Xu <herbert@gondor.apana.org.au>
-       * Fix parsing of ${##1}.
-+      * Size optimisations in parameter expansion parser.
- 2007-10-04  Alexey Gladkov <legion@altlinux.org>
-diff --git a/src/parser.c b/src/parser.c
-index 9edb824..f49ee7d 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1142,7 +1142,6 @@ parseredir: {
- parsesub: {
-       int subtype;
-       int typeloc;
--      int flags;
-       char *p;
-       static const char types[] = "}-+?=";
-@@ -1163,18 +1162,18 @@ parsesub: {
-       } else {
-               USTPUTC(CTLVAR, out);
-               typeloc = out - (char *)stackblock();
--              USTPUTC(VSNORMAL, out);
-+              STADJUST(1, out);
-               subtype = VSNORMAL;
--              if (c == '{') {
-+              if (likely(c == '{')) {
-                       c = pgetc();
-                       subtype = 0;
-               }
- varname:
--              if (c > PEOA && is_name(c)) {
-+              if (is_name(c)) {
-                       do {
-                               STPUTC(c, out);
-                               c = pgetc();
--                      } while (c > PEOA && is_in_name(c));
-+                      } while (is_in_name(c));
-               } else if (is_digit(c)) {
-                       do {
-                               STPUTC(c, out);
-@@ -1208,18 +1207,17 @@ varname:
- badsub:                       synerror("Bad substitution");
-               STPUTC('=', out);
--              flags = 0;
-               if (subtype == 0) {
-                       switch (c) {
-                       case ':':
--                              flags = VSNUL;
-+                              subtype = VSNUL;
-                               c = pgetc();
-                               /*FALLTHROUGH*/
-                       default:
-                               p = strchr(types, c);
-                               if (p == NULL)
-                                       goto badsub;
--                              subtype = p - types + VSNORMAL;
-+                              subtype |= p - types + VSNORMAL;
-                               break;
-                       case '%':
-                       case '#':
-@@ -1238,7 +1236,7 @@ badsub:                  synerror("Bad substitution");
-               } else {
-                       pungetc();
-               }
--              *((char *)stackblock() + typeloc) = subtype | flags;
-+              *((char *)stackblock() + typeloc) = subtype;
-               if (subtype != VSNORMAL) {
-                       varnest++;
-                       if (dblquote)
--- 
-1.5.5
-
-From ade5f31819251f8fbe9f98f4d3d7f2d9ec0d56d5 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Fri, 5 Oct 2007 23:26:45 +0800
-Subject: [PATCH] [MEMALLOC] Made grabstackblock an inline wrapper for stalloc
-
-The function grabstackblock is identical in semantics to stalloc within its
-input constraints.
----
- ChangeLog      |    4 ++++
- src/memalloc.c |    8 --------
- src/memalloc.h |    6 +++++-
- 3 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 940e4b0..383332c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-05  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Made grabstackblock an inline wrapper for stalloc.
-+
- 2007-10-04  Herbert Xu <herbert@gondor.apana.org.au>
-       * Fix parsing of ${##1}.
-diff --git a/src/memalloc.c b/src/memalloc.c
-index 358e6ec..c8147d3 100644
---- a/src/memalloc.c
-+++ b/src/memalloc.c
-@@ -254,14 +254,6 @@ growstackblock(void)
-       }
- }
--void
--grabstackblock(size_t len)
--{
--      len = SHELL_ALIGN(len);
--      stacknxt += len;
--      stacknleft -= len;
--}
--
- /*
-  * The following routines are somewhat easier to use than the above.
-  * The user declares a variable of type STACKSTR, which may be declared
-diff --git a/src/memalloc.h b/src/memalloc.h
-index 8a41e64..282dbb0 100644
---- a/src/memalloc.h
-+++ b/src/memalloc.h
-@@ -57,13 +57,17 @@ void stunalloc(pointer);
- void setstackmark(struct stackmark *);
- void popstackmark(struct stackmark *);
- void growstackblock(void);
--void grabstackblock(size_t);
- void *growstackstr(void);
- char *makestrspace(size_t, char *);
- char *stnputs(const char *, size_t, char *);
- char *stputs(const char *, char *);
-+static inline void grabstackblock(size_t len)
-+{
-+      stalloc(len);
-+}
-+
- static inline char *_STPUTC(int c, char *p) {
-       if (p == sstrend)
-               p = growstackstr();
--- 
-1.5.5
-
-From 4c0f98546aa3f6e74a2062ed4a3dd9589f012269 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 6 Oct 2007 00:45:52 +0800
-Subject: [PATCH] [MEMALLOC] Add pushstackmark
-
-This patch gets rid of the stack mark tracking hack by allocating a little
-bit of stack memory if we're at risk of planting a stack mark which may be
-grown later.  To do this a new function pushstackmark is added which lets
-the user pick a bigger amount to allocate since some users do that anyway
-after setting a stack mark.
----
- ChangeLog      |    4 ++++
- src/expand.c   |    6 ++----
- src/memalloc.c |   26 +++++++-------------------
- src/memalloc.h |    2 +-
- src/parser.c   |    3 +--
- 5 files changed, 15 insertions(+), 26 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 383332c..d3c7320 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-06  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Add pushstackmark.
-+
- 2007-10-05  Herbert Xu <herbert@gondor.apana.org.au>
-       * Made grabstackblock an inline wrapper for stalloc.
-diff --git a/src/expand.c b/src/expand.c
-index 98ad718..e3e5d8f 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -546,10 +546,8 @@ expbackq(union node *cmd, int flag)
-       struct stackmark smark;
-       INTOFF;
--      setstackmark(&smark);
--      dest = expdest;
--      startloc = dest - (char *)stackblock();
--      grabstackstr(dest);
-+      startloc = expdest - (char *)stackblock();
-+      pushstackmark(&smark, startloc);
-       evalbackcmd(cmd, (struct backcmd *) &in);
-       popstackmark(&smark);
-diff --git a/src/memalloc.c b/src/memalloc.c
-index c8147d3..8d3e2ed 100644
---- a/src/memalloc.c
-+++ b/src/memalloc.c
-@@ -106,7 +106,6 @@ struct stack_block {
- struct stack_block stackbase;
- struct stack_block *stackp = &stackbase;
--struct stackmark *markp;
- char *stacknxt = stackbase.space;
- size_t stacknleft = MINSIZE;
- char *sstrend = stackbase.space + MINSIZE;
-@@ -161,14 +160,17 @@ stunalloc(pointer p)
--void
--setstackmark(struct stackmark *mark)
-+void pushstackmark(struct stackmark *mark, size_t len)
- {
-       mark->stackp = stackp;
-       mark->stacknxt = stacknxt;
-       mark->stacknleft = stacknleft;
--      mark->marknext = markp;
--      markp = mark;
-+      grabstackblock(len);
-+}
-+
-+void setstackmark(struct stackmark *mark)
-+{
-+      pushstackmark(mark, stacknxt == stackp->space && stackp != &stackbase);
- }
-@@ -178,7 +180,6 @@ popstackmark(struct stackmark *mark)
-       struct stack_block *sp;
-       INTOFF;
--      markp = mark->marknext;
-       while (stackp != mark->stackp) {
-               sp = stackp;
-               stackp = sp->prev;
-@@ -214,7 +215,6 @@ growstackblock(void)
-       if (stacknxt == stackp->space && stackp != &stackbase) {
-               struct stack_block *oldstackp;
--              struct stackmark *xmark;
-               struct stack_block *sp;
-               struct stack_block *prevstackp;
-               size_t grosslen;
-@@ -230,18 +230,6 @@ growstackblock(void)
-               stacknxt = sp->space;
-               stacknleft = newlen;
-               sstrend = sp->space + newlen;
--
--              /*
--               * Stack marks pointing to the start of the old block
--               * must be relocated to point to the new block 
--               */
--              xmark = markp;
--              while (xmark != NULL && xmark->stackp == oldstackp) {
--                      xmark->stackp = stackp;
--                      xmark->stacknxt = stacknxt;
--                      xmark->stacknleft = stacknleft;
--                      xmark = xmark->marknext;
--              }
-               INTON;
-       } else {
-               char *oldspace = stacknxt;
-diff --git a/src/memalloc.h b/src/memalloc.h
-index 282dbb0..ad6015d 100644
---- a/src/memalloc.h
-+++ b/src/memalloc.h
-@@ -40,7 +40,6 @@ struct stackmark {
-       struct stack_block *stackp;
-       char *stacknxt;
-       size_t stacknleft;
--      struct stackmark *marknext;
- };
-@@ -54,6 +53,7 @@ pointer ckrealloc(pointer, size_t);
- char *savestr(const char *);
- pointer stalloc(size_t);
- void stunalloc(pointer);
-+void pushstackmark(struct stackmark *mark, size_t len);
- void setstackmark(struct stackmark *);
- void popstackmark(struct stackmark *);
- void growstackblock(void);
-diff --git a/src/parser.c b/src/parser.c
-index f49ee7d..d0e0553 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1487,8 +1487,7 @@ setprompt(int which)
-       show = !el;
- #endif
-       if (show) {
--              setstackmark(&smark);
--              stalloc(stackblocksize());
-+              pushstackmark(&smark, stackblocksize());
-               out2str(getprompt(NULL));
-               popstackmark(&smark);
-       }
--- 
-1.5.5
-
-From ee88381ece2dad9524f924b08e40045034eda0f5 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 6 Oct 2007 18:59:31 +0800
-Subject: [PATCH] [BUILTIN] Treat OPTIND=0 in the same way as OPTIND=1
-
-Previously setting OPTIND to 0 would cause subsequent getopts calls to fail.
-This patch makes dash reset the getopts parameters the same way as OPTIND=1.
-
-Both behaviours are allowed by POSIX but other common shells do tolerate this
-case.
----
- ChangeLog     |    1 +
- src/options.c |    4 +---
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index d3c7320..11cdb67 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-10-06  Herbert Xu <herbert@gondor.apana.org.au>
-       * Add pushstackmark.
-+      * Treat OPTIND=0 in the same way as OPTIND=1.
- 2007-10-05  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/options.c b/src/options.c
-index 85f1406..045345a 100644
---- a/src/options.c
-+++ b/src/options.c
-@@ -377,7 +377,7 @@ void
- getoptsreset(value)
-       const char *value;
- {
--      shellparam.optind = number(value);
-+      shellparam.optind = number(value) ?: 1;
-       shellparam.optoff = -1;
- }
-@@ -424,8 +424,6 @@ getopts(char *optstr, char *optvar, char **optfirst, int *optind, int *optoff)
-       char s[12];
-       char **optnext;
--      if (*optind < 1)
--              return 1;
-       optnext = optfirst + *optind - 1;
-       if (*optind <= 1 || *optoff < 0 || strlen(optnext[-1]) < *optoff)
--- 
-1.5.5
-
-From c699fa24176e084ea93c9dd7058511d97d218e20 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 6 Oct 2007 21:18:58 +0800
-Subject: [PATCH] [VAR] Remove setvarsafe
-
-The only user of setvarsafe is getopts.  However, we can achieve the same
-result by pre-setting the value of shellparam.optind.
----
- ChangeLog     |    1 +
- src/options.c |   48 +++++++++++++++++++++++-------------------------
- src/var.c     |   25 -------------------------
- src/var.h     |    1 -
- 4 files changed, 24 insertions(+), 51 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 11cdb67..ea54d84 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -2,6 +2,7 @@
-       * Add pushstackmark.
-       * Treat OPTIND=0 in the same way as OPTIND=1.
-+      * Remove setvarsafe.
- 2007-10-05  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/options.c b/src/options.c
-index 045345a..568148a 100644
---- a/src/options.c
-+++ b/src/options.c
-@@ -109,7 +109,7 @@ char optlist[NOPTS];
- STATIC void options(int);
- STATIC void minus_o(char *, int);
- STATIC void setoption(int, int);
--STATIC int getopts(char *, char *, char **, int *, int *); 
-+STATIC int getopts(char *, char *, char **);
- /*
-@@ -397,39 +397,40 @@ getoptscmd(int argc, char **argv)
-               sh_error("Usage: getopts optstring var [arg]");
-       else if (argc == 3) {
-               optbase = shellparam.p;
--              if (shellparam.optind > shellparam.nparam + 1) {
-+              if ((unsigned)shellparam.optind > shellparam.nparam + 1) {
-                       shellparam.optind = 1;
-                       shellparam.optoff = -1;
-               }
-       }
-       else {
-               optbase = &argv[3];
--              if (shellparam.optind > argc - 2) {
-+              if ((unsigned)shellparam.optind > argc - 2) {
-                       shellparam.optind = 1;
-                       shellparam.optoff = -1;
-               }
-       }
--      return getopts(argv[1], argv[2], optbase, &shellparam.optind,
--                     &shellparam.optoff);
-+      return getopts(argv[1], argv[2], optbase);
- }
- STATIC int
--getopts(char *optstr, char *optvar, char **optfirst, int *optind, int *optoff)
-+getopts(char *optstr, char *optvar, char **optfirst)
- {
-       char *p, *q;
-       char c = '?';
-       int done = 0;
--      int err = 0;
-       char s[12];
-       char **optnext;
-+      int ind = shellparam.optind;
-+      int off = shellparam.optoff;
--      optnext = optfirst + *optind - 1;
-+      shellparam.optind = -1;
-+      optnext = optfirst + ind - 1;
--      if (*optind <= 1 || *optoff < 0 || strlen(optnext[-1]) < *optoff)
-+      if (ind <= 1 || off < 0 || strlen(optnext[-1]) < off)
-               p = NULL;
-       else
--              p = optnext[-1] + *optoff;
-+              p = optnext[-1] + off;
-       if (p == NULL || *p == '\0') {
-               /* Current word is done, advance */
-               p = *optnext;
-@@ -450,7 +451,7 @@ atend:
-                       if (optstr[0] == ':') {
-                               s[0] = c;
-                               s[1] = '\0';
--                              err |= setvarsafe("OPTARG", s, 0);
-+                              setvar("OPTARG", s, 0);
-                       } else {
-                               outfmt(&errout, "Illegal option -%c\n", c);
-                               (void) unsetvar("OPTARG");
-@@ -467,7 +468,7 @@ atend:
-                       if (optstr[0] == ':') {
-                               s[0] = c;
-                               s[1] = '\0';
--                              err |= setvarsafe("OPTARG", s, 0);
-+                              setvar("OPTARG", s, 0);
-                               c = ':';
-                       } else {
-                               outfmt(&errout, "No arg for -%c option\n", c);
-@@ -479,25 +480,22 @@ atend:
-               if (p == *optnext)
-                       optnext++;
--              err |= setvarsafe("OPTARG", p, 0);
-+              setvar("OPTARG", p, 0);
-               p = NULL;
-       } else
--              err |= setvarsafe("OPTARG", nullstr, 0);
-+              setvar("OPTARG", nullstr, 0);
- out:
--      *optoff = p ? p - *(optnext - 1) : -1;
--      *optind = optnext - optfirst + 1;
--      fmtstr(s, sizeof(s), "%d", *optind);
--      err |= setvarsafe("OPTIND", s, VNOFUNC);
-+      ind = optnext - optfirst + 1;
-+      fmtstr(s, sizeof(s), "%d", ind);
-+      setvar("OPTIND", s, VNOFUNC);
-       s[0] = c;
-       s[1] = '\0';
--      err |= setvarsafe(optvar, s, 0);
--      if (err) {
--              *optind = 1;
--              *optoff = -1;
--              flushall();
--              exraise(EXERROR);
--      }
-+      setvar(optvar, s, 0);
-+
-+      shellparam.optoff = p ? p - *(optnext - 1) : -1;
-+      shellparam.optind = ind;
-+
-       return done;
- }
-diff --git a/src/var.c b/src/var.c
-index 3263dc5..501a279 100644
---- a/src/var.c
-+++ b/src/var.c
-@@ -168,31 +168,6 @@ initvar(void)
- }
- /*
-- * Safe version of setvar, returns 1 on success 0 on failure.
-- */
--
--int
--setvarsafe(const char *name, const char *val, int flags)
--{
--      int err;
--      volatile int saveint;
--      struct jmploc *volatile savehandler = handler;
--      struct jmploc jmploc;
--
--      SAVEINT(saveint);
--      if (setjmp(jmploc.loc))
--              err = 1;
--      else {
--              handler = &jmploc;
--              setvar(name, val, flags);
--              err = 0;
--      }
--      handler = savehandler;
--      RESTOREINT(saveint);
--      return err;
--}
--
--/*
-  * Set the value of a variable.  The flags argument is ored with the
-  * flags of the variable.  If val is NULL, the variable is unset.
-  */
-diff --git a/src/var.h b/src/var.h
-index c3c2ca7..ae58c6c 100644
---- a/src/var.h
-+++ b/src/var.h
-@@ -138,7 +138,6 @@ int localcmd(int, char **);
- void poplocalvars(void);
- int unsetcmd(int, char **);
- int unsetvar(const char *);
--int setvarsafe(const char *, const char *, int);
- int varcmp(const char *, const char *);
- static inline int varequal(const char *a, const char *b) {
--- 
-1.5.5
-
-From 8e92ae4cb4ab07ebf88c99c9dcd6219e7ea3297f Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 6 Oct 2007 22:42:14 +0800
-Subject: [PATCH] [BUILTIN] Use intmax_t arithmetic in test
-
-This patch adds the function atomax10 and uses it in test(1) so that we
-support intmax_t comparisons.
----
- ChangeLog        |    1 +
- src/bltin/test.c |   31 ++++++-------------------------
- src/mystring.c   |   34 ++++++++++++++++++++++++++++++++--
- src/mystring.h   |    2 ++
- 4 files changed, 41 insertions(+), 27 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index ea54d84..1db14ac 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -3,6 +3,7 @@
-       * Add pushstackmark.
-       * Treat OPTIND=0 in the same way as OPTIND=1.
-       * Remove setvarsafe.
-+      * Use intmax_t arithmetic in test.
- 2007-10-05  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/bltin/test.c b/src/bltin/test.c
-index 7d49569..bc8b175 100644
---- a/src/bltin/test.c
-+++ b/src/bltin/test.c
-@@ -11,8 +11,7 @@
- #include <sys/stat.h>
- #include <sys/types.h>
--#include <ctype.h>
--#include <errno.h>
-+#include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-@@ -145,13 +144,17 @@ static int binop(void);
- static int filstat(char *, enum token);
- static enum token t_lex(char *);
- static int isoperand(void);
--static int getn(const char *);
- static int newerf(const char *, const char *);
- static int olderf(const char *, const char *);
- static int equalf(const char *, const char *);
- static int test_st_mode(const struct stat64 *, int);
- static int bash_group_member(gid_t);
-+static inline intmax_t getn(const char *s)
-+{
-+      return atomax10(s);
-+}
-+
- int
- testcmd(int argc, char **argv)
- {
-@@ -396,28 +399,6 @@ isoperand(void)
-       return 0;
- }
--/* atoi with error detection */
--static int
--getn(const char *s)
--{
--      char *p;
--      long r;
--
--      errno = 0;
--      r = strtol(s, &p, 10);
--
--      if (errno != 0)
--              error("%s: out of range", s);
--
--      while (isspace((unsigned char)*p))
--            p++;
--
--      if (*p)
--              error("%s: bad number", s);
--
--      return (int) r;
--}
--
- static int
- newerf (const char *f1, const char *f2)
- {
-diff --git a/src/mystring.c b/src/mystring.c
-index 7d937a8..df1691b 100644
---- a/src/mystring.c
-+++ b/src/mystring.c
-@@ -42,6 +42,11 @@
-  *    is_number(s)            Return true if s is a string of digits.
-  */
-+#include <ctype.h>
-+#include <errno.h>
-+#include <inttypes.h>
-+#include <limits.h>
-+#include <stdint.h>
- #include <stdlib.h>
- #include "shell.h"
- #include "syntax.h"
-@@ -105,6 +110,29 @@ prefix(const char *string, const char *pfx)
- /*
-+ * Convert a string into an integer of type intmax_t.  Alow trailing spaces.
-+ */
-+intmax_t atomax10(const char *s)
-+{
-+      char *p;
-+      intmax_t r;
-+
-+      errno = 0;
-+      r = strtoimax(s, &p, 10);
-+
-+      if (errno != 0)
-+              sh_error(illnum, s);
-+
-+      while (isspace((unsigned char)*p))
-+            p++;
-+
-+      if (*p)
-+              sh_error(illnum, s);
-+
-+      return r;
-+}
-+
-+/*
-  * Convert a string of digits to an integer, printing an error message on
-  * failure.
-  */
-@@ -112,10 +140,12 @@ prefix(const char *string, const char *pfx)
- int
- number(const char *s)
- {
-+      intmax_t n = atomax10(s);
--      if (! is_number(s))
-+      if (n < 0 || n > INT_MAX)
-               sh_error(illnum, s);
--      return atoi(s);
-+
-+      return n;
- }
-diff --git a/src/mystring.h b/src/mystring.h
-index f451cc2..c9cade6 100644
---- a/src/mystring.h
-+++ b/src/mystring.h
-@@ -34,6 +34,7 @@
-  *    @(#)mystring.h  8.2 (Berkeley) 5/4/95
-  */
-+#include <stdint.h>
- #include <string.h>
- extern const char snlfmt[];
-@@ -47,6 +48,7 @@ extern const char homestr[];
- void scopyn(const char *, char *, int);
- #endif
- char *prefix(const char *, const char *);
-+intmax_t atomax10(const char *);
- int number(const char *);
- int is_number(const char *);
- char *single_quote(const char *);
--- 
-1.5.5
-
-From 4cfa59c5a310b4f3ed44867dba7e7afd63ada506 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 8 Oct 2007 21:32:25 +0800
-Subject: [PATCH] [PARSER] Report substition errors at expansion time
-
-On Wed, Apr 11, 2007 at 01:24:21PM -0700, Micah Cowan wrote:
-> Package: dash
-> Version: 0.5.3-3
->
-> Bug first reported against Ubuntu at
-> https://bugs.launchpad.net/ubuntu/+source/dash/+bug/105634
-> by Paul Smith
->
-> The description and some comments from that bug report follow.
->
-> -----
->
-> This operation fails on Ubuntu:
->
->     $ /bin/sh -c 'if false; then d="${foo/bar}"; fi'
->     /bin/sh: Syntax error: Bad substitution
->
-> When used with other POSIX shells it succeeds. While semantically the
-> variable reference ${foo/bar} is not valid, this is not a syntax error
-> according to POSIX, and since the variable assignment expression is
-> never invoked (because it's within an "if false") it should not be seen
-> as an error.
->
-> I ran into this because after restarting my system I could no longer log
-> in. It turns out that the problem was (a) I had edited .gnomerc to
-> source my .bashrc file so that my environment would be set properly, and
-> (b) I had added some new code to my .bashrc WITHIN A CHECK FOR BASH!
-> that used bash's ${var/match/sub} feature. Even though this code was
-> within a "case $BASH_VERSION; in *[0-9]*) ... esac (so dash would never
-> execute it since that variable is not set), it still caused dash to
-> throw up.
->
-> -----
->
-> FYI, some relevant details from POSIX:
->
-> Section 2.3, Token Recognition:
->
-> 5. If the current character is an unquoted '$' or '`', the shell shall
-> identify the start of any candidates for parameter expansion ( Parameter
-> Expansion), command substitution ( Command Substitution), or arithmetic
-> expansion ( Arithmetic Expansion) from their introductory unquoted
-> character sequences: '$' or "${", "$(" or '`', and "$((", respectively.
-> The shell shall read sufficient input to determine the end of the unit
-> to be expanded (as explained in the cited sections).
->
-> Section 2.6.2, Parameter Expansion:
->
-> The format for parameter expansion is as follows:
->
->     ${expression}
->
-> where expression consists of all characters until the matching '}'. Any
-> '}' escaped by a backslash or within a quoted string, and characters in
-> embedded arithmetic expansions, command substitutions, and variable
-> expansions, shall not be examined in determining the matching '}'.
->
-> [...]
->
-> The parameter name or symbol can be enclosed in braces, which are
-> optional except for positional parameters with more than one digit or
-> when parameter is followed by a character that could be interpreted as
-> part of the name. The matching closing brace shall be determined by
-> counting brace levels, skipping over enclosed quoted strings, and
-> command substitutions.
->
-> ---
->
-> In addition to bash I've checked Solaris /bin/sh and ksh and they don't
-> report an error.
->
-> -----
-> Micah Cowan:
->
-> The applicable portion of POSIX is in XCU 2.10.1:
->
-> "The WORD tokens shall have the word expansion rules applied to them
-> immediately before the associated command is executed, not at the time
-> the command is parsed."
->
-> This seems fairly clear to me.
-
-This patch moves the error detection to expansion time.
-
-Test case:
-
-       if false; then
-               echo ${a!7}
-       fi
-       echo OK
-
-Old result:
-
-       dash: Syntax error: Bad substitution
-
-New result:
-
-       OK
----
- ChangeLog    |    4 ++++
- src/expand.c |    4 ++++
- src/parser.c |    7 ++++---
- 3 files changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 1db14ac..69ba464 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-08  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Report substition errors at expansion time.
-+
- 2007-10-06  Herbert Xu <herbert@gondor.apana.org.au>
-       * Add pushstackmark.
-diff --git a/src/expand.c b/src/expand.c
-index e3e5d8f..54fe908 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -749,6 +749,10 @@ evalvar(char *p, int flag)
-       varflags = *p++;
-       subtype = varflags & VSTYPE;
-+
-+      if (!subtype)
-+              sh_error("Bad substitution");
-+
-       quoted = flag & EXP_QUOTED;
-       var = p;
-       easy = (!quoted || (*var == '@' && shellparam.nparam));
-diff --git a/src/parser.c b/src/parser.c
-index d0e0553..4b8a5fe 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1204,9 +1204,8 @@ varname:
-                       USTPUTC(cc, out);
-               }
-               else
--badsub:                       synerror("Bad substitution");
-+                      goto badsub;
--              STPUTC('=', out);
-               if (subtype == 0) {
-                       switch (c) {
-                       case ':':
-@@ -1216,7 +1215,7 @@ badsub:                  synerror("Bad substitution");
-                       default:
-                               p = strchr(types, c);
-                               if (p == NULL)
--                                      goto badsub;
-+                                      break;
-                               subtype |= p - types + VSNORMAL;
-                               break;
-                       case '%':
-@@ -1234,6 +1233,7 @@ badsub:                  synerror("Bad substitution");
-                               }
-                       }
-               } else {
-+badsub:
-                       pungetc();
-               }
-               *((char *)stackblock() + typeloc) = subtype;
-@@ -1242,6 +1242,7 @@ badsub:                  synerror("Bad substitution");
-                       if (dblquote)
-                               dqvarnest++;
-               }
-+              STPUTC('=', out);
-       }
-       goto parsesub_return;
- }
--- 
-1.5.5
-
-From 1e0d45a1c6d749533b090a2d7068b9c36a1473fe Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 11 Oct 2007 22:36:28 +0800
-Subject: [PATCH] [ARITH] Add assignment and intmax_t support
-
-This patch adds assignment operator support in arithmetic expansions.  It
-also changes the type used to intmax_t.
----
- ChangeLog         |    4 +
- src/Makefile.am   |    8 +-
- src/arith.y       |  155 ---------------------------
- src/arith_yacc.c  |  298 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/arith_yacc.h  |   89 ++++++++++++++++
- src/arith_yylex.c |  114 +++++++++++++++++----
- src/expand.c      |   23 +++--
- src/expand.h      |    4 +-
- src/mystring.c    |    9 ++-
- src/mystring.h    |    1 +
- src/shell.h       |   10 ++
- src/var.c         |   20 ++++
- src/var.h         |    4 +
- 13 files changed, 549 insertions(+), 190 deletions(-)
- delete mode 100644 src/arith.y
- create mode 100644 src/arith_yacc.c
- create mode 100644 src/arith_yacc.h
-
-diff --git a/ChangeLog b/ChangeLog
-index 69ba464..895c607 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-11  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Add assignment support in arithmetic expansions.
-+
- 2007-10-08  Herbert Xu <herbert@gondor.apana.org.au>
-       * Report substition errors at expansion time.
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 37d6d3c..49026a3 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -18,12 +18,12 @@ COMPILE_FOR_BUILD = \
- bin_PROGRAMS = dash
- dash_CFILES = \
--      alias.c arith_yylex.c cd.c error.c eval.c exec.c expand.c \
-+      alias.c arith_yacc.c arith_yylex.c cd.c error.c eval.c exec.c expand.c \
-       histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
-       mystring.c options.c parser.c redir.c show.c trap.c output.c \
-       bltin/printf.c system.c bltin/test.c bltin/times.c var.c
- dash_SOURCES = \
--      $(dash_CFILES) arith.y \
-+      $(dash_CFILES) \
-       alias.h bltin/bltin.h cd.h error.h eval.h exec.h expand.h hetio.h \
-       init.h input.h jobs.h machdep.h mail.h main.h memalloc.h miscbltin.h \
-       myhistedit.h mystring.h options.h output.h parser.h redir.h shell.h \
-@@ -32,10 +32,10 @@ dash_LDADD = builtins.o init.o nodes.o signames.o syntax.o
- HELPERS = mkinit mksyntax mknodes mksignames
--BUILT_SOURCES = arith.h builtins.h nodes.h syntax.h token.h
-+BUILT_SOURCES = builtins.h nodes.h syntax.h token.h
- CLEANFILES = \
-       $(BUILT_SOURCES) $(patsubst %.o,%.c,$(dash_LDADD)) \
--      arith.c $(HELPERS) builtins.def
-+      $(HELPERS) builtins.def
- man_MANS = dash.1
- EXTRA_DIST = \
-diff --git a/src/arith.y b/src/arith.y
-deleted file mode 100644
-index 07b0b39..0000000
---- a/src/arith.y
-+++ /dev/null
-@@ -1,155 +0,0 @@
--%{
--/*-
-- * Copyright (c) 1993
-- *    The Regents of the University of California.  All rights reserved.
-- * Copyright (c) 1997-2005
-- *    Herbert Xu <herbert@gondor.apana.org.au>.  All rights reserved.
-- *
-- * This code is derived from software contributed to Berkeley by
-- * Kenneth Almquist.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions
-- * are met:
-- * 1. Redistributions of source code must retain the above copyright
-- *    notice, this list of conditions and the following disclaimer.
-- * 2. Redistributions in binary form must reproduce the above copyright
-- *    notice, this list of conditions and the following disclaimer in the
-- *    documentation and/or other materials provided with the distribution.
-- * 3. Neither the name of the University nor the names of its contributors
-- *    may be used to endorse or promote products derived from this software
-- *    without specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-- * SUCH DAMAGE.
-- */
--
--#include <stdlib.h>
--#include "expand.h"
--#include "shell.h"
--#include "error.h"
--#include "output.h"
--#include "memalloc.h"
--
--const char *arith_buf, *arith_startbuf;
--
--#ifndef YYBISON
--int yyparse(void);
--#endif
--void yyerror(const char *);
--#ifdef TESTARITH
--int main(int , char *[]);
--int sh_error(char *);
--#endif
--
--%}
--%token ARITH_NUM ARITH_LPAREN ARITH_RPAREN
--
--%left ARITH_OR
--%left ARITH_AND
--%left ARITH_BOR
--%left ARITH_BXOR
--%left ARITH_BAND
--%left ARITH_EQ ARITH_NE
--%left ARITH_LT ARITH_GT ARITH_GE ARITH_LE
--%left ARITH_LSHIFT ARITH_RSHIFT
--%left ARITH_ADD ARITH_SUB
--%left ARITH_MUL ARITH_DIV ARITH_REM
--%left ARITH_UNARYMINUS ARITH_UNARYPLUS ARITH_NOT ARITH_BNOT
--%%
--
--exp:  expr {
--                      return ($1);
--      }
--      ;
--
--
--expr: ARITH_LPAREN expr ARITH_RPAREN { $$ = $2; }
--      | expr ARITH_OR expr    { $$ = $1 || $3; }
--      | expr ARITH_AND expr   { $$ = $1 && $3; }
--      | expr ARITH_BOR expr   { $$ = $1 | $3; }
--      | expr ARITH_BXOR expr  { $$ = $1 ^ $3; }
--      | expr ARITH_BAND expr  { $$ = $1 & $3; }
--      | expr ARITH_EQ expr    { $$ = $1 == $3; }
--      | expr ARITH_GT expr    { $$ = $1 > $3; }
--      | expr ARITH_GE expr    { $$ = $1 >= $3; }
--      | expr ARITH_LT expr    { $$ = $1 < $3; }
--      | expr ARITH_LE expr    { $$ = $1 <= $3; }
--      | expr ARITH_NE expr    { $$ = $1 != $3; }
--      | expr ARITH_LSHIFT expr { $$ = $1 << $3; }
--      | expr ARITH_RSHIFT expr { $$ = $1 >> $3; }
--      | expr ARITH_ADD expr   { $$ = $1 + $3; }
--      | expr ARITH_SUB expr   { $$ = $1 - $3; }
--      | expr ARITH_MUL expr   { $$ = $1 * $3; }
--      | expr ARITH_DIV expr   {
--                      if ($3 == 0)
--                              yyerror("division by zero");
--                      $$ = $1 / $3;
--              }
--      | expr ARITH_REM expr   {
--                      if ($3 == 0)
--                              yyerror("division by zero");
--                      $$ = $1 % $3;
--              }
--      | ARITH_NOT expr        { $$ = !($2); }
--      | ARITH_BNOT expr       { $$ = ~($2); }
--      | ARITH_SUB expr %prec ARITH_UNARYMINUS { $$ = -($2); }
--      | ARITH_ADD expr %prec ARITH_UNARYPLUS { $$ = $2; }
--      | ARITH_NUM
--      ;
--%%
--int
--arith(s)
--      const char *s;
--{
--      long result;
--
--      arith_buf = arith_startbuf = s;
--
--      INTOFF;
--      result = yyparse();
--      arith_lex_reset();      /* reprime lex */
--      INTON;
--
--      return (result);
--}
--
--
--/*************************/
--#ifdef TEST_ARITH
--#include <stdio.h>
--main(argc, argv)
--      char *argv[];
--{
--      printf("%d\n", exp(argv[1]));
--}
--sh_error(s)
--      char *s;
--{
--      fprintf(stderr, "exp: %s\n", s);
--      exit(1);
--}
--#endif
--
--void
--yyerror(s)
--      const char *s;
--{
--
--#ifndef YYBISON
--      yyerrok;
--#endif
--      yyclearin;
--      arith_lex_reset();      /* reprime lex */
--      sh_error("arithmetic expression: %s: \"%s\"", s, arith_startbuf);
--      /* NOTREACHED */
--}
-diff --git a/src/arith_yacc.c b/src/arith_yacc.c
-new file mode 100644
-index 0000000..ad653ed
---- /dev/null
-+++ b/src/arith_yacc.c
-@@ -0,0 +1,298 @@
-+/*-
-+ * Copyright (c) 1993
-+ *    The Regents of the University of California.  All rights reserved.
-+ * Copyright (c) 2007
-+ *    Herbert Xu <herbert@gondor.apana.org.au>.  All rights reserved.
-+ *
-+ * This code is derived from software contributed to Berkeley by
-+ * Kenneth Almquist.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in the
-+ *    documentation and/or other materials provided with the distribution.
-+ * 3. Neither the name of the University nor the names of its contributors
-+ *    may be used to endorse or promote products derived from this software
-+ *    without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ */
-+
-+#include <inttypes.h>
-+#include <stdint.h>
-+#include <stdlib.h>
-+#include "arith_yacc.h"
-+#include "expand.h"
-+#include "shell.h"
-+#include "error.h"
-+#include "output.h"
-+#include "var.h"
-+
-+#if ARITH_BOR + 11 != ARITH_BORASS || ARITH_ASS + 11 != ARITH_EQ
-+#error Arithmetic tokens are out of order.
-+#endif
-+
-+static const char *arith_startbuf;
-+
-+const char *arith_buf;
-+union yystype yylval;
-+
-+static int last_token;
-+
-+#define ARITH_PRECEDENCE(op, prec) [op - ARITH_BINOP_MIN] = prec
-+
-+static const char prec[ARITH_BINOP_MAX - ARITH_BINOP_MIN] = {
-+      ARITH_PRECEDENCE(ARITH_MUL, 0),
-+      ARITH_PRECEDENCE(ARITH_DIV, 0),
-+      ARITH_PRECEDENCE(ARITH_REM, 0),
-+      ARITH_PRECEDENCE(ARITH_ADD, 1),
-+      ARITH_PRECEDENCE(ARITH_SUB, 1),
-+      ARITH_PRECEDENCE(ARITH_LSHIFT, 2),
-+      ARITH_PRECEDENCE(ARITH_RSHIFT, 2),
-+      ARITH_PRECEDENCE(ARITH_LT, 3),
-+      ARITH_PRECEDENCE(ARITH_LE, 3),
-+      ARITH_PRECEDENCE(ARITH_GT, 3),
-+      ARITH_PRECEDENCE(ARITH_GE, 3),
-+      ARITH_PRECEDENCE(ARITH_EQ, 4),
-+      ARITH_PRECEDENCE(ARITH_NE, 4),
-+      ARITH_PRECEDENCE(ARITH_BAND, 5),
-+      ARITH_PRECEDENCE(ARITH_BXOR, 6),
-+      ARITH_PRECEDENCE(ARITH_BOR, 7),
-+};
-+
-+static void yyerror(const char *s) __attribute__ ((noreturn));
-+static void yyerror(const char *s)
-+{
-+      sh_error("arithmetic expression: %s: \"%s\"", s, arith_startbuf);
-+      /* NOTREACHED */
-+}
-+
-+static inline int higher_prec(int op1, int op2)
-+{
-+      return prec[op1 - ARITH_BINOP_MIN] < prec[op2 - ARITH_BINOP_MIN];
-+}
-+
-+static intmax_t do_binop(int op, intmax_t a, intmax_t b)
-+{
-+      imaxdiv_t div;
-+
-+      switch (op) {
-+      default:
-+      case ARITH_REM:
-+      case ARITH_DIV:
-+              if (!b)
-+                      yyerror("division by zero");
-+              div = imaxdiv(a, b);
-+              return op == ARITH_REM ? div.rem : div.quot;
-+      case ARITH_MUL:
-+              return a * b;
-+      case ARITH_ADD:
-+              return a + b;
-+      case ARITH_SUB:
-+              return a - b;
-+      case ARITH_LSHIFT:
-+              return a << b;
-+      case ARITH_RSHIFT:
-+              return a >> b;
-+      case ARITH_LT:
-+              return a < b;
-+      case ARITH_LE:
-+              return a <= b;
-+      case ARITH_GT:
-+              return a > b;
-+      case ARITH_GE:
-+              return a >= b;
-+      case ARITH_EQ:
-+              return a == b;
-+      case ARITH_NE:
-+              return a != b;
-+      case ARITH_BAND:
-+              return a & b;
-+      case ARITH_BXOR:
-+              return a ^ b;
-+      case ARITH_BOR:
-+              return a | b;
-+      }
-+}
-+
-+static intmax_t assignment(int var, int noeval);
-+
-+static intmax_t primary(int token, union yystype *val, int op, int noeval)
-+{
-+      intmax_t result;
-+
-+again:
-+      switch (token) {
-+      case ARITH_LPAREN:
-+              result = assignment(op, noeval);
-+              if (last_token != ARITH_RPAREN)
-+                      yyerror("expecting ')'");
-+              last_token = yylex();
-+              return result;
-+      case ARITH_NUM:
-+              last_token = op;
-+              return val->val;
-+      case ARITH_VAR:
-+              last_token = op;
-+              return noeval ? val->val : lookupvarint(val->name);
-+      case ARITH_ADD:
-+              token = op;
-+              *val = yylval;
-+              op = yylex();
-+              goto again;
-+      case ARITH_SUB:
-+              *val = yylval;
-+              return -primary(op, val, yylex(), noeval);
-+      case ARITH_NOT:
-+              *val = yylval;
-+              return !primary(op, val, yylex(), noeval);
-+      case ARITH_BNOT:
-+              *val = yylval;
-+              return ~primary(op, val, yylex(), noeval);
-+      default:
-+              yyerror("expecting primary");
-+      }
-+}
-+
-+static intmax_t binop2(intmax_t a, int op, int noeval)
-+{
-+      for (;;) {
-+              union yystype val;
-+              intmax_t b;
-+              int op2;
-+              int token;
-+
-+              token = yylex();
-+              val = yylval;
-+
-+              b = primary(token, &val, yylex(), noeval);
-+
-+              op2 = last_token;
-+              if (op2 < ARITH_BINOP_MIN || op2 >= ARITH_BINOP_MAX)
-+                      return noeval ? b : do_binop(op, a, b);
-+
-+              if (higher_prec(op2, op)) {
-+                      b = binop2(b, op2, noeval);
-+                      return noeval ? b : do_binop(op, a, b);
-+              }
-+
-+              a = do_binop(op, a, b);
-+              op = op2;
-+      }
-+}
-+
-+static intmax_t binop(int token, union yystype *val, int op, int noeval)
-+{
-+      intmax_t a = primary(token, val, op, noeval);
-+
-+      op = last_token;
-+      if (op < ARITH_BINOP_MIN || op >= ARITH_BINOP_MAX)
-+              return a;
-+
-+      return binop2(a, op, noeval);
-+}
-+
-+static intmax_t and(int token, union yystype *val, int op, int noeval)
-+{
-+      intmax_t a = binop(token, val, op, noeval);
-+      intmax_t b;
-+
-+      op = last_token;
-+      if (op != ARITH_AND)
-+              return a;
-+
-+      token = yylex();
-+      *val = yylval;
-+
-+      b = and(token, val, yylex(), noeval | !a);
-+
-+      return a && b;
-+}
-+
-+static intmax_t or(int token, union yystype *val, int op, int noeval)
-+{
-+      intmax_t a = and(token, val, op, noeval);
-+      intmax_t b;
-+
-+      op = last_token;
-+      if (op != ARITH_OR)
-+              return a;
-+
-+      token = yylex();
-+      *val = yylval;
-+
-+      b = or(token, val, yylex(), noeval | !!a);
-+
-+      return a | b;
-+}
-+
-+static intmax_t cond(int token, union yystype *val, int op, int noeval)
-+{
-+      intmax_t a = or(token, val, op, noeval);
-+      intmax_t b;
-+      intmax_t c;
-+
-+      if (last_token != ARITH_QMARK)
-+              return a;
-+
-+      b = assignment(yylex(), noeval | !a);
-+
-+      if (last_token != ARITH_COLON)
-+              yyerror("expecting ':'");
-+
-+      token = yylex();
-+      *val = yylval;
-+
-+      c = cond(token, val, yylex(), noeval | !!a);
-+
-+      return a ? b : c;
-+}
-+
-+static intmax_t assignment(int var, int noeval)
-+{
-+      union yystype val = yylval;
-+      int op = yylex();
-+      intmax_t result;
-+
-+      if (var != ARITH_VAR)
-+              return cond(var, &val, op, noeval);
-+
-+      if (op != ARITH_ASS && (op < ARITH_ASS_MIN || op >= ARITH_ASS_MAX))
-+              return cond(var, &val, op, noeval);
-+
-+      result = assignment(yylex(), noeval);
-+      if (noeval)
-+              return result;
-+
-+      return setvarint(val.name,
-+                       op == ARITH_ASS ? result :
-+                       do_binop(op - 11, lookupvarint(val.name), result));
-+}
-+
-+intmax_t arith(const char *s)
-+{
-+      intmax_t result;
-+
-+      arith_buf = arith_startbuf = s;
-+
-+      result = assignment(yylex(), 0);
-+
-+      if (last_token)
-+              yyerror("expecting EOF");
-+
-+      return result;
-+}
-diff --git a/src/arith_yacc.h b/src/arith_yacc.h
-new file mode 100644
-index 0000000..ff34d52
---- /dev/null
-+++ b/src/arith_yacc.h
-@@ -0,0 +1,89 @@
-+/*-
-+ * Copyright (c) 1993
-+ *    The Regents of the University of California.  All rights reserved.
-+ * Copyright (c) 2007
-+ *    Herbert Xu <herbert@gondor.apana.org.au>.  All rights reserved.
-+ *
-+ * This code is derived from software contributed to Berkeley by
-+ * Kenneth Almquist.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in the
-+ *    documentation and/or other materials provided with the distribution.
-+ * 3. Neither the name of the University nor the names of its contributors
-+ *    may be used to endorse or promote products derived from this software
-+ *    without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ */
-+
-+#define ARITH_ASS 1
-+
-+#define ARITH_OR 2
-+#define ARITH_AND 3
-+#define ARITH_BAD 4
-+#define ARITH_NUM 5
-+#define ARITH_VAR 6
-+#define ARITH_NOT 7
-+
-+#define ARITH_BINOP_MIN 8
-+#define ARITH_LE 8
-+#define ARITH_GE 9
-+#define ARITH_LT 10
-+#define ARITH_GT 11
-+#define ARITH_EQ 12
-+#define ARITH_REM 13
-+#define ARITH_BAND 14
-+#define ARITH_LSHIFT 15
-+#define ARITH_RSHIFT 16
-+#define ARITH_MUL 17
-+#define ARITH_ADD 18
-+#define ARITH_BOR 19
-+#define ARITH_SUB 20
-+#define ARITH_BXOR 21
-+#define ARITH_DIV 22
-+#define ARITH_NE 23
-+#define ARITH_BINOP_MAX 24
-+
-+#define ARITH_ASS_MIN 24
-+#define ARITH_REMASS 24
-+#define ARITH_BANDASS 25
-+#define ARITH_LSHIFTASS 26
-+#define ARITH_RSHIFTASS 27
-+#define ARITH_MULASS 28
-+#define ARITH_ADDASS 29
-+#define ARITH_BORASS 30
-+#define ARITH_SUBASS 31
-+#define ARITH_BXORASS 32
-+#define ARITH_DIVASS 33
-+#define ARITH_ASS_MAX 34
-+
-+#define ARITH_LPAREN 34
-+#define ARITH_RPAREN 35
-+#define ARITH_BNOT 36
-+#define ARITH_QMARK 37
-+#define ARITH_COLON 38
-+
-+union yystype {
-+      intmax_t val;
-+      char *name;
-+};
-+
-+extern union yystype yylval;
-+
-+int yylex(void);
-diff --git a/src/arith_yylex.c b/src/arith_yylex.c
-index 4fa2051..0f46990 100644
---- a/src/arith_yylex.c
-+++ b/src/arith_yylex.c
-@@ -32,19 +32,28 @@
-  * SUCH DAMAGE.
-  */
-+#include <inttypes.h>
- #include <stdlib.h>
--#include "arith.h"
-+#include <string.h>
-+#include "arith_yacc.h"
- #include "expand.h"
- #include "error.h"
-+#include "shell.h"
-+#include "memalloc.h"
-+#include "syntax.h"
--extern int yylval;
--extern const char *arith_buf, *arith_startbuf;
-+#if ARITH_BOR + 11 != ARITH_BORASS || ARITH_ASS + 11 != ARITH_EQ
-+#error Arithmetic tokens are out of order.
-+#endif
-+
-+extern const char *arith_buf;
- int
- yylex()
- {
-       int value;
-       const char *buf = arith_buf;
-+      const char *p;
-       for (;;) {
-               switch (*buf) {
-@@ -54,9 +63,7 @@ yylex()
-                       buf++;
-                       continue;
-               default:
--err:
--                      sh_error("arith: syntax error: \"%s\"", arith_startbuf);
--                      /* NOTREACHED */
-+                      return ARITH_BAD;
-               case '0':
-               case '1':
-               case '2':
-@@ -67,13 +74,74 @@ err:
-               case '7':
-               case '8':
-               case '9':
--                      yylval = strtoll(buf, (char **) &arith_buf, 0);
-+                      yylval.val = strtoimax(buf, (char **)&arith_buf, 0);
-                       return ARITH_NUM;
-+              case 'A':
-+              case 'B':
-+              case 'C':
-+              case 'D':
-+              case 'E':
-+              case 'F':
-+              case 'G':
-+              case 'H':
-+              case 'I':
-+              case 'J':
-+              case 'K':
-+              case 'L':
-+              case 'M':
-+              case 'N':
-+              case 'O':
-+              case 'P':
-+              case 'Q':
-+              case 'R':
-+              case 'S':
-+              case 'T':
-+              case 'U':
-+              case 'V':
-+              case 'W':
-+              case 'X':
-+              case 'Y':
-+              case 'Z':
-+              case '_':
-+              case 'a':
-+              case 'b':
-+              case 'c':
-+              case 'd':
-+              case 'e':
-+              case 'f':
-+              case 'g':
-+              case 'h':
-+              case 'i':
-+              case 'j':
-+              case 'k':
-+              case 'l':
-+              case 'm':
-+              case 'n':
-+              case 'o':
-+              case 'p':
-+              case 'q':
-+              case 'r':
-+              case 's':
-+              case 't':
-+              case 'u':
-+              case 'v':
-+              case 'w':
-+              case 'x':
-+              case 'y':
-+              case 'z':
-+                      p = buf;
-+                      while (buf++, is_in_name(*buf))
-+                              ;
-+                      yylval.name = stalloc(buf - p + 1);
-+                      *(char *)mempcpy(yylval.name, p, buf - p) = 0;
-+                      value = ARITH_VAR;
-+                      goto out;
-               case '=':
--                      if (*++buf != '=') {
--                              goto err;
--                      }
--                      value = ARITH_EQ;
-+                      value = ARITH_ASS;
-+checkeq:
-+                      if (*++buf != '=')
-+                              goto out;
-+                      value += 11;
-                       break;
-               case '>':
-                       switch (*++buf) {
-@@ -82,7 +150,7 @@ err:
-                               break;
-                       case '>':
-                               value = ARITH_RSHIFT;
--                              break;
-+                              goto checkeq;
-                       default:
-                               value = ARITH_GT;
-                               goto out;
-@@ -95,7 +163,7 @@ err:
-                               break;
-                       case '<':
-                               value = ARITH_LSHIFT;
--                              break;
-+                              goto checkeq;
-                       default:
-                               value = ARITH_LT;
-                               goto out;
-@@ -104,14 +172,14 @@ err:
-               case '|':
-                       if (*++buf != '|') {
-                               value = ARITH_BOR;
--                              goto out;
-+                              goto checkeq;
-                       }
-                       value = ARITH_OR;
-                       break;
-               case '&':
-                       if (*++buf != '&') {
-                               value = ARITH_BAND;
--                              goto out;
-+                              goto checkeq;
-                       }
-                       value = ARITH_AND;
-                       break;
-@@ -133,24 +201,30 @@ err:
-                       break;
-               case '*':
-                       value = ARITH_MUL;
--                      break;
-+                      goto checkeq;
-               case '/':
-                       value = ARITH_DIV;
--                      break;
-+                      goto checkeq;
-               case '%':
-                       value = ARITH_REM;
--                      break;
-+                      goto checkeq;
-               case '+':
-                       value = ARITH_ADD;
--                      break;
-+                      goto checkeq;
-               case '-':
-                       value = ARITH_SUB;
--                      break;
-+                      goto checkeq;
-               case '~':
-                       value = ARITH_BNOT;
-                       break;
-               case '^':
-                       value = ARITH_BXOR;
-+                      goto checkeq;
-+              case '?':
-+                      value = ARITH_QMARK;
-+                      break;
-+              case ':':
-+                      value = ARITH_COLON;
-                       break;
-               }
-               break;
-diff --git a/src/expand.c b/src/expand.c
-index 54fe908..9cb8eab 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -42,6 +42,7 @@
- #endif
- #include <stdlib.h>
- #include <stdio.h>
-+#include <stdint.h>
- #include <limits.h>
- #include <string.h>
- #if defined(__GLIBC__)
-@@ -142,7 +143,7 @@ STATIC int pmatch(const char *, const char *);
- #else
- #define pmatch(a, b) !fnmatch((a), (b), 0)
- #endif
--STATIC int cvtnum(long);
-+STATIC int cvtnum(intmax_t);
- STATIC size_t esclen(const char *, const char *);
- STATIC char *scanleft(char *, char *, char *, char *, int, int);
- STATIC char *scanright(char *, char *, char *, char *, int, int);
-@@ -478,9 +479,11 @@ removerecordregions(int endoff)
- void
- expari(int flag)
- {
-+      struct stackmark sm;
-       char *p, *start;
-       int begoff;
-       int len;
-+      intmax_t result;
-       /*      ifsfree(); */
-@@ -490,8 +493,9 @@ expari(int flag)
-        * start of arithmetic.
-        */
-       start = stackblock();
--      p = expdest - 1;
--      *p = '\0';
-+      p = expdest;
-+      pushstackmark(&sm, p - start);
-+      *--p = '\0';
-       p--;
-       do {
-               int esc;
-@@ -522,7 +526,10 @@ expari(int flag)
-       if (flag & QUOTES_ESC)
-               rmescapes(p + 1);
--      len = cvtnum(arith(p + 1));
-+      result = arith(p + 1);
-+      popstackmark(&sm);
-+
-+      len = cvtnum(result);
-       if (!(flag & EXP_QUOTED))
-               recordregion(begoff, begoff + len, 0);
-@@ -1707,12 +1714,12 @@ casematch(union node *pattern, char *val)
-  */
- STATIC int
--cvtnum(long num)
-+cvtnum(intmax_t num)
- {
--      int len;
-+      int len = max_int_length(sizeof(num));
--      expdest = makestrspace(32, expdest);
--      len = fmtstr(expdest, 32, "%ld", num);
-+      expdest = makestrspace(len, expdest);
-+      len = fmtstr(expdest, len, "%jd", num);
-       STADJUST(len, expdest);
-       return len;
- }
-diff --git a/src/expand.h b/src/expand.h
-index 4dfbc43..225b004 100644
---- a/src/expand.h
-+++ b/src/expand.h
-@@ -34,6 +34,8 @@
-  *    @(#)expand.h    8.2 (Berkeley) 5/4/95
-  */
-+#include <stdint.h>
-+
- struct strlist {
-       struct strlist *next;
-       char *text;
-@@ -68,7 +70,7 @@ char *_rmescapes(char *, int);
- int casematch(union node *, char *);
- /* From arith.y */
--int arith(const char *);
-+intmax_t arith(const char *);
- int expcmd(int , char **);
- #ifdef USE_LEX
- void arith_lex_reset(void);
-diff --git a/src/mystring.c b/src/mystring.c
-index df1691b..b84b7e2 100644
---- a/src/mystring.c
-+++ b/src/mystring.c
-@@ -112,13 +112,13 @@ prefix(const char *string, const char *pfx)
- /*
-  * Convert a string into an integer of type intmax_t.  Alow trailing spaces.
-  */
--intmax_t atomax10(const char *s)
-+intmax_t atomax(const char *s, int base)
- {
-       char *p;
-       intmax_t r;
-       errno = 0;
--      r = strtoimax(s, &p, 10);
-+      r = strtoimax(s, &p, base);
-       if (errno != 0)
-               sh_error(illnum, s);
-@@ -132,6 +132,11 @@ intmax_t atomax10(const char *s)
-       return r;
- }
-+intmax_t atomax10(const char *s)
-+{
-+      return atomax(s, 10);
-+}
-+
- /*
-  * Convert a string of digits to an integer, printing an error message on
-  * failure.
-diff --git a/src/mystring.h b/src/mystring.h
-index c9cade6..477cd16 100644
---- a/src/mystring.h
-+++ b/src/mystring.h
-@@ -48,6 +48,7 @@ extern const char homestr[];
- void scopyn(const char *, char *, int);
- #endif
- char *prefix(const char *, const char *);
-+intmax_t atomax(const char *, int);
- intmax_t atomax10(const char *);
- int number(const char *);
- int is_number(const char *);
-diff --git a/src/shell.h b/src/shell.h
-index 9b67696..98edc8b 100644
---- a/src/shell.h
-+++ b/src/shell.h
-@@ -92,3 +92,13 @@ extern char nullstr[1];             /* null string */
- #define likely(x)     __builtin_expect(!!(x),1)
- #define unlikely(x)   __builtin_expect(!!(x),0)
-+
-+/*
-+ * Hack to calculate maximum length.
-+ * (length * 8 - 1) * log10(2) + 1 + 1 + 12
-+ * The second 1 is for the minus sign and the 12 is a safety margin.
-+ */
-+static inline int max_int_length(int bytes)
-+{
-+      return (bytes * 8 - 1) * 0.30102999566398119521 + 14;
-+}
-diff --git a/src/var.c b/src/var.c
-index 501a279..17d3637 100644
---- a/src/var.c
-+++ b/src/var.c
-@@ -202,6 +202,21 @@ setvar(const char *name, const char *val, int flags)
-       INTON;
- }
-+/*
-+ * Set the given integer as the value of a variable.  The flags argument is
-+ * ored with the flags of the variable.
-+ */
-+
-+intmax_t setvarint(const char *name, intmax_t val)
-+{
-+      int len = max_int_length(sizeof(val));
-+      char buf[len];
-+
-+      fmtstr(buf, len, "%jd", val);
-+      setvar(name, buf, 0);
-+      return val;
-+}
-+
- /*
-@@ -293,6 +308,11 @@ lookupvar(const char *name)
-       return NULL;
- }
-+intmax_t lookupvarint(const char *name)
-+{
-+      return atomax(lookupvar(name) ?: nullstr, 0);
-+}
-+
- /*
-diff --git a/src/var.h b/src/var.h
-index ae58c6c..66443df 100644
---- a/src/var.h
-+++ b/src/var.h
-@@ -34,6 +34,8 @@
-  *    @(#)var.h       8.2 (Berkeley) 5/4/95
-  */
-+#include <stdint.h>
-+
- /*
-  * Shell variables.
-  */
-@@ -125,10 +127,12 @@ extern const char defpathvar[];
- void initvar(void);
- void setvar(const char *, const char *, int);
-+intmax_t setvarint(const char *, intmax_t);
- void setvareq(char *, int);
- struct strlist;
- void listsetvar(struct strlist *, int);
- char *lookupvar(const char *);
-+intmax_t lookupvarint(const char *);
- char *bltinlookup(const char *);
- char **listvars(int, int, char ***);
- #define environment() listvars(VEXPORT, VUNSET, 0)
--- 
-1.5.5
-
-From 7501b55f699ab71fc6cd2667716e70eebaa2868a Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 11 Oct 2007 22:38:46 +0800
-Subject: [PATCH] [ARITH] Size optimisations in arithmetic lexer
-
-Use += instead of straight assignment for token value.
----
- ChangeLog         |    1 +
- src/arith_yylex.c |   52 ++++++++++++++++++++++++++--------------------------
- 2 files changed, 27 insertions(+), 26 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 895c607..1f26b83 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-10-11  Herbert Xu <herbert@gondor.apana.org.au>
-       * Add assignment support in arithmetic expansions.
-+      * Size optimisations in arithmetic lexer.
- 2007-10-08  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/arith_yylex.c b/src/arith_yylex.c
-index 0f46990..2c15657 100644
---- a/src/arith_yylex.c
-+++ b/src/arith_yylex.c
-@@ -56,7 +56,8 @@ yylex()
-       const char *p;
-       for (;;) {
--              switch (*buf) {
-+              value = *buf;
-+              switch (value) {
-               case ' ':
-               case '\t':
-               case '\n':
-@@ -137,7 +138,7 @@ yylex()
-                       value = ARITH_VAR;
-                       goto out;
-               case '=':
--                      value = ARITH_ASS;
-+                      value += ARITH_ASS - '=';
- checkeq:
-                       if (*++buf != '=')
-                               goto out;
-@@ -146,85 +147,84 @@ checkeq:
-               case '>':
-                       switch (*++buf) {
-                       case '=':
--                              value = ARITH_GE;
-+                              value += ARITH_GE - '>';
-                               break;
-                       case '>':
--                              value = ARITH_RSHIFT;
-+                              value += ARITH_RSHIFT - '>';
-                               goto checkeq;
-                       default:
--                              value = ARITH_GT;
-+                              value += ARITH_GT - '>';
-                               goto out;
-                       }
-                       break;
-               case '<':
-                       switch (*++buf) {
-                       case '=':
--                              value = ARITH_LE;
-+                              value += ARITH_LE - '<';
-                               break;
-                       case '<':
--                              value = ARITH_LSHIFT;
-+                              value += ARITH_LSHIFT - '<';
-                               goto checkeq;
-                       default:
--                              value = ARITH_LT;
-+                              value += ARITH_LT - '<';
-                               goto out;
-                       }
-                       break;
-               case '|':
-                       if (*++buf != '|') {
--                              value = ARITH_BOR;
-+                              value += ARITH_BOR - '|';
-                               goto checkeq;
-                       }
--                      value = ARITH_OR;
-+                      value += ARITH_OR - '|';
-                       break;
-               case '&':
-                       if (*++buf != '&') {
--                              value = ARITH_BAND;
-+                              value += ARITH_BAND - '&';
-                               goto checkeq;
-                       }
--                      value = ARITH_AND;
-+                      value += ARITH_AND - '&';
-                       break;
-               case '!':
-                       if (*++buf != '=') {
--                              value = ARITH_NOT;
-+                              value += ARITH_NOT - '!';
-                               goto out;
-                       }
--                      value = ARITH_NE;
-+                      value += ARITH_NE - '!';
-                       break;
-               case 0:
--                      value = 0;
-                       goto out;
-               case '(':
--                      value = ARITH_LPAREN;
-+                      value += ARITH_LPAREN - '(';
-                       break;
-               case ')':
--                      value = ARITH_RPAREN;
-+                      value += ARITH_RPAREN - ')';
-                       break;
-               case '*':
--                      value = ARITH_MUL;
-+                      value += ARITH_MUL - '*';
-                       goto checkeq;
-               case '/':
--                      value = ARITH_DIV;
-+                      value += ARITH_DIV - '/';
-                       goto checkeq;
-               case '%':
--                      value = ARITH_REM;
-+                      value += ARITH_REM - '%';
-                       goto checkeq;
-               case '+':
--                      value = ARITH_ADD;
-+                      value += ARITH_ADD - '+';
-                       goto checkeq;
-               case '-':
--                      value = ARITH_SUB;
-+                      value += ARITH_SUB - '-';
-                       goto checkeq;
-               case '~':
--                      value = ARITH_BNOT;
-+                      value += ARITH_BNOT - '~';
-                       break;
-               case '^':
--                      value = ARITH_BXOR;
-+                      value += ARITH_BXOR - '^';
-                       goto checkeq;
-               case '?':
--                      value = ARITH_QMARK;
-+                      value += ARITH_QMARK - '?';
-                       break;
-               case ':':
--                      value = ARITH_COLON;
-+                      value += ARITH_COLON - ':';
-                       break;
-               }
-               break;
--- 
-1.5.5
-
-From cb854af0a92e82e4640df0a8152280b9c9628da8 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 11 Oct 2007 22:42:04 +0800
-Subject: [PATCH] [EXPAND] Add likely flags in expari
-
-The case where the expansion isn't quoted is the norm.
----
- ChangeLog    |    1 +
- src/expand.c |    4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 1f26b83..98c546e 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -2,6 +2,7 @@
-       * Add assignment support in arithmetic expansions.
-       * Size optimisations in arithmetic lexer.
-+      * Add likely flags in expari.
- 2007-10-08  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/expand.c b/src/expand.c
-index 9cb8eab..5c31400 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -523,7 +523,7 @@ expari(int flag)
-       expdest = p;
--      if (flag & QUOTES_ESC)
-+      if (likely(flag & QUOTES_ESC))
-               rmescapes(p + 1);
-       result = arith(p + 1);
-@@ -531,7 +531,7 @@ expari(int flag)
-       len = cvtnum(result);
--      if (!(flag & EXP_QUOTED))
-+      if (likely(!(flag & EXP_QUOTED)))
-               recordregion(begoff, begoff + len, 0);
- }
--- 
-1.5.5
-
-From 894c375d54ef5c0d90523d9aa06ec183e5894122 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 11 Oct 2007 22:44:40 +0800
-Subject: [PATCH] [BUILTIN] Use setvarint to set OPTIND
-
-This patch adds a flag argument to setvarint and uses it to set the OPTIND
-variable.
----
- ChangeLog        |    1 +
- src/arith_yacc.c |    2 +-
- src/options.c    |    5 ++---
- src/var.c        |    4 ++--
- src/var.h        |    2 +-
- 5 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 98c546e..00c09c3 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -3,6 +3,7 @@
-       * Add assignment support in arithmetic expansions.
-       * Size optimisations in arithmetic lexer.
-       * Add likely flags in expari.
-+      * Use setvarint to set OPTIND.
- 2007-10-08  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/arith_yacc.c b/src/arith_yacc.c
-index ad653ed..e473594 100644
---- a/src/arith_yacc.c
-+++ b/src/arith_yacc.c
-@@ -280,7 +280,7 @@ static intmax_t assignment(int var, int noeval)
-       return setvarint(val.name,
-                        op == ARITH_ASS ? result :
--                       do_binop(op - 11, lookupvarint(val.name), result));
-+                       do_binop(op - 11, lookupvarint(val.name), result), 0);
- }
- intmax_t arith(const char *s)
-diff --git a/src/options.c b/src/options.c
-index 568148a..f669117 100644
---- a/src/options.c
-+++ b/src/options.c
-@@ -419,7 +419,7 @@ getopts(char *optstr, char *optvar, char **optfirst)
-       char *p, *q;
-       char c = '?';
-       int done = 0;
--      char s[12];
-+      char s[2];
-       char **optnext;
-       int ind = shellparam.optind;
-       int off = shellparam.optoff;
-@@ -487,8 +487,7 @@ atend:
- out:
-       ind = optnext - optfirst + 1;
--      fmtstr(s, sizeof(s), "%d", ind);
--      setvar("OPTIND", s, VNOFUNC);
-+      setvarint("OPTIND", ind, VNOFUNC);
-       s[0] = c;
-       s[1] = '\0';
-       setvar(optvar, s, 0);
-diff --git a/src/var.c b/src/var.c
-index 17d3637..7f9af9c 100644
---- a/src/var.c
-+++ b/src/var.c
-@@ -207,13 +207,13 @@ setvar(const char *name, const char *val, int flags)
-  * ored with the flags of the variable.
-  */
--intmax_t setvarint(const char *name, intmax_t val)
-+intmax_t setvarint(const char *name, intmax_t val, int flags)
- {
-       int len = max_int_length(sizeof(val));
-       char buf[len];
-       fmtstr(buf, len, "%jd", val);
--      setvar(name, buf, 0);
-+      setvar(name, buf, flags);
-       return val;
- }
-diff --git a/src/var.h b/src/var.h
-index 66443df..e4e2cff 100644
---- a/src/var.h
-+++ b/src/var.h
-@@ -127,7 +127,7 @@ extern const char defpathvar[];
- void initvar(void);
- void setvar(const char *, const char *, int);
--intmax_t setvarint(const char *, intmax_t);
-+intmax_t setvarint(const char *, intmax_t, int);
- void setvareq(char *, int);
- struct strlist;
- void listsetvar(struct strlist *, int);
--- 
-1.5.5
-
-From cbf7553964832984f17c0c16ff071970e19a45c2 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Mon, 15 Oct 2007 20:24:28 +0800
-Subject: [PATCH] [EXEC] Fixed execing of scripts with no hash-bang
-
-The function tryexec used the original name instead of the path found through
-PATH search.  This patch fixes that.
-
-Test case:
-
-       trap 'rm -f $TMP' EXIT
-       TMP=$(tempfile -s nosuchthing)
-
-       cat <<- EOF > $TMP
-               echo OK
-       EOF
-       chmod u+x $TMP
-
-       cd /
-       PATH=${TMP%/*} ${TMP##*/}
-
-Old result:
-
-       /bin/sh: Can't open filelgY4Fanosuchthing
-
-New result:
-
-       OK
----
- ChangeLog  |    4 ++++
- src/eval.c |    3 ++-
- src/exec.c |   21 +++------------------
- 3 files changed, 9 insertions(+), 19 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 00c09c3..60bdfb5 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-15  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Fixed execing of scripts with no hash-bang.
-+
- 2007-10-11  Herbert Xu <herbert@gondor.apana.org.au>
-       * Add assignment support in arithmetic expansions.
-diff --git a/src/eval.c b/src/eval.c
-index 2aa8317..1e0edd9 100644
---- a/src/eval.c
-+++ b/src/eval.c
-@@ -727,7 +727,8 @@ evalcommand(union node *cmd, int flags)
-                       argc++;
-       }
--      argv = nargv = stalloc(sizeof (char *) * (argc + 1));
-+      /* Reserve one extra spot at the front for shellexec. */
-+      argv = nargv = stalloc(sizeof (char *) * (argc + 2)) + 1;
-       for (sp = arglist.list ; sp ; sp = sp->next) {
-               TRACE(("evalcommand arg: %s\n", sp->text));
-               *nargv++ = sp->text;
-diff --git a/src/exec.c b/src/exec.c
-index 8a1f722..bbb70e8 100644
---- a/src/exec.c
-+++ b/src/exec.c
-@@ -149,11 +149,6 @@ shellexec(char **argv, const char *path, int idx)
- STATIC void
- tryexec(char *cmd, char **argv, char **envp)
- {
--      int repeated = 0;
--#if !defined(BSD) && !defined(linux)
--      char *p;
--#endif
--
- repeat:
- #ifdef SYSV
-       do {
-@@ -162,19 +157,9 @@ repeat:
- #else
-       execve(cmd, argv, envp);
- #endif
--      if (repeated++) {
--              ckfree(argv);
--      } else if (errno == ENOEXEC) {
--              char **ap;
--              char **new;
--
--              for (ap = argv; *ap; ap++)
--                      ;
--              ap = new = ckmalloc((ap - argv + 2) * sizeof(char *));
--              *ap++ = cmd = _PATH_BSHELL;
--              while ((*ap++ = *argv++))
--                      ;
--              argv = new;
-+      if (cmd != _PATH_BSHELL && errno == ENOEXEC) {
-+              *argv-- = cmd;
-+              *argv = cmd = _PATH_BSHELL;
-               goto repeat;
-       }
- }
--- 
-1.5.5
-
-From 63a0dd11d73e7b716a95373aa159f0faab557cb2 Mon Sep 17 00:00:00 2001
-From: Oleg Verych <olecom@flower.upol.cz>
-Date: Wed, 17 Oct 2007 12:34:03 +0800
-Subject: [PATCH] [BUILTIN] Disallow completely blank strings in non-arithmetic context.
-
-* NULL as a number argument:
-
-olecom@deen:/mnt/debian/src/dash-0.5.3$ time src/dash tst-01.sh
-test: 20: `': bad number
-`' eq 0: 2  must be >1, Not A Number
-test: 20: `': bad number
-`' ne 0: 2  must be >1, Not A Number
-test: 20: `': bad number
-`' gt 0: 2  must be >1, Not A Number
-test: 20: `': bad number
-`' ge 0: 2  must be >1, Not A Number
-test: 20: `': bad number
-`' lt 0: 2  must be >1, Not A Number
-test: 20: `': bad number
-`' le 0: 2  must be >1, Not A Number
-/usr/bin/test: invalid integer `'
-`' eq 0: 2  must be >1, Not A Number
-/usr/bin/test: invalid integer `'
-`' ne 0: 2  must be >1, Not A Number
-/usr/bin/test: invalid integer `'
-`' gt 0: 2  must be >1, Not A Number
-/usr/bin/test: invalid integer `'
-`' ge 0: 2  must be >1, Not A Number
-/usr/bin/test: invalid integer `'
-`' lt 0: 2  must be >1, Not A Number
-/usr/bin/test: invalid integer `'
-`' le 0: 2  must be >1, Not A Number
-
-#!/usr/bin/printf This not executable script%c\n
-
-test_arithm() {
-    for aop in eq ne gt ge lt le
-    do  "$1" 0 -$aop "$NOTHING"
-       echo "\`' $aop 0:" $? " must be >1, Not A Number"
-    done
-}
-# opengroup.org/onlinepubs/000095399/utilites/test.html (nothing about long):
-test_arithm test
-test_arithm /usr/bin/test
-
-# shend
----
- ChangeLog      |    4 ++++
- src/mystring.c |    7 +++++++
- 2 files changed, 11 insertions(+), 0 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 60bdfb5..47a4bb0 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-17  Oleg Verych <olecom@flower.upol.cz>
-+
-+      * Disallow completely blank strings in non-arithmetic context.
-+
- 2007-10-15  Herbert Xu <herbert@gondor.apana.org.au>
-       * Fixed execing of scripts with no hash-bang.
-diff --git a/src/mystring.c b/src/mystring.c
-index b84b7e2..8e1200a 100644
---- a/src/mystring.c
-+++ b/src/mystring.c
-@@ -123,6 +123,13 @@ intmax_t atomax(const char *s, int base)
-       if (errno != 0)
-               sh_error(illnum, s);
-+      /*
-+       * Disallow completely blank strings in non-arithmetic (base != 0)
-+       * contexts.
-+       */
-+      if (base && (p == s))
-+              sh_error(illnum, s);
-+
-       while (isspace((unsigned char)*p))
-             p++;
--- 
-1.5.5
-
-From 044393f703ffb1b87b207ad66869d3ebb9e09eaa Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Wed, 17 Oct 2007 12:51:08 +0800
-Subject: [PATCH] [SHELL] Replace shared illnum message by badnum function.
-
-This patch adds the badnum function and uses it to mostly replace the use
-of illnum except in miscbltin where the current code turns out to be smaller
-because of the twin sh_error calls.
----
- ChangeLog      |    4 ++++
- src/eval.c     |    2 +-
- src/mystring.c |   14 +++++++++-----
- src/mystring.h |    1 +
- 4 files changed, 15 insertions(+), 6 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 47a4bb0..ba9d5d5 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-10-15  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Replace shared illnum message by badnum function.
-+
- 2007-10-17  Oleg Verych <olecom@flower.upol.cz>
-       * Disallow completely blank strings in non-arithmetic context.
-diff --git a/src/eval.c b/src/eval.c
-index 1e0edd9..17b558d 100644
---- a/src/eval.c
-+++ b/src/eval.c
-@@ -1028,7 +1028,7 @@ breakcmd(int argc, char **argv)
-       int n = argc > 1 ? number(argv[1]) : 1;
-       if (n <= 0)
--              sh_error(illnum, argv[1]);
-+              badnum(argv[1]);
-       if (n > loopnest)
-               n = loopnest;
-       if (n > 0) {
-diff --git a/src/mystring.c b/src/mystring.c
-index 8e1200a..ce48c82 100644
---- a/src/mystring.c
-+++ b/src/mystring.c
-@@ -108,6 +108,10 @@ prefix(const char *string, const char *pfx)
-       return (char *) string;
- }
-+void badnum(const char *s)
-+{
-+      sh_error(illnum, s);
-+}
- /*
-  * Convert a string into an integer of type intmax_t.  Alow trailing spaces.
-@@ -121,20 +125,20 @@ intmax_t atomax(const char *s, int base)
-       r = strtoimax(s, &p, base);
-       if (errno != 0)
--              sh_error(illnum, s);
-+              badnum(s);
-       /*
-        * Disallow completely blank strings in non-arithmetic (base != 0)
-        * contexts.
-        */
--      if (base && (p == s))
--              sh_error(illnum, s);
-+      if (p == s && base)
-+              badnum(s);
-       while (isspace((unsigned char)*p))
-             p++;
-       if (*p)
--              sh_error(illnum, s);
-+              badnum(s);
-       return r;
- }
-@@ -155,7 +159,7 @@ number(const char *s)
-       intmax_t n = atomax10(s);
-       if (n < 0 || n > INT_MAX)
--              sh_error(illnum, s);
-+              badnum(s);
-       return n;
- }
-diff --git a/src/mystring.h b/src/mystring.h
-index 477cd16..2e0540a 100644
---- a/src/mystring.h
-+++ b/src/mystring.h
-@@ -48,6 +48,7 @@ extern const char homestr[];
- void scopyn(const char *, char *, int);
- #endif
- char *prefix(const char *, const char *);
-+void badnum(const char *s) __attribute__ ((noreturn));
- intmax_t atomax(const char *, int);
- intmax_t atomax10(const char *);
- int number(const char *);
--- 
-1.5.5
-
-From 0db88ff47ad488680bce86defd7254f4f682e850 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 20 Oct 2007 18:26:23 +0800
-Subject: [PATCH] [EXPAND] Added configure --enable-glob and --enable-fnmatch options
-
-Debian's libc6 as of 2.6.1-6 has working glob(3)/fnmatch(3) support.
-This patch adds the options --enable-glob and --enable-fnmatch to
-the configure script.  By default glob(3) and fnmatch(3) are still
-unused.  However, on distros where the glibc is known to work you
-may enable these options.
----
- ChangeLog       |    6 +++++-
- configure.ac    |   13 +++++++++++++
- src/Makefile.am |    2 +-
- src/expand.c    |   25 ++++++++-----------------
- 4 files changed, 27 insertions(+), 19 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index ba9d5d5..a821c32 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,4 +1,8 @@
--2007-10-15  Herbert Xu <herbert@gondor.apana.org.au>
-+2007-10-20  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Added configure --enable-glob and --enable-fnmatch options.
-+
-+2007-10-17  Herbert Xu <herbert@gondor.apana.org.au>
-       * Replace shared illnum message by badnum function.
-diff --git a/configure.ac b/configure.ac
-index 5e8f17d..ccc4ac1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -24,6 +24,10 @@ if test "$enable_static" = "yes"; then
-       export LDFLAGS="-static -Wl,--fatal-warnings"
- fi
-+AC_ARG_ENABLE(fnmatch, AS_HELP_STRING(--enable-fnmatch, \
-+                                    [Use fnmatch(3) from libc]))
-+AC_ARG_ENABLE(glob, AS_HELP_STRING(--enable-glob, [Use glob(3) from libc]))
-+
- dnl Checks for libraries.
- dnl Checks for header files.
-@@ -32,6 +36,15 @@ dnl Checks for library functions.
- AC_CHECK_FUNCS(bsearch getpwnam getrlimit isalpha killpg mempcpy sigsetmask \
-              stpcpy strchrnul strsignal strtod strtoimax strtoumax sysconf)
-+if test "$enable_fnmatch" = yes; then
-+      use_fnmatch=
-+      AC_CHECK_FUNCS(fnmatch, use_fnmatch=yes)
-+fi
-+
-+if test "$use_fnmatch" = yes && test "$enable_glob" = yes; then
-+      AC_CHECK_FUNCS(glob)
-+fi
-+
- dnl Check for klibc signal.
- AC_CHECK_FUNC(signal)
- if test "$ac_cv_func_signal" != yes; then
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 49026a3..e9130eb 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -4,7 +4,7 @@ COMMON_CFLAGS = -Wall
- COMMON_CPPFLAGS = \
-       -include $(top_builddir)/config.h \
-       -DBSD=1 -DSHELL \
--      -DGLOB_BROKEN -DFNMATCH_BROKEN -DIFS_BROKEN
-+      -DIFS_BROKEN
- AM_CFLAGS = $(COMMON_CFLAGS)
- AM_CPPFLAGS = $(COMMON_CPPFLAGS)
-diff --git a/src/expand.c b/src/expand.c
-index 5c31400..c489446 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -45,16 +45,9 @@
- #include <stdint.h>
- #include <limits.h>
- #include <string.h>
--#if defined(__GLIBC__)
--#if !defined(FNMATCH_BROKEN)
- #include <fnmatch.h>
--#if !defined(GLOB_BROKEN)
- #include <glob.h>
--#endif
--#else
- #include <ctype.h>
--#endif
--#endif
- /*
-  * Routines to expand arguments to commands.  We have to deal with
-@@ -127,18 +120,16 @@ STATIC void removerecordregions(int);
- STATIC void ifsbreakup(char *, struct arglist *);
- STATIC void ifsfree(void);
- STATIC void expandmeta(struct strlist *, int);
--#if defined(__GLIBC__) && !defined(FNMATCH_BROKEN) && !defined(GLOB_BROKEN)
-+#ifdef HAVE_GLOB
- STATIC void addglob(const glob_t *);
- #else
- STATIC void expmeta(char *, char *);
--#endif
--STATIC void addfname(char *);
--#if !(defined(__GLIBC__) && !defined(FNMATCH_BROKEN) && !defined(GLOB_BROKEN))
- STATIC struct strlist *expsort(struct strlist *);
- STATIC struct strlist *msort(struct strlist *, int);
- #endif
-+STATIC void addfname(char *);
- STATIC int patmatch(char *, const char *);
--#if !defined(__GLIBC__) || defined(FNMATCH_BROKEN)
-+#ifndef HAVE_FNMATCH
- STATIC int pmatch(const char *, const char *);
- #else
- #define pmatch(a, b) !fnmatch((a), (b), 0)
-@@ -1159,7 +1150,7 @@ ifsfree(void)
-  * should be escapes.  The results are stored in the list exparg.
-  */
--#if defined(__GLIBC__) && !defined(FNMATCH_BROKEN) && !defined(GLOB_BROKEN)
-+#ifdef HAVE_GLOB
- STATIC void
- expandmeta(str, flag)
-       struct strlist *str;
-@@ -1220,7 +1211,7 @@ addglob(pglob)
- }
--#else /* defined(__GLIBC__) && !defined(FNMATCH_BROKEN) && !defined(GLOB_BROKEN) */
-+#else /* HAVE_GLOB */
- STATIC char *expdir;
-@@ -1387,7 +1378,7 @@ out:
-       if (! atend)
-               endname[-1] = '/';
- }
--#endif        /* defined(__GLIBC__) && !defined(FNMATCH_BROKEN) && !defined(GLOB_BROKEN) */
-+#endif        /* HAVE_GLOB */
- /*
-@@ -1406,7 +1397,7 @@ addfname(char *name)
- }
--#if !(defined(__GLIBC__) && !defined(FNMATCH_BROKEN) && !defined(GLOB_BROKEN))
-+#ifndef HAVE_GLOB
- /*
-  * Sort the results of file name expansion.  It calculates the number of
-  * strings to sort and then calls msort (short for merge sort) to do the
-@@ -1479,7 +1470,7 @@ patmatch(char *pattern, const char *string)
- }
--#if !defined(__GLIBC__) || defined(FNMATCH_BROKEN)
-+#ifndef HAVE_FNMATCH
- STATIC int ccmatch(const char *p, int chr, const char **r)
- {
-       static const struct class {
--- 
-1.5.5
-
-From f22cfbd19cbadbc9b01733cdd20ed2336b7fcb25 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sat, 20 Oct 2007 18:49:31 +0800
-Subject: [PATCH] [PARSER] Fix here-doc corruption
-
-The change
-
-       [PARSER] Recognise here-doc delimiters terminated by EOF
-
-introduced a regerssion whereby lines starting with eofmark but are not equal
-to eofmark would be corrupted.  This patch fixes it.
-
-Test case:
-
-       cat << _ACEOF
-       _ASBOX
-       _ACEOF
-
-Old result:
-
-       SASBOX
-
-New result:
-
-       _ASBOX
----
- ChangeLog    |    1 +
- src/parser.c |   11 ++++++-----
- 2 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index a821c32..d50d36c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-10-20  Herbert Xu <herbert@gondor.apana.org.au>
-       * Added configure --enable-glob and --enable-fnmatch options.
-+      * Fix here-doc corruption.
- 2007-10-17  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/parser.c b/src/parser.c
-index 4b8a5fe..3832f0b 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1047,16 +1047,17 @@ checkend: {
-               if (c == *eofmark) {
-                       if (pfgets(line, sizeof line) != NULL) {
-                               char *p, *q;
-+                              int cc;
-                               p = line;
-                               for (q = eofmark + 1;; p++, q++) {
--                                      c = *p;
--                                      if (c == '\n')
--                                              c = 0;
--                                      if (!*q || c != *q)
-+                                      cc = *p;
-+                                      if (cc == '\n')
-+                                              cc = 0;
-+                                      if (!*q || cc != *q)
-                                               break;
-                               }
--                              if (c == *q) {
-+                              if (cc == *q) {
-                                       c = PEOF;
-                                       plinno++;
-                                       needprompt = doprompt;
--- 
-1.5.5
-
-From 042874b59ff2a4264ba31e3fac68a8410f3b0d3c Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sun, 11 Nov 2007 14:21:23 +0800
-Subject: [PATCH] [PARSER] Removed noexpand/length check on eofmark
-
-On Tue, Oct 30, 2007 at 04:23:35AM +0000, Oleg Verych wrote:
->
-> } 8<<""
-> ======================
-
-Actually this (the empty delim) only works with dash by accident.
-I've tried bash and pdksh and they both terminate on the first
-empty line which is what you would expect rather than EOF.  The
-real Korn shell does something completely different.
-
-I've fixed this in dash to conform to bash/pdksh.
-
-> In [0] it's stated, that delimiter isn't evaluated (expanded), only
-> quoiting must be checked. That if() seems to be completely bogus.
-
-OK I agree.  The reason it was there is because the parser would
-have already replaced the dollar sign by an internal representation.
-
-I've fixed it properly with this patch.
-
-Test case:
-
-       cat <<- $a
-               OK
-       $a
-
-       cat <<- ""
-               OK
-
-       echo OK
-
-Old result:
-
-       dash: Syntax error: Illegal eof marker for << redirection
-       OK
-
-       echo OK
-
-New result:
-
-       OK
-       OK
-       OK
----
- ChangeLog    |    4 ++
- src/input.c  |   27 ------------------
- src/input.h  |    1 -
- src/parser.c |   88 +++++++++++++++++++++++++--------------------------------
- src/parser.h |    1 +
- 5 files changed, 44 insertions(+), 77 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index d50d36c..ad98810 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-11-11  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Removed noexpand/length check on eofmark.
-+
- 2007-10-20  Herbert Xu <herbert@gondor.apana.org.au>
-       * Added configure --enable-glob and --enable-fnmatch options.
-diff --git a/src/input.c b/src/input.c
-index 11f7a3f..bc84e57 100644
---- a/src/input.c
-+++ b/src/input.c
-@@ -125,33 +125,6 @@ RESET {
- /*
-- * Read a line from the script.
-- */
--
--char *
--pfgets(char *line, int len)
--{
--      char *p = line;
--      int nleft = len;
--      int c;
--
--      while (--nleft > 0) {
--              c = pgetc2();
--              if (c == PEOF) {
--                      if (p == line)
--                              return NULL;
--                      break;
--              }
--              *p++ = c;
--              if (c == '\n')
--                      break;
--      }
--      *p = '\0';
--      return line;
--}
--
--
--/*
-  * Read a character from the script, returning PEOF on end of file.
-  * Nul characters in the input are silently discarded.
-  */
-diff --git a/src/input.h b/src/input.h
-index 1ed9ddf..1d6f528 100644
---- a/src/input.h
-+++ b/src/input.h
-@@ -50,7 +50,6 @@ extern int plinno;
- extern int parsenleft;                /* number of characters left in input buffer */
- extern char *parsenextc;      /* next character in input buffer */
--char *pfgets(char *, int);
- int pgetc(void);
- int pgetc2(void);
- int preadbuffer(void);
-diff --git a/src/parser.c b/src/parser.c
-index 3832f0b..2d20b00 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -59,8 +59,6 @@
-  * Shell command parser.
-  */
--#define EOFMARKLEN 79
--
- /* values returned by readtoken */
- #include "token.h"
-@@ -101,7 +99,6 @@ STATIC int peektoken(void);
- STATIC int readtoken(void);
- STATIC int xxreadtoken(void);
- STATIC int readtoken1(int, char const *, char *, int);
--STATIC int noexpand(char *);
- STATIC void synexpect(int) __attribute__((__noreturn__));
- STATIC void synerror(const char *) __attribute__((__noreturn__));
- STATIC void setprompt(int);
-@@ -596,18 +593,17 @@ parsefname(void)
- {
-       union node *n = redirnode;
-+      if (n->type == NHERE)
-+              checkkwd = CHKEOFMARK;
-       if (readtoken() != TWORD)
-               synexpect(-1);
-       if (n->type == NHERE) {
-               struct heredoc *here = heredoc;
-               struct heredoc *p;
--              int i;
-               if (quoteflag == 0)
-                       n->type = NXHERE;
-               TRACE(("Here document %d\n", n->type));
--              if (! noexpand(wordtext) || (i = strlen(wordtext)) == 0 || i > EOFMARKLEN)
--                      synerror("Illegal eof marker for << redirection");
-               rmescapes(wordtext);
-               here->eofmark = wordtext;
-               here->next = NULL;
-@@ -836,7 +832,6 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
-       int c = firstc;
-       char *out;
-       int len;
--      char line[EOFMARKLEN + 1];
-       struct nodelist *bqlist;
-       int quotef;
-       int dblquote;
-@@ -1036,6 +1031,9 @@ endword:
- checkend: {
-       if (eofmark) {
-+              int markloc;
-+              char *p;
-+
-               if (c == PEOA) {
-                       c = pgetc2();
-               }
-@@ -1044,28 +1042,42 @@ checkend: {
-                               c = pgetc2();
-                       }
-               }
--              if (c == *eofmark) {
--                      if (pfgets(line, sizeof line) != NULL) {
--                              char *p, *q;
--                              int cc;
--
--                              p = line;
--                              for (q = eofmark + 1;; p++, q++) {
--                                      cc = *p;
--                                      if (cc == '\n')
--                                              cc = 0;
--                                      if (!*q || cc != *q)
--                                              break;
--                              }
--                              if (cc == *q) {
--                                      c = PEOF;
--                                      plinno++;
--                                      needprompt = doprompt;
--                              } else {
--                                      pushstring(line, NULL);
-+
-+              markloc = out - (char *)stackblock();
-+              for (p = eofmark; STPUTC(c, out), *p; p++) {
-+                      if (c != *p)
-+                              goto more_heredoc;
-+
-+                      c = pgetc2();
-+              }
-+
-+              if (c == '\n' || c == PEOF) {
-+                      c = PEOF;
-+                      plinno++;
-+                      needprompt = doprompt;
-+              } else {
-+                      int len;
-+
-+more_heredoc:
-+                      p = (char *)stackblock() + markloc + 1;
-+                      len = out - p;
-+
-+                      if (len) {
-+                              len -= c < 0;
-+                              c = p[-1];
-+
-+                              if (len) {
-+                                      char *str;
-+
-+                                      str = alloca(len + 1);
-+                                      *(char *)mempcpy(str, p, len) = 0;
-+
-+                                      pushstring(str, NULL);
-                               }
-                       }
-               }
-+
-+              STADJUST((char *)stackblock() + markloc - out, out);
-       }
-       goto checkend_return;
- }
-@@ -1148,6 +1160,7 @@ parsesub: {
-       c = pgetc();
-       if (
-+              (checkkwd & CHKEOFMARK) ||
-               c <= PEOA  ||
-               (c != '(' && c != '{' && !is_name(c) && !is_special(c))
-       ) {
-@@ -1400,29 +1413,6 @@ RESET {
- }
- #endif
--/*
-- * Returns true if the text contains nothing to expand (no dollar signs
-- * or backquotes).
-- */
--
--STATIC int
--noexpand(char *text)
--{
--      char *p;
--      signed char c;
--
--      p = text;
--      while ((c = *p++) != '\0') {
--              if (c == CTLQUOTEMARK)
--                      continue;
--              if (c == CTLESC)
--                      p++;
--              else if (BASESYNTAX[(int)c] == CCTL)
--                      return 0;
--      }
--      return 1;
--}
--
- /*
-  * Return of a legal variable name (a letter or underscore followed by zero or
-diff --git a/src/parser.h b/src/parser.h
-index badbd07..6bdf1c9 100644
---- a/src/parser.h
-+++ b/src/parser.h
-@@ -65,6 +65,7 @@
- #define CHKALIAS      0x1
- #define CHKKWD                0x2
- #define CHKNL         0x4
-+#define CHKEOFMARK    0x8
- /*
--- 
-1.5.5
-
-From 3bcc676119296304eaf2d73831d5ab80c4206b45 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sun, 11 Nov 2007 15:00:06 +0800
-Subject: [PATCH] [EXPAND] Removed herefd hack
-
-The herefd hack goes back more than a decade.  it limits the amount of
-memory we have to allocate when expanding here-documents by writing the
-result out from time to time.  However, it's no longer safe because the
-stack is used to place intermediate results too and there we certainly
-don't want to write them out should we be short on memory.
-
-In any case, with today's computers we can afford to keep the entire
-result in memory and write them out at the end.
----
- ChangeLog      |    1 +
- src/eval.c     |    6 ------
- src/expand.c   |    4 ----
- src/memalloc.c |    5 -----
- src/memalloc.h |    1 -
- 5 files changed, 1 insertions(+), 16 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index ad98810..39940b9 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-11-11  Herbert Xu <herbert@gondor.apana.org.au>
-       * Removed noexpand/length check on eofmark.
-+      * Removed herefd hack.
- 2007-10-20  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/eval.c b/src/eval.c
-index 17b558d..a8feaa0 100644
---- a/src/eval.c
-+++ b/src/eval.c
-@@ -577,8 +577,6 @@ evalpipe(union node *n, int flags)
- void
- evalbackcmd(union node *n, struct backcmd *result)
- {
--      int saveherefd;
--
-       result->fd = -1;
-       result->buf = NULL;
-       result->nleft = 0;
-@@ -587,9 +585,6 @@ evalbackcmd(union node *n, struct backcmd *result)
-               goto out;
-       }
--      saveherefd = herefd;
--      herefd = -1;
--
- #ifdef notyet
-       /*
-        * For now we disable executing builtins in the same
-@@ -636,7 +631,6 @@ evalbackcmd(union node *n, struct backcmd *result)
-               result->fd = pip[0];
-               result->jp = jp;
-       }
--      herefd = saveherefd;
- out:
-       TRACE(("evalbackcmd done: fd=%d buf=0x%x nleft=%d jp=0x%x\n",
-               result->fd, result->buf, result->nleft, result->jp));
-diff --git a/src/expand.c b/src/expand.c
-index c489446..ee699e8 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -184,7 +184,6 @@ static inline const char *getpwhome(const char *name)
- void
- expandhere(union node *arg, int fd)
- {
--      herefd = fd;
-       expandarg(arg, (struct arglist *)NULL, EXP_QUOTED);
-       xwrite(fd, stackblock(), expdest - (char *)stackblock());
- }
-@@ -663,18 +662,15 @@ subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varfla
-       int quotes = flag & QUOTES_ESC;
-       char *startp;
-       char *loc;
--      int saveherefd = herefd;
-       struct nodelist *saveargbackq = argbackq;
-       int amount;
-       char *rmesc, *rmescend;
-       int zero;
-       char *(*scan)(char *, char *, char *, char *, int , int);
--      herefd = -1;
-       argstr(p, EXP_TILDE | (subtype != VSASSIGN && subtype != VSQUESTION ?
-                              (flag & EXP_QUOTED ? EXP_QPAT : EXP_CASE) : 0));
-       STPUTC('\0', expdest);
--      herefd = saveherefd;
-       argbackq = saveargbackq;
-       startp = stackblock() + startloc;
-diff --git a/src/memalloc.c b/src/memalloc.c
-index 8d3e2ed..e75e609 100644
---- a/src/memalloc.c
-+++ b/src/memalloc.c
-@@ -109,7 +109,6 @@ struct stack_block *stackp = &stackbase;
- char *stacknxt = stackbase.space;
- size_t stacknleft = MINSIZE;
- char *sstrend = stackbase.space + MINSIZE;
--int herefd = -1;
- pointer
- stalloc(size_t nbytes)
-@@ -264,10 +263,6 @@ void *
- growstackstr(void)
- {
-       size_t len = stackblocksize();
--      if (herefd >= 0 && len >= 1024) {
--              xwrite(herefd, stackblock(), len);
--              return stackblock();
--      }
-       growstackblock();
-       return stackblock() + len;
- }
-diff --git a/src/memalloc.h b/src/memalloc.h
-index ad6015d..4b5be46 100644
---- a/src/memalloc.h
-+++ b/src/memalloc.h
-@@ -46,7 +46,6 @@ struct stackmark {
- extern char *stacknxt;
- extern size_t stacknleft;
- extern char *sstrend;
--extern int herefd;
- pointer ckmalloc(size_t);
- pointer ckrealloc(pointer, size_t);
--- 
-1.5.5
-
-From 2f0c9d44f44945e49b9e079944dcf01f3477c8dc Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Sun, 11 Nov 2007 15:27:00 +0800
-Subject: [PATCH] [EXPAND] Expand here-documents in the current shell environment
-
-Previously we always expanded here-documents in a subshell.  This is
-contrary to the POSIX specification and how other shells behave.  What's
-more this slows down many expansions due to the extra fork (however, it
-must be said that it is possible for it speed up certain expansions by
-running it simultaneously with the command on two CPUs).
-
-This patch move the expansion into the current shell environment.
-
-Test case:
-
-       unset a
-       cat <<- EOF > /dev/null
-               ${a=NOT}
-       EOF
-       echo ${a}BAD
-
-Old result:
-
-       BAD
-
-New result:
-
-       NOTBAD
----
- ChangeLog    |    1 +
- src/expand.c |   12 ------------
- src/expand.h |    1 -
- src/redir.c  |   24 ++++++++++++++----------
- 4 files changed, 15 insertions(+), 23 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 39940b9..de37261 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -2,6 +2,7 @@
-       * Removed noexpand/length check on eofmark.
-       * Removed herefd hack.
-+      * Expand here-documents in the current shell environment.
- 2007-10-20  Herbert Xu <herbert@gondor.apana.org.au>
-diff --git a/src/expand.c b/src/expand.c
-index ee699e8..f3d63c4 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -178,18 +178,6 @@ static inline const char *getpwhome(const char *name)
- /*
-- * Expand shell variables and backquotes inside a here document.
-- */
--
--void
--expandhere(union node *arg, int fd)
--{
--      expandarg(arg, (struct arglist *)NULL, EXP_QUOTED);
--      xwrite(fd, stackblock(), expdest - (char *)stackblock());
--}
--
--
--/*
-  * Perform variable substitution and command substitution on an argument,
-  * placing the resulting list of arguments in arglist.  If EXP_FULL is true,
-  * perform splitting and file name expansion.  When arglist is NULL, perform
-diff --git a/src/expand.h b/src/expand.h
-index 225b004..1862aea 100644
---- a/src/expand.h
-+++ b/src/expand.h
-@@ -62,7 +62,6 @@ struct arglist {
- union node;
--void expandhere(union node *, int);
- void expandarg(union node *, struct arglist *, int);
- void expari(int);
- #define rmescapes(p) _rmescapes((p), 0)
-diff --git a/src/redir.c b/src/redir.c
-index 33dbc88..ce34db0 100644
---- a/src/redir.c
-+++ b/src/redir.c
-@@ -295,18 +295,25 @@ err:
- STATIC int
- openhere(union node *redir)
- {
-+      char *p;
-       int pip[2];
-       size_t len = 0;
-       if (pipe(pip) < 0)
-               sh_error("Pipe call failed");
--      if (redir->type == NHERE) {
--              len = strlen(redir->nhere.doc->narg.text);
--              if (len <= PIPESIZE) {
--                      xwrite(pip[1], redir->nhere.doc->narg.text, len);
--                      goto out;
--              }
-+
-+      p = redir->nhere.doc->narg.text;
-+      if (redir->type == NXHERE) {
-+              expandarg(redir->nhere.doc, NULL, EXP_QUOTED);
-+              p = stackblock();
-+      }
-+
-+      len = strlen(p);
-+      if (len <= PIPESIZE) {
-+              xwrite(pip[1], p, len);
-+              goto out;
-       }
-+
-       if (forkshell((struct job *)NULL, (union node *)NULL, FORK_NOJOB) == 0) {
-               close(pip[0]);
-               signal(SIGINT, SIG_IGN);
-@@ -316,10 +323,7 @@ openhere(union node *redir)
-               signal(SIGTSTP, SIG_IGN);
- #endif
-               signal(SIGPIPE, SIG_DFL);
--              if (redir->type == NHERE)
--                      xwrite(pip[1], redir->nhere.doc->narg.text, len);
--              else
--                      expandhere(redir->nhere.doc, pip[1]);
-+              xwrite(pip[1], p, len);
-               _exit(0);
-       }
- out:
--- 
-1.5.5
-
-From 1db0b82e3cafe809be176016b1e83a05119eac08 Mon Sep 17 00:00:00 2001
-From: Steve Langasek <steve.langasek@canonical.com>
-Date: Sun, 23 Dec 2007 11:02:26 +0800
-Subject: [PATCH] [EVAL] Fix bad pointer arithmetic in evalcommand
-
-dash dies on sparc with a SIGBUS due to an arithmetic error introduced
-with commit 03b4958, this patch fixes it.
----
- ChangeLog  |    4 ++++
- src/eval.c |    3 ++-
- 2 files changed, 6 insertions(+), 1 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index de37261..e72849c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-12-23  Steve Langasek <steve.langasek@canonical.com>
-+
-+      * Fixed bad pointer arithmetic in evalcommand.
-+
- 2007-11-11  Herbert Xu <herbert@gondor.apana.org.au>
-       * Removed noexpand/length check on eofmark.
-diff --git a/src/eval.c b/src/eval.c
-index a8feaa0..77291b4 100644
---- a/src/eval.c
-+++ b/src/eval.c
-@@ -722,7 +722,8 @@ evalcommand(union node *cmd, int flags)
-       }
-       /* Reserve one extra spot at the front for shellexec. */
--      argv = nargv = stalloc(sizeof (char *) * (argc + 2)) + 1;
-+      nargv = stalloc(sizeof (char *) * (argc + 2));
-+      argv = ++nargv;
-       for (sp = arglist.list ; sp ; sp = sp->next) {
-               TRACE(("evalcommand arg: %s\n", sp->text));
-               *nargv++ = sp->text;
--- 
-1.5.5
-
-From e3806e06bd39fb62033646b812937a1712fd78ed Mon Sep 17 00:00:00 2001
-From: Richard M Kreuter <kreuter@progn.net>
-Date: Sun, 23 Dec 2007 11:24:48 +0800
-Subject: [PATCH] [BUILTIN] Add set +o support
-
-The dash(1) in Debian stable does not support "set +o" in the manner
-specified by SUSv3:
-
-|+o
-|    Write the current option settings to standard output in a format
-|    that is suitable for reinput to the shell as commands that
-|    achieve the same options settings.
-
-(citation from
-http://www.opengroup.org/onlinepubs/009695399/utilities/set.html)
-
-Instead, dash's "set +o" prints the shell's options in a
-human-readable format.
-
-Here is a simple test program that exercises this feature; it works as
-I believe is required under bash, but not under dash.
-
-  # Save the shell's options
-  set +o > /tmp/settings-commands
-  set -o | sort > /tmp/settings-before
-  # Change some options.
-  set -v
-  set -f
-  set -x
-  set +o emacs
-  set -o vi
-  # Try to restore our options.
-  . /tmp/settings-commands
-  set -o | sort > /tmp/settings-after
-  # Compare.
-  diff /tmp/settings-before /tmp/settings-after
-
-I believe the following small patch adds this feature to dash, and
-documents it in the manual page:
-
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- ChangeLog     |    4 ++++
- src/dash.1    |    5 +++++
- src/options.c |   16 ++++++++++++----
- 3 files changed, 21 insertions(+), 4 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index e72849c..10ec45c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-12-23  Richard M Kreuter <kreuter@progn.net>
-+
-+      * Add set +o support.
-+
- 2007-12-23  Steve Langasek <steve.langasek@canonical.com>
-       * Fixed bad pointer arithmetic in evalcommand.
-diff --git a/src/dash.1 b/src/dash.1
-index 9b8ab0e..b4140eb 100644
---- a/src/dash.1
-+++ b/src/dash.1
-@@ -1782,6 +1782,11 @@ With no arguments, it lists the values of all shell variables.
- If options are given, it sets the specified option
- flags, or clears them as described in the section called
- .Sx Argument List Processing .
-+As a special case, if the option is -o or +o and no argument is
-+supplied, the shell prints the settings of all its options.  If the
-+option is -o, the settings are printed in a human-readable format; if
-+the option is +o, the settings are printed in a format suitable for
-+reinput to the shell to affect the same option settings.
- .Pp
- The third use of the set command is to set the values of the shell's
- positional parameters to the specified args.
-diff --git a/src/options.c b/src/options.c
-index f669117..48c9671 100644
---- a/src/options.c
-+++ b/src/options.c
-@@ -240,10 +240,18 @@ minus_o(char *name, int val)
-       int i;
-       if (name == NULL) {
--              out1str("Current option settings\n");
--              for (i = 0; i < NOPTS; i++)
--                      out1fmt("%-16s%s\n", optnames[i],
--                              optlist[i] ? "on" : "off");
-+              if (val) {
-+                      out1str("Current option settings\n");
-+                      for (i = 0; i < NOPTS; i++)
-+                              out1fmt("%-16s%s\n", optnames[i],
-+                                      optlist[i] ? "on" : "off");
-+              } else {
-+                      for (i = 0; i < NOPTS; i++)
-+                              out1fmt("set %s %s\n",
-+                                      optlist[i] ? "-o" : "+o",
-+                                      optnames[i]);
-+
-+              }
-       } else {
-               for (i = 0; i < NOPTS; i++)
-                       if (equal(name, optnames[i])) {
--- 
-1.5.5
-
-From 509ca4a5a2699af4bce734dfb9efa10e2b5f631d Mon Sep 17 00:00:00 2001
-From: Gerrit Pape <pape@smarden.org>
-Date: Sun, 23 Dec 2007 21:24:37 +0800
-Subject: [PATCH] [ARITH] If imaxdiv() isn't available, use / and % operators
-
-Although in posix, imaxdiv() isn't implemented on Debian/alpha, causing
-dash to fail to build.  So use / and % operators if imaxdiv() isn't
-available.
-
- http://bugs.debian.org/456398
-
-Signed-off-by: Gerrit Pape <pape@smarden.org>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- ChangeLog        |    4 ++++
- configure.ac     |    5 +++--
- src/arith_yacc.c |    6 ++++++
- 3 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 10ec45c..56acd66 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-12-23  Gerrit Pape <pape@smarden.org>
-+
-+      * If imaxdiv() isn't available, use / and % operators.
-+
- 2007-12-23  Richard M Kreuter <kreuter@progn.net>
-       * Add set +o support.
-diff --git a/configure.ac b/configure.ac
-index ccc4ac1..4d739c2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -33,8 +33,9 @@ dnl Checks for libraries.
- dnl Checks for header files.
- dnl Checks for library functions.
--AC_CHECK_FUNCS(bsearch getpwnam getrlimit isalpha killpg mempcpy sigsetmask \
--             stpcpy strchrnul strsignal strtod strtoimax strtoumax sysconf)
-+AC_CHECK_FUNCS(bsearch getpwnam getrlimit imaxdiv isalpha killpg mempcpy \
-+             sigsetmask stpcpy strchrnul strsignal strtod strtoimax \
-+             strtoumax sysconf)
- if test "$enable_fnmatch" = yes; then
-       use_fnmatch=
-diff --git a/src/arith_yacc.c b/src/arith_yacc.c
-index e473594..f4857fe 100644
---- a/src/arith_yacc.c
-+++ b/src/arith_yacc.c
-@@ -88,7 +88,9 @@ static inline int higher_prec(int op1, int op2)
- static intmax_t do_binop(int op, intmax_t a, intmax_t b)
- {
-+#ifdef HAVE_IMAXDIV
-       imaxdiv_t div;
-+#endif
-       switch (op) {
-       default:
-@@ -96,8 +98,12 @@ static intmax_t do_binop(int op, intmax_t a, intmax_t b)
-       case ARITH_DIV:
-               if (!b)
-                       yyerror("division by zero");
-+#ifdef HAVE_IMAXDIV
-               div = imaxdiv(a, b);
-               return op == ARITH_REM ? div.rem : div.quot;
-+#else
-+              return op == ARITH_REM ? a % b : a / b;
-+#endif
-       case ARITH_MUL:
-               return a * b;
-       case ARITH_ADD:
--- 
-1.5.5
-
-From 6b46a86991dff7af70dfd249c27767be9b7d4c97 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 27 Dec 2007 13:54:16 +1100
-Subject: [PATCH] [PARSER] Add FAKEEOFMARK for expandstr
-
-Previously expandstr used the string "" to indicate that it needs to be
-treated just like a here-doc except that there is no terminator.  However,
-the string "" is in fact a valid here-doc terminator so now that we deal
-with it correctly expandstr no longer works in the presence of new-lines
-in the prompt.
-
-This patch introduces the FAKEEOFMARK macro which does not equal any
-real EOF marker but is distinct from the NULL pointer which is used to
-indicate non-here-doc contexts.
-
-Thanks to Markus Triska for reporting this regression.
-
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- ChangeLog    |    4 ++++
- src/parser.c |   14 ++++++++++++--
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 56acd66..8b392f4 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2007-12-27  Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Add FAKEEOFMARK for expandstr.
-+
- 2007-12-23  Gerrit Pape <pape@smarden.org>
-       * If imaxdiv() isn't available, use / and % operators.
-diff --git a/src/parser.c b/src/parser.c
-index 2d20b00..3206328 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -64,6 +64,11 @@
-+/* Used by expandstr to get here-doc like behaviour. */
-+#define FAKEEOFMARK (char *)1
-+
-+
-+
- struct heredoc {
-       struct heredoc *next;   /* next here document in list */
-       union node *here;               /* redirection node */
-@@ -113,6 +118,11 @@ isassignment(const char *p)
-       return *q == '=';
- }
-+static inline int realeofmark(const char *eofmark)
-+{
-+      return eofmark && eofmark != FAKEEOFMARK;
-+}
-+
- /*
-  * Read and parse a command.  Returns NEOF on end of file.  (NULL is a
-@@ -1030,7 +1040,7 @@ endword:
-  */
- checkend: {
--      if (eofmark) {
-+      if (realeofmark(eofmark)) {
-               int markloc;
-               char *p;
-@@ -1492,7 +1502,7 @@ expandstr(const char *ps)
-       /* XXX Fix (char *) cast. */
-       setinputstring((char *)ps);
--      readtoken1(pgetc(), DQSYNTAX, nullstr, 0);
-+      readtoken1(pgetc(), DQSYNTAX, FAKEEOFMARK, 0);
-       popfile();
-       n.narg.type = NARG;
--- 
-1.5.5
-
-From 8cbde910100fa6b708c3eeb35cfd366726034967 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Thu, 27 Dec 2007 13:57:07 +1100
-Subject: [PATCH] [PARSER] Do not show prompts in expandstr
-
-Once I fixed the previous problem it became apparent that we never dealt
-with prompts with new-lines in them correctly.  The problem is that we
-showed a secondary prompt for each of them.
-
-This patch disables prompt generation in expandstr.
-
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- ChangeLog    |    1 +
- src/parser.c |    8 ++++++++
- 2 files changed, 9 insertions(+), 0 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 8b392f4..0030738 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,6 +1,7 @@
- 2007-12-27  Herbert Xu <herbert@gondor.apana.org.au>
-       * Add FAKEEOFMARK for expandstr.
-+      * Do not show prompts in expandstr.
- 2007-12-23  Gerrit Pape <pape@smarden.org>
-diff --git a/src/parser.c b/src/parser.c
-index 3206328..9dd6185 100644
---- a/src/parser.c
-+++ b/src/parser.c
-@@ -1499,10 +1499,18 @@ const char *
- expandstr(const char *ps)
- {
-       union node n;
-+      int saveprompt;
-       /* XXX Fix (char *) cast. */
-       setinputstring((char *)ps);
-+
-+      saveprompt = doprompt;
-+      doprompt = 0;
-+
-       readtoken1(pgetc(), DQSYNTAX, FAKEEOFMARK, 0);
-+
-+      doprompt = saveprompt;
-+
-       popfile();
-       n.narg.type = NARG;
--- 
-1.5.5
-
-From 8eacbcc79c48f2656127f488ef3172d69e092343 Mon Sep 17 00:00:00 2001
-From: Herbert Xu <herbert@gondor.apana.org.au>
-Date: Tue, 1 Jan 2008 13:46:01 +1100
-Subject: [PATCH] [EXPAND] Fix slash treatment in expmeta
-
-The change
-
-   [EXPAND] Do not quote back slashes in parameter expansions outside quotes
-
-triggered a latent bug in expmeta where the forward slashes when preceded
-by a blackslash weren't recognised as directory separators.  This was hidden
-because a work-around was put in place for glob(3) which meant that we never
-had any backslashes immediately before forward slashes.
-
-This patch fixes the metaflag loop to recognise forward slashes even when
-they follow a backslash.
-
-Thanks to Daniel Hahler for reporting this problem.
-
-Test case:
-
-       echo "/"root*
-
-Old result:
-
-       /root*
-
-New result:
-
-       /root
-
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- ChangeLog    |    4 ++++
- src/expand.c |   15 ++++++++-------
- 2 files changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 0030738..4ed9125 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2008-01-01 Herbert Xu <herbert@gondor.apana.org.au>
-+
-+      * Fix slash treatment in expmeta.
-+
- 2007-12-27  Herbert Xu <herbert@gondor.apana.org.au>
-       * Add FAKEEOFMARK for expandstr.
-diff --git a/src/expand.c b/src/expand.c
-index f3d63c4..5986236 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -1287,15 +1287,16 @@ expmeta(char *enddir, char *name)
-                                       break;
-                               }
-                       }
--              } else if (*p == '\\')
--                      p++;
--              else if (*p == '/') {
--                      if (metaflag)
--                              goto out;
--                      start = p + 1;
-+              } else {
-+                      if (*p == '\\')
-+                              p++;
-+                      if (*p == '/') {
-+                              if (metaflag)
-+                                      break;
-+                              start = p + 1;
-+                      }
-               }
-       }
--out:
-       if (metaflag == 0) {    /* we've reached the end of the file name */
-               if (enddir != expdir)
-                       metaflag++;
--- 
-1.5.5
-
-From c696bc5f353a57ec0f12b3e8fcecc0a2004126ec Mon Sep 17 00:00:00 2001
-From: Gerrit Pape <pape@smarden.org>
-Date: Mon, 7 Jan 2008 09:26:06 +0000
-Subject: [PATCH] run aclocal && autoconf && autoheader && automake
-
----
- Makefile.in     |  133 +-
- aclocal.m4      |  174 ++-
- config.h.in     |    9 +
- configure       | 4909 +++++++++++++++++++++++++++++++------------------------
- src/Makefile.in |  175 +--
- 5 files changed, 3074 insertions(+), 2326 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 943db1b..b646890 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -1,8 +1,8 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.10 from Makefile.am.
- # @configure_input@
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005  Free Software Foundation, Inc.
-+# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -13,15 +13,11 @@
- # PARTICULAR PURPOSE.
- @SET_MAKE@
--srcdir = @srcdir@
--top_srcdir = @top_srcdir@
- VPATH = @srcdir@
- pkgdatadir = $(datadir)/@PACKAGE@
- pkglibdir = $(libdir)/@PACKAGE@
- pkgincludedir = $(includedir)/@PACKAGE@
--top_builddir = .
- am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
--INSTALL = @INSTALL@
- install_sh_DATA = $(install_sh) -c -m 644
- install_sh_PROGRAM = $(install_sh) -c
- install_sh_SCRIPT = $(install_sh) -c
-@@ -43,7 +39,7 @@ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
- am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
-- configure.lineno configure.status.lineno
-+ configure.lineno config.status.lineno
- mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = config.h
- CONFIG_CLEAN_FILES =
-@@ -51,10 +47,13 @@ SOURCES =
- DIST_SOURCES =
- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
--      install-exec-recursive install-info-recursive \
--      install-recursive installcheck-recursive installdirs-recursive \
--      pdf-recursive ps-recursive uninstall-info-recursive \
--      uninstall-recursive
-+      install-dvi-recursive install-exec-recursive \
-+      install-html-recursive install-info-recursive \
-+      install-pdf-recursive install-ps-recursive install-recursive \
-+      installcheck-recursive installdirs-recursive pdf-recursive \
-+      ps-recursive uninstall-recursive
-+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive       \
-+  distclean-recursive maintainer-clean-recursive
- ETAGS = etags
- CTAGS = ctags
- DIST_SUBDIRS = $(SUBDIRS)
-@@ -70,8 +69,6 @@ GZIP_ENV = --best
- distuninstallcheck_listfiles = find . -type f -print
- distcleancheck_listfiles = find . -type f -print
- ACLOCAL = @ACLOCAL@
--AMDEP_FALSE = @AMDEP_FALSE@
--AMDEP_TRUE = @AMDEP_TRUE@
- AMTAR = @AMTAR@
- AUTOCONF = @AUTOCONF@
- AUTOHEADER = @AUTOHEADER@
-@@ -91,6 +88,8 @@ ECHO_N = @ECHO_N@
- ECHO_T = @ECHO_T@
- EGREP = @EGREP@
- EXEEXT = @EXEEXT@
-+GREP = @GREP@
-+INSTALL = @INSTALL@
- INSTALL_DATA = @INSTALL_DATA@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
-@@ -100,6 +99,7 @@ LIBOBJS = @LIBOBJS@
- LIBS = @LIBS@
- LTLIBOBJS = @LTLIBOBJS@
- MAKEINFO = @MAKEINFO@
-+MKDIR_P = @MKDIR_P@
- OBJEXT = @OBJEXT@
- PACKAGE = @PACKAGE@
- PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-@@ -113,10 +113,12 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- VERSION = @VERSION@
- YACC = @YACC@
-+YFLAGS = @YFLAGS@
-+abs_builddir = @abs_builddir@
-+abs_srcdir = @abs_srcdir@
-+abs_top_builddir = @abs_top_builddir@
-+abs_top_srcdir = @abs_top_srcdir@
- ac_ct_CC = @ac_ct_CC@
--ac_ct_STRIP = @ac_ct_STRIP@
--am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
--am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__include = @am__include@
- am__leading_dot = @am__leading_dot@
- am__quote = @am__quote@
-@@ -124,24 +126,35 @@ am__tar = @am__tar@
- am__untar = @am__untar@
- bindir = @bindir@
- build_alias = @build_alias@
-+builddir = @builddir@
- datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
- exec_prefix = @exec_prefix@
- host_alias = @host_alias@
-+htmldir = @htmldir@
- includedir = @includedir@
- infodir = @infodir@
- install_sh = @install_sh@
- libdir = @libdir@
- libexecdir = @libexecdir@
-+localedir = @localedir@
- localstatedir = @localstatedir@
- mandir = @mandir@
- mkdir_p = @mkdir_p@
- oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
- prefix = @prefix@
- program_transform_name = @program_transform_name@
-+psdir = @psdir@
- sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
-+srcdir = @srcdir@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
-+top_builddir = @top_builddir@
-+top_srcdir = @top_srcdir@
- SUBDIRS = src
- all: config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-@@ -184,7 +197,7 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
- config.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
--        $(MAKE) stamp-h1; \
-+        $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
- stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-@@ -197,7 +210,6 @@ $(srcdir)/config.h.in:  $(am__configure_deps)
- distclean-hdr:
-       -rm -f config.h stamp-h1
--uninstall-info-am:
- # This directory's subdirectories are mostly independent; you can cd
- # into them and run `make' without going through this Makefile.
-@@ -230,8 +242,7 @@ $(RECURSIVE_TARGETS):
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
--mostlyclean-recursive clean-recursive distclean-recursive \
--maintainer-clean-recursive:
-+$(RECURSIVE_CLEAN_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-@@ -333,23 +344,22 @@ distclean-tags:
- distdir: $(DISTFILES)
-       $(am__remove_distdir)
--      mkdir $(distdir)
--      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
--      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
--      list='$(DISTFILES)'; for file in $$list; do \
--        case $$file in \
--          $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
--          $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
--        esac; \
-+      test -d $(distdir) || mkdir $(distdir)
-+      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+      list='$(DISTFILES)'; \
-+        dist_files=`for file in $$list; do echo $$file; done | \
-+        sed -e "s|^$$srcdirstrip/||;t" \
-+            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-+      case $$dist_files in \
-+        */*) $(MKDIR_P) `echo "$$dist_files" | \
-+                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-+                         sort -u` ;; \
-+      esac; \
-+      for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
--        dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
--        if test "$$dir" != "$$file" && test "$$dir" != "."; then \
--          dir="/$$dir"; \
--          $(mkdir_p) "$(distdir)$$dir"; \
--        else \
--          dir=''; \
--        fi; \
-         if test -d $$d/$$file; then \
-+          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-@@ -363,7 +373,7 @@ distdir: $(DISTFILES)
-       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
--          || $(mkdir_p) "$(distdir)/$$subdir" \
-+          || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-           distdir=`$(am__cd) $(distdir) && pwd`; \
-           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-@@ -371,6 +381,8 @@ distdir: $(DISTFILES)
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$top_distdir" \
-               distdir="$$distdir/$$subdir" \
-+              am__remove_distdir=: \
-+              am__skip_length_check=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-@@ -378,7 +390,7 @@ distdir: $(DISTFILES)
-       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
--        ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
-+        ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r $(distdir)
- dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-@@ -453,7 +465,7 @@ distcheck: dist
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
--        sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-+        sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
- distuninstallcheck:
-       @cd $(distuninstallcheck_dir) \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-@@ -522,12 +534,20 @@ info-am:
- install-data-am:
-+install-dvi: install-dvi-recursive
-+
- install-exec-am:
-+install-html: install-html-recursive
-+
- install-info: install-info-recursive
- install-man:
-+install-pdf: install-pdf-recursive
-+
-+install-ps: install-ps-recursive
-+
- installcheck-am:
- maintainer-clean: maintainer-clean-recursive
-@@ -548,24 +568,25 @@ ps: ps-recursive
- ps-am:
--uninstall-am: uninstall-info-am
--
--uninstall-info: uninstall-info-recursive
--
--.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
--      check-am clean clean-generic clean-recursive ctags \
--      ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
--      dist-tarZ dist-zip distcheck distclean distclean-generic \
--      distclean-hdr distclean-recursive distclean-tags \
--      distcleancheck distdir distuninstallcheck dvi dvi-am html \
--      html-am info info-am install install-am install-data \
--      install-data-am install-exec install-exec-am install-info \
--      install-info-am install-man install-strip installcheck \
--      installcheck-am installdirs installdirs-am maintainer-clean \
--      maintainer-clean-generic maintainer-clean-recursive \
--      mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
--      pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
--      uninstall-info-am
-+uninstall-am:
-+
-+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-+      install-strip
-+
-+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-+      all all-am am--refresh check check-am clean clean-generic \
-+      ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
-+      dist-shar dist-tarZ dist-zip distcheck distclean \
-+      distclean-generic distclean-hdr distclean-tags distcleancheck \
-+      distdir distuninstallcheck dvi dvi-am html html-am info \
-+      info-am install install-am install-data install-data-am \
-+      install-dvi install-dvi-am install-exec install-exec-am \
-+      install-html install-html-am install-info install-info-am \
-+      install-man install-pdf install-pdf-am install-ps \
-+      install-ps-am install-strip installcheck installcheck-am \
-+      installdirs installdirs-am maintainer-clean \
-+      maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-+      pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
-diff --git a/aclocal.m4 b/aclocal.m4
-index 965df90..ce67b57 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -1,7 +1,7 @@
--# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
-+# generated automatically by aclocal 1.10 -*- Autoconf -*-
- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
--# 2005  Free Software Foundation, Inc.
-+# 2005, 2006  Free Software Foundation, Inc.
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -11,7 +11,12 @@
- # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- # PARTICULAR PURPOSE.
--# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
-+m4_if(m4_PACKAGE_VERSION, [2.61],,
-+[m4_fatal([this file was generated for autoconf 2.61.
-+You have another version of autoconf.  If you want to use that,
-+you should regenerate the build system entirely.], [63])])
-+
-+# Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
-@@ -21,14 +26,29 @@
- # ----------------------------
- # Automake X.Y traces this macro to ensure aclocal.m4 has been
- # generated from the m4 files accompanying Automake X.Y.
--AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
-+# (This private macro should not be called outside this file.)
-+AC_DEFUN([AM_AUTOMAKE_VERSION],
-+[am__api_version='1.10'
-+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-+dnl require some minimum version.  Point them to the right macro.
-+m4_if([$1], [1.10], [],
-+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-+])
-+
-+# _AM_AUTOCONF_VERSION(VERSION)
-+# -----------------------------
-+# aclocal traces this macro to find the Autoconf version.
-+# This is a private macro too.  Using m4_define simplifies
-+# the logic in aclocal, which can simply ignore this definition.
-+m4_define([_AM_AUTOCONF_VERSION], [])
- # AM_SET_CURRENT_AUTOMAKE_VERSION
- # -------------------------------
--# Call AM_AUTOMAKE_VERSION so it can be traced.
-+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
- # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
--       [AM_AUTOMAKE_VERSION([1.9.5])])
-+[AM_AUTOMAKE_VERSION([1.10])dnl
-+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
- # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-@@ -85,14 +105,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
- # AM_CONDITIONAL                                            -*- Autoconf -*-
--# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
- # Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
--# serial 7
-+# serial 8
- # AM_CONDITIONAL(NAME, SHELL-CONDITION)
- # -------------------------------------
-@@ -101,8 +121,10 @@ AC_DEFUN([AM_CONDITIONAL],
- [AC_PREREQ(2.52)dnl
-  ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
--AC_SUBST([$1_TRUE])
--AC_SUBST([$1_FALSE])
-+AC_SUBST([$1_TRUE])dnl
-+AC_SUBST([$1_FALSE])dnl
-+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
- if $2; then
-   $1_TRUE=
-   $1_FALSE='#'
-@@ -116,15 +138,14 @@ AC_CONFIG_COMMANDS_PRE(
- Usually this means the macro was only invoked conditionally.]])
- fi])])
--
--# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- # Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
--# serial 8
-+# serial 9
- # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
- # written in clear, in which case automake, when reading aclocal.m4,
-@@ -152,6 +173,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
- ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-        [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-        [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-        [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                    [depcc="$$1"   am_compiler_list=])
-@@ -217,6 +239,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
-        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-          >/dev/null 2>conftest.err &&
-+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-        grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-@@ -269,7 +292,8 @@ if test "x$enable_dependency_tracking" != xno; then
-   AMDEPBACKSLASH='\'
- fi
- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
--AC_SUBST([AMDEPBACKSLASH])
-+AC_SUBST([AMDEPBACKSLASH])dnl
-+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
- ])
- # Generate code to set up dependency tracking.              -*- Autoconf -*-
-@@ -294,8 +318,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-   # some people rename them; so instead we look at the file content.
-   # Grep'ing the first line is not enough: some people post-process
-   # each Makefile.in and add a new line on top of each file to say so.
--  # So let's grep whole file.
--  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-+  # Grep'ing the whole file is not good either: AIX grep has a line
-+  # limit of 2048, but all sed's we know have understand at least 4000.
-+  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
-     dirpart=`AS_DIRNAME("$mf")`
-   else
-     continue
-@@ -342,8 +367,8 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
- # Do all the work for Automake.                             -*- Autoconf -*-
--# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
--# Free Software Foundation, Inc.
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-+# 2005, 2006 Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
-@@ -366,16 +391,20 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
- # arguments mandatory, and then we can depend on a new Autoconf
- # release and drop the old call support.
- AC_DEFUN([AM_INIT_AUTOMAKE],
--[AC_PREREQ([2.58])dnl
-+[AC_PREREQ([2.60])dnl
- dnl Autoconf wants to disallow AM_ names.  We explicitly allow
- dnl the ones we care about.
- m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
- AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
--# test to see if srcdir already configured
--if test "`cd $srcdir && pwd`" != "`pwd`" &&
--   test -f $srcdir/config.status; then
--  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-+if test "`cd $srcdir && pwd`" != "`pwd`"; then
-+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-+  # is not polluted with repeated "-I."
-+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-+  # test to see if srcdir already configured
-+  if test -f $srcdir/config.status; then
-+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-+  fi
- fi
- # test whether we have cygpath
-@@ -395,6 +424,9 @@ m4_ifval([$2],
-  AC_SUBST([PACKAGE], [$1])dnl
-  AC_SUBST([VERSION], [$2])],
- [_AM_SET_OPTIONS([$1])dnl
-+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
-  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
-  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-@@ -430,6 +462,10 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                   [_AM_DEPENDENCIES(CXX)],
-                   [define([AC_PROG_CXX],
-                           defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-+                  [_AM_DEPENDENCIES(OBJC)],
-+                  [define([AC_PROG_OBJC],
-+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
- ])
- ])
-@@ -465,7 +501,7 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
- # Define $install_sh.
- AC_DEFUN([AM_PROG_INSTALL_SH],
- [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
--install_sh=${install_sh-"$am_aux_dir/install-sh"}
-+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
- AC_SUBST(install_sh)])
- # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-@@ -543,14 +579,14 @@ rm -f confinc confmf
- # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
--# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
- # Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
--# serial 4
-+# serial 5
- # AM_MISSING_PROG(NAME, PROGRAM)
- # ------------------------------
-@@ -566,6 +602,7 @@ AC_SUBST($1)])
- # If it does, set am_missing_run to use it, otherwise, to nothing.
- AC_DEFUN([AM_MISSING_HAS_RUN],
- [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-+AC_REQUIRE_AUX_FILE([missing])dnl
- test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
- # Use eval to expand $SHELL
- if eval "$MISSING --run true"; then
-@@ -576,7 +613,7 @@ else
- fi
- ])
--# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
-+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
-@@ -584,60 +621,23 @@ fi
- # AM_PROG_MKDIR_P
- # ---------------
--# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
--#
--# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
--# created by `make install' are always world readable, even if the
--# installer happens to have an overly restrictive umask (e.g. 077).
--# This was a mistake.  There are at least two reasons why we must not
--# use `-m 0755':
--#   - it causes special bits like SGID to be ignored,
--#   - it may be too restrictive (some setups expect 775 directories).
--#
--# Do not use -m 0755 and let people choose whatever they expect by
--# setting umask.
--#
--# We cannot accept any implementation of `mkdir' that recognizes `-p'.
--# Some implementations (such as Solaris 8's) are not thread-safe: if a
--# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
--# concurrently, both version can detect that a/ is missing, but only
--# one can create it and the other will error out.  Consequently we
--# restrict ourselves to GNU make (using the --version option ensures
--# this.)
-+# Check for `mkdir -p'.
- AC_DEFUN([AM_PROG_MKDIR_P],
--[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
--  # We used to keeping the `.' as first argument, in order to
--  # allow $(mkdir_p) to be used without argument.  As in
--  #   $(mkdir_p) $(somedir)
--  # where $(somedir) is conditionally defined.  However this is wrong
--  # for two reasons:
--  #  1. if the package is installed by a user who cannot write `.'
--  #     make install will fail,
--  #  2. the above comment should most certainly read
--  #     $(mkdir_p) $(DESTDIR)$(somedir)
--  #     so it does not work when $(somedir) is undefined and
--  #     $(DESTDIR) is not.
--  #  To support the latter case, we have to write
--  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
--  #  so the `.' trick is pointless.
--  mkdir_p='mkdir -p --'
--else
--  # On NextStep and OpenStep, the `mkdir' command does not
--  # recognize any option.  It will interpret all options as
--  # directories to create, and then abort because `.' already
--  # exists.
--  for d in ./-p ./--version;
--  do
--    test -d $d && rmdir $d
--  done
--  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
--  if test -f "$ac_aux_dir/mkinstalldirs"; then
--    mkdir_p='$(mkinstalldirs)'
--  else
--    mkdir_p='$(install_sh) -d'
--  fi
--fi
--AC_SUBST([mkdir_p])])
-+[AC_PREREQ([2.60])dnl
-+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-+dnl while keeping a definition of mkdir_p for backward compatibility.
-+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-+dnl Makefile.ins that do not define MKDIR_P, so we do our own
-+dnl adjustment using top_builddir (which is defined more often than
-+dnl MKDIR_P).
-+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-+case $mkdir_p in
-+  [[\\/$]]* | ?:[[\\/]]*) ;;
-+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-+esac
-+])
- # Helper functions for option handling.                     -*- Autoconf -*-
-@@ -749,9 +749,21 @@ dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
- if test "$cross_compiling" != no; then
-   AC_CHECK_TOOL([STRIP], [strip], :)
- fi
--INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
- AC_SUBST([INSTALL_STRIP_PROGRAM])])
-+# Copyright (C) 2006  Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# _AM_SUBST_NOTMAKE(VARIABLE)
-+# ---------------------------
-+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
-+# This macro is traced by Automake.
-+AC_DEFUN([_AM_SUBST_NOTMAKE])
-+
- # Check how to create a tarball.                            -*- Autoconf -*-
- # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-diff --git a/config.h.in b/config.h.in
-index 02523bc..3d94d1d 100644
---- a/config.h.in
-+++ b/config.h.in
-@@ -3,12 +3,21 @@
- /* Define to 1 if you have the `bsearch' function. */
- #undef HAVE_BSEARCH
-+/* Define to 1 if you have the `fnmatch' function. */
-+#undef HAVE_FNMATCH
-+
- /* Define to 1 if you have the `getpwnam' function. */
- #undef HAVE_GETPWNAM
- /* Define to 1 if you have the `getrlimit' function. */
- #undef HAVE_GETRLIMIT
-+/* Define to 1 if you have the `glob' function. */
-+#undef HAVE_GLOB
-+
-+/* Define to 1 if you have the `imaxdiv' function. */
-+#undef HAVE_IMAXDIV
-+
- /* Define to 1 if you have the <inttypes.h> header file. */
- #undef HAVE_INTTYPES_H
-diff --git a/configure b/configure
-index 8290284..7380665 100755
---- a/configure
-+++ b/configure
-@@ -1,25 +1,54 @@
- #! /bin/sh
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.59 for dash 0.5.4.
-+# Generated by GNU Autoconf 2.61 for dash 0.5.4.
- #
--# Copyright (C) 2003 Free Software Foundation, Inc.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
- ## --------------------- ##
- ## M4sh Initialization.  ##
- ## --------------------- ##
--# Be Bourne compatible
-+# Be more Bourne compatible
-+DUALCASE=1; export DUALCASE # for MKS sh
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
-   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-   # is contrary to our usage.  Disable this feature.
-   alias -g '${1+"$@"}'='"$@"'
--elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
--  set -o posix
-+  setopt NO_GLOB_SUBST
-+else
-+  case `(set -o) 2>/dev/null` in
-+  *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+
-+
-+# PATH needs CR
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+  echo "#! /bin/sh" >conf$$.sh
-+  echo  "exit 0"   >>conf$$.sh
-+  chmod +x conf$$.sh
-+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+    PATH_SEPARATOR=';'
-+  else
-+    PATH_SEPARATOR=:
-+  fi
-+  rm -f conf$$.sh
- fi
--DUALCASE=1; export DUALCASE # for MKS sh
- # Support unset when possible.
- if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-@@ -29,8 +58,43 @@ else
- fi
-+# IFS
-+# We need space, tab and new line, in precisely that order.  Quoting is
-+# there to prevent editors from complaining about space-tab.
-+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-+# splitting by setting IFS to empty value.)
-+as_nl='
-+'
-+IFS=" ""      $as_nl"
-+
-+# Find who we are.  Look in the path if we contain no directory separator.
-+case $0 in
-+  *[\\/]* ) as_myself=$0 ;;
-+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+IFS=$as_save_IFS
-+
-+     ;;
-+esac
-+# We did not find ourselves, most probably we were run as `sh COMMAND'
-+# in which case we are not to be found in the path.
-+if test "x$as_myself" = x; then
-+  as_myself=$0
-+fi
-+if test ! -f "$as_myself"; then
-+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+  { (exit 1); exit 1; }
-+fi
-+
- # Work around bugs in pre-3.0 UWIN ksh.
--$as_unset ENV MAIL MAILPATH
-+for as_var in ENV MAIL MAILPATH
-+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+done
- PS1='$ '
- PS2='> '
- PS4='+ '
-@@ -44,18 +108,19 @@ do
-   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-     eval $as_var=C; export $as_var
-   else
--    $as_unset $as_var
-+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-   fi
- done
- # Required to use basename.
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-   as_expr=expr
- else
-   as_expr=false
- fi
--if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-   as_basename=basename
- else
-   as_basename=false
-@@ -63,157 +128,388 @@ fi
- # Name of the executable.
--as_me=`$as_basename "$0" ||
-+as_me=`$as_basename -- "$0" ||
- $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
--       X"$0" : 'X\(/\)$' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- echo X/"$0" |
--    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
--        /^X\/\(\/\/\)$/{ s//\1/; q; }
--        /^X\/\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
-+    sed '/^.*\/\([^/][^/]*\)\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\/\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\/\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
-+# CDPATH.
-+$as_unset CDPATH
--# PATH needs CR, and LINENO needs CR and PATH.
--# Avoid depending upon Character Ranges.
--as_cr_letters='abcdefghijklmnopqrstuvwxyz'
--as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
--as_cr_Letters=$as_cr_letters$as_cr_LETTERS
--as_cr_digits='0123456789'
--as_cr_alnum=$as_cr_Letters$as_cr_digits
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
--  echo "#! /bin/sh" >conf$$.sh
--  echo  "exit 0"   >>conf$$.sh
--  chmod +x conf$$.sh
--  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
--    PATH_SEPARATOR=';'
--  else
--    PATH_SEPARATOR=:
--  fi
--  rm -f conf$$.sh
-+if test "x$CONFIG_SHELL" = x; then
-+  if (eval ":") 2>/dev/null; then
-+  as_have_required=yes
-+else
-+  as_have_required=no
- fi
-+  if test $as_have_required = yes &&   (eval ":
-+(as_func_return () {
-+  (exit \$1)
-+}
-+as_func_success () {
-+  as_func_return 0
-+}
-+as_func_failure () {
-+  as_func_return 1
-+}
-+as_func_ret_success () {
-+  return 0
-+}
-+as_func_ret_failure () {
-+  return 1
-+}
--  as_lineno_1=$LINENO
--  as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
--  test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
--  # Find who we are.  Look in the path if we contain no path at all
--  # relative or not.
--  case $0 in
--    *[\\/]* ) as_myself=$0 ;;
--    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
--done
-+exitcode=0
-+if as_func_success; then
-+  :
-+else
-+  exitcode=1
-+  echo as_func_success failed.
-+fi
--       ;;
--  esac
--  # We did not find ourselves, most probably we were run as `sh COMMAND'
--  # in which case we are not to be found in the path.
--  if test "x$as_myself" = x; then
--    as_myself=$0
--  fi
--  if test ! -f "$as_myself"; then
--    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
--   { (exit 1); exit 1; }; }
--  fi
--  case $CONFIG_SHELL in
--  '')
-+if as_func_failure; then
-+  exitcode=1
-+  echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+  :
-+else
-+  exitcode=1
-+  echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+  exitcode=1
-+  echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-+  :
-+else
-+  exitcode=1
-+  echo positional parameters were not saved.
-+fi
-+
-+test \$exitcode = 0) || { (exit 1); exit 1; }
-+
-+(
-+  as_lineno_1=\$LINENO
-+  as_lineno_2=\$LINENO
-+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-+") 2> /dev/null; then
-+  :
-+else
-+  as_candidate_shells=
-     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
- do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
--  for as_base in sh bash ksh sh5; do
--       case $as_dir in
-+  case $as_dir in
-        /*)
--         if ("$as_dir/$as_base" -c '
-+         for as_base in sh bash ksh sh5; do
-+           as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-+         done;;
-+       esac
-+done
-+IFS=$as_save_IFS
-+
-+
-+      for as_shell in $as_candidate_shells $SHELL; do
-+       # Try only shells that exist, to save several forks.
-+       if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-+              { ("$as_shell") 2> /dev/null <<\_ASEOF
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+  emulate sh
-+  NULLCMD=:
-+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+  # is contrary to our usage.  Disable this feature.
-+  alias -g '${1+"$@"}'='"$@"'
-+  setopt NO_GLOB_SUBST
-+else
-+  case `(set -o) 2>/dev/null` in
-+  *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+:
-+_ASEOF
-+}; then
-+  CONFIG_SHELL=$as_shell
-+             as_have_required=yes
-+             if { "$as_shell" 2> /dev/null <<\_ASEOF
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+  emulate sh
-+  NULLCMD=:
-+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+  # is contrary to our usage.  Disable this feature.
-+  alias -g '${1+"$@"}'='"$@"'
-+  setopt NO_GLOB_SUBST
-+else
-+  case `(set -o) 2>/dev/null` in
-+  *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+:
-+(as_func_return () {
-+  (exit $1)
-+}
-+as_func_success () {
-+  as_func_return 0
-+}
-+as_func_failure () {
-+  as_func_return 1
-+}
-+as_func_ret_success () {
-+  return 0
-+}
-+as_func_ret_failure () {
-+  return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+  :
-+else
-+  exitcode=1
-+  echo as_func_success failed.
-+fi
-+
-+if as_func_failure; then
-+  exitcode=1
-+  echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+  :
-+else
-+  exitcode=1
-+  echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+  exitcode=1
-+  echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = "$1" ); then
-+  :
-+else
-+  exitcode=1
-+  echo positional parameters were not saved.
-+fi
-+
-+test $exitcode = 0) || { (exit 1); exit 1; }
-+
-+(
-   as_lineno_1=$LINENO
-   as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-   test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
--           $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
--           $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
--           CONFIG_SHELL=$as_dir/$as_base
--           export CONFIG_SHELL
--           exec "$CONFIG_SHELL" "$0" ${1+"$@"}
--         fi;;
--       esac
--       done
--done
--;;
--  esac
-+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-+
-+_ASEOF
-+}; then
-+  break
-+fi
-+
-+fi
-+
-+      done
-+
-+      if test "x$CONFIG_SHELL" != x; then
-+  for as_var in BASH_ENV ENV
-+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+        done
-+        export CONFIG_SHELL
-+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-+fi
-+
-+
-+    if test $as_have_required = no; then
-+  echo This script requires a shell more modern than all the
-+      echo shells that I found on your system.  Please install a
-+      echo modern shell, or manually run the script under such a
-+      echo shell if you do have one.
-+      { (exit 1); exit 1; }
-+fi
-+
-+
-+fi
-+
-+fi
-+
-+
-+
-+(eval "as_func_return () {
-+  (exit \$1)
-+}
-+as_func_success () {
-+  as_func_return 0
-+}
-+as_func_failure () {
-+  as_func_return 1
-+}
-+as_func_ret_success () {
-+  return 0
-+}
-+as_func_ret_failure () {
-+  return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+  :
-+else
-+  exitcode=1
-+  echo as_func_success failed.
-+fi
-+
-+if as_func_failure; then
-+  exitcode=1
-+  echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+  :
-+else
-+  exitcode=1
-+  echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+  exitcode=1
-+  echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-+  :
-+else
-+  exitcode=1
-+  echo positional parameters were not saved.
-+fi
-+
-+test \$exitcode = 0") || {
-+  echo No shell found that supports shell functions.
-+  echo Please tell autoconf@gnu.org about your system,
-+  echo including any error possibly output before this
-+  echo message
-+}
-+
-+
-+
-+  as_lineno_1=$LINENO
-+  as_lineno_2=$LINENO
-+  test "x$as_lineno_1" != "x$as_lineno_2" &&
-+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-   # uniformly replaced by the line number.  The first 'sed' inserts a
--  # line-number line before each line; the second 'sed' does the real
--  # work.  The second script uses 'N' to pair each line-number line
--  # with the numbered line, and appends trailing '-' during
--  # substitution so that $LINENO is not a special case at line end.
-+  # line-number line after each line using $LINENO; the second 'sed'
-+  # does the real work.  The second script uses 'N' to pair each
-+  # line-number line with the line containing $LINENO, and appends
-+  # trailing '-' during substitution so that $LINENO is not a special
-+  # case at line end.
-   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
--  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
--  sed '=' <$as_myself |
-+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-+  # E. McMahon (1931-1989) for sed's syntax.  :-)
-+  sed -n '
-+    p
-+    /[$]LINENO/=
-+  ' <$as_myself |
-     sed '
-+      s/[$]LINENO.*/&-/
-+      t lineno
-+      b
-+      :lineno
-       N
--      s,$,-,
--      : loop
--      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+      :loop
-+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-       t loop
--      s,-$,,
--      s,^['$as_cr_digits']*\n,,
-+      s/-\n.*//
-     ' >$as_me.lineno &&
--  chmod +x $as_me.lineno ||
-+  chmod +x "$as_me.lineno" ||
-     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-    { (exit 1); exit 1; }; }
-   # Don't try to exec as it changes $[0], causing all sort of problems
-   # (the dirname of $[0] is not the place where we might find the
--  # original and so on.  Autoconf is especially sensible to this).
--  . ./$as_me.lineno
-+  # original and so on.  Autoconf is especially sensitive to this).
-+  . "./$as_me.lineno"
-   # Exit status is that of the last command.
-   exit
- }
--case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
--  *c*,-n*) ECHO_N= ECHO_C='
--' ECHO_T='    ' ;;
--  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
--  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
-+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-+  as_dirname=dirname
-+else
-+  as_dirname=false
-+fi
-+
-+ECHO_C= ECHO_N= ECHO_T=
-+case `echo -n x` in
-+-n*)
-+  case `echo 'x\c'` in
-+  *c*) ECHO_T='       ';;     # ECHO_T is single tab character.
-+  *)   ECHO_C='\c';;
-+  esac;;
-+*)
-+  ECHO_N='-n';;
- esac
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-   as_expr=expr
- else
-   as_expr=false
- fi
- rm -f conf$$ conf$$.exe conf$$.file
-+if test -d conf$$.dir; then
-+  rm -f conf$$.dir/conf$$.file
-+else
-+  rm -f conf$$.dir
-+  mkdir conf$$.dir
-+fi
- echo >conf$$.file
- if ln -s conf$$.file conf$$ 2>/dev/null; then
--  # We could just check for DJGPP; but this test a) works b) is more generic
--  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
--  if test -f conf$$.exe; then
--    # Don't use ln at all; we don't have any links
-+  as_ln_s='ln -s'
-+  # ... but there are two gotchas:
-+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+  # In both cases, we have to default to `cp -p'.
-+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-     as_ln_s='cp -p'
--  else
--    as_ln_s='ln -s'
--  fi
- elif ln conf$$.file conf$$ 2>/dev/null; then
-   as_ln_s=ln
- else
-   as_ln_s='cp -p'
- fi
--rm -f conf$$ conf$$.exe conf$$.file
-+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-+rmdir conf$$.dir 2>/dev/null
- if mkdir -p . 2>/dev/null; then
-   as_mkdir_p=:
-@@ -222,7 +518,28 @@ else
-   as_mkdir_p=false
- fi
--as_executable_p="test -f"
-+if test -x / >/dev/null 2>&1; then
-+  as_test_x='test -x'
-+else
-+  if ls -dL / >/dev/null 2>&1; then
-+    as_ls_L_option=L
-+  else
-+    as_ls_L_option=
-+  fi
-+  as_test_x='
-+    eval sh -c '\''
-+      if test -d "$1"; then
-+        test -d "$1/.";
-+      else
-+      case $1 in
-+        -*)set "./$1";;
-+      esac;
-+      case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-+      ???[sx]*):;;*)false;;esac;fi
-+    '\'' sh
-+  '
-+fi
-+as_executable_p=$as_test_x
- # Sed expression to map a string onto a valid CPP name.
- as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-@@ -231,39 +548,27 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
- as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
--# IFS
--# We need space, tab and new line, in precisely that order.
--as_nl='
--'
--IFS="         $as_nl"
--
--# CDPATH.
--$as_unset CDPATH
-+exec 7<&0 </dev/null 6>&1
- # Name of the host.
- # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
- # so uname gets run too.
- ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
--exec 6>&1
--
- #
- # Initializations.
- #
- ac_default_prefix=/usr/local
-+ac_clean_files=
- ac_config_libobj_dir=.
-+LIBOBJS=
- cross_compiling=no
- subdirs=
- MFLAGS=
- MAKEFLAGS=
- SHELL=${CONFIG_SHELL-/bin/sh}
--# Maximum number of lines to put in a shell here document.
--# This variable seems obsolete.  It should probably be removed, and
--# only ac_max_sed_lines should be used.
--: ${ac_max_here_lines=38}
--
- # Identity of this package.
- PACKAGE_NAME='dash'
- PACKAGE_TARNAME='dash'
-@@ -275,42 +580,135 @@ ac_unique_file="src/main.c"
- # Factoring default headers for most tests.
- ac_includes_default="\
- #include <stdio.h>
--#if HAVE_SYS_TYPES_H
-+#ifdef HAVE_SYS_TYPES_H
- # include <sys/types.h>
- #endif
--#if HAVE_SYS_STAT_H
-+#ifdef HAVE_SYS_STAT_H
- # include <sys/stat.h>
- #endif
--#if STDC_HEADERS
-+#ifdef STDC_HEADERS
- # include <stdlib.h>
- # include <stddef.h>
- #else
--# if HAVE_STDLIB_H
-+# ifdef HAVE_STDLIB_H
- #  include <stdlib.h>
- # endif
- #endif
--#if HAVE_STRING_H
--# if !STDC_HEADERS && HAVE_MEMORY_H
-+#ifdef HAVE_STRING_H
-+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
- #  include <memory.h>
- # endif
- # include <string.h>
- #endif
--#if HAVE_STRINGS_H
-+#ifdef HAVE_STRINGS_H
- # include <strings.h>
- #endif
--#if HAVE_INTTYPES_H
-+#ifdef HAVE_INTTYPES_H
- # include <inttypes.h>
--#else
--# if HAVE_STDINT_H
--#  include <stdint.h>
--# endif
- #endif
--#if HAVE_UNISTD_H
-+#ifdef HAVE_STDINT_H
-+# include <stdint.h>
-+#endif
-+#ifdef HAVE_UNISTD_H
- # include <unistd.h>
- #endif"
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE YACC CC_FOR_BUILD CPP EGREP LIBOBJS LTLIBOBJS'
-+ac_subst_vars='SHELL
-+PATH_SEPARATOR
-+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
-+INSTALL_PROGRAM
-+INSTALL_SCRIPT
-+INSTALL_DATA
-+am__isrc
-+CYGPATH_W
-+PACKAGE
-+VERSION
-+ACLOCAL
-+AUTOCONF
-+AUTOMAKE
-+AUTOHEADER
-+MAKEINFO
-+install_sh
-+STRIP
-+INSTALL_STRIP_PROGRAM
-+mkdir_p
-+AWK
-+SET_MAKE
-+am__leading_dot
-+AMTAR
-+am__tar
-+am__untar
-+CC
-+CFLAGS
-+LDFLAGS
-+CPPFLAGS
-+ac_ct_CC
-+EXEEXT
-+OBJEXT
-+DEPDIR
-+am__include
-+am__quote
-+AMDEP_TRUE
-+AMDEP_FALSE
-+AMDEPBACKSLASH
-+CCDEPMODE
-+am__fastdepCC_TRUE
-+am__fastdepCC_FALSE
-+YACC
-+YFLAGS
-+CC_FOR_BUILD
-+CPP
-+GREP
-+EGREP
-+LIBOBJS
-+LTLIBOBJS'
- ac_subst_files=''
-+      ac_precious_vars='build_alias
-+host_alias
-+target_alias
-+CC
-+CFLAGS
-+LDFLAGS
-+LIBS
-+CPPFLAGS
-+YACC
-+YFLAGS
-+CPP'
-+
- # Initialize some variables set by options.
- ac_init_help=
-@@ -337,34 +735,48 @@ x_libraries=NONE
- # and all the variables that are supposed to be based on exec_prefix
- # by default will actually change.
- # Use braces instead of parens because sh, perl, etc. also accept them.
-+# (The list follows the same order as the GNU Coding Standards.)
- bindir='${exec_prefix}/bin'
- sbindir='${exec_prefix}/sbin'
- libexecdir='${exec_prefix}/libexec'
--datadir='${prefix}/share'
-+datarootdir='${prefix}/share'
-+datadir='${datarootdir}'
- sysconfdir='${prefix}/etc'
- sharedstatedir='${prefix}/com'
- localstatedir='${prefix}/var'
--libdir='${exec_prefix}/lib'
- includedir='${prefix}/include'
- oldincludedir='/usr/include'
--infodir='${prefix}/info'
--mandir='${prefix}/man'
-+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-+infodir='${datarootdir}/info'
-+htmldir='${docdir}'
-+dvidir='${docdir}'
-+pdfdir='${docdir}'
-+psdir='${docdir}'
-+libdir='${exec_prefix}/lib'
-+localedir='${datarootdir}/locale'
-+mandir='${datarootdir}/man'
- ac_prev=
-+ac_dashdash=
- for ac_option
- do
-   # If the previous option needs an argument, assign it.
-   if test -n "$ac_prev"; then
--    eval "$ac_prev=\$ac_option"
-+    eval $ac_prev=\$ac_option
-     ac_prev=
-     continue
-   fi
--  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-+  case $ac_option in
-+  *=*)        ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-+  *)  ac_optarg=yes ;;
-+  esac
-   # Accept the important Cygnus configure options, so we can diagnose typos.
--  case $ac_option in
-+  case $ac_dashdash$ac_option in
-+  --)
-+    ac_dashdash=yes ;;
-   -bindir | --bindir | --bindi | --bind | --bin | --bi)
-     ac_prev=bindir ;;
-@@ -386,33 +798,45 @@ do
-   --config-cache | -C)
-     cache_file=config.cache ;;
--  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-+  -datadir | --datadir | --datadi | --datad)
-     ac_prev=datadir ;;
--  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
--  | --da=*)
-+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-     datadir=$ac_optarg ;;
-+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-+  | --dataroo | --dataro | --datar)
-+    ac_prev=datarootdir ;;
-+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-+    datarootdir=$ac_optarg ;;
-+
-   -disable-* | --disable-*)
-     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-    { (exit 1); exit 1; }; }
--    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
--    eval "enable_$ac_feature=no" ;;
-+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-+    eval enable_$ac_feature=no ;;
-+
-+  -docdir | --docdir | --docdi | --doc | --do)
-+    ac_prev=docdir ;;
-+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-+    docdir=$ac_optarg ;;
-+
-+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-+    ac_prev=dvidir ;;
-+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-+    dvidir=$ac_optarg ;;
-   -enable-* | --enable-*)
-     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-    { (exit 1); exit 1; }; }
--    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
--    case $ac_option in
--      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
--      *) ac_optarg=yes ;;
--    esac
--    eval "enable_$ac_feature='$ac_optarg'" ;;
-+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-+    eval enable_$ac_feature=\$ac_optarg ;;
-   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-@@ -439,6 +863,12 @@ do
-   -host=* | --host=* | --hos=* | --ho=*)
-     host_alias=$ac_optarg ;;
-+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-+    ac_prev=htmldir ;;
-+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-+  | --ht=*)
-+    htmldir=$ac_optarg ;;
-+
-   -includedir | --includedir | --includedi | --included | --include \
-   | --includ | --inclu | --incl | --inc)
-     ac_prev=includedir ;;
-@@ -463,13 +893,16 @@ do
-   | --libexe=* | --libex=* | --libe=*)
-     libexecdir=$ac_optarg ;;
-+  -localedir | --localedir | --localedi | --localed | --locale)
-+    ac_prev=localedir ;;
-+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-+    localedir=$ac_optarg ;;
-+
-   -localstatedir | --localstatedir | --localstatedi | --localstated \
--  | --localstate | --localstat | --localsta | --localst \
--  | --locals | --local | --loca | --loc | --lo)
-+  | --localstate | --localstat | --localsta | --localst | --locals)
-     ac_prev=localstatedir ;;
-   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
--  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
--  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-     localstatedir=$ac_optarg ;;
-   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-@@ -534,6 +967,16 @@ do
-   | --progr-tra=* | --program-tr=* | --program-t=*)
-     program_transform_name=$ac_optarg ;;
-+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-+    ac_prev=pdfdir ;;
-+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-+    pdfdir=$ac_optarg ;;
-+
-+  -psdir | --psdir | --psdi | --psd | --ps)
-+    ac_prev=psdir ;;
-+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-+    psdir=$ac_optarg ;;
-+
-   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-   | -silent | --silent | --silen | --sile | --sil)
-     silent=yes ;;
-@@ -586,24 +1029,20 @@ do
-   -with-* | --with-*)
-     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-       { echo "$as_me: error: invalid package name: $ac_package" >&2
-    { (exit 1); exit 1; }; }
--    ac_package=`echo $ac_package| sed 's/-/_/g'`
--    case $ac_option in
--      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
--      *) ac_optarg=yes ;;
--    esac
--    eval "with_$ac_package='$ac_optarg'" ;;
-+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-+    eval with_$ac_package=\$ac_optarg ;;
-   -without-* | --without-*)
-     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-       { echo "$as_me: error: invalid package name: $ac_package" >&2
-    { (exit 1); exit 1; }; }
--    ac_package=`echo $ac_package | sed 's/-/_/g'`
--    eval "with_$ac_package=no" ;;
-+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-+    eval with_$ac_package=no ;;
-   --x)
-     # Obsolete; use --with-x.
-@@ -634,8 +1073,7 @@ Try \`$0 --help' for more information." >&2
-     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-    { (exit 1); exit 1; }; }
--    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
--    eval "$ac_envvar='$ac_optarg'"
-+    eval $ac_envvar=\$ac_optarg
-     export $ac_envvar ;;
-   *)
-@@ -655,27 +1093,19 @@ if test -n "$ac_prev"; then
-    { (exit 1); exit 1; }; }
- fi
--# Be sure to have absolute paths.
--for ac_var in exec_prefix prefix
--do
--  eval ac_val=$`echo $ac_var`
--  case $ac_val in
--    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
--    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
--   { (exit 1); exit 1; }; };;
--  esac
--done
--
--# Be sure to have absolute paths.
--for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
--            localstatedir libdir includedir oldincludedir infodir mandir
-+# Be sure to have absolute directory names.
-+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
-+              datadir sysconfdir sharedstatedir localstatedir includedir \
-+              oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-+              libdir localedir mandir
- do
--  eval ac_val=$`echo $ac_var`
-+  eval ac_val=\$$ac_var
-   case $ac_val in
--    [\\/$]* | ?:[\\/]* ) ;;
--    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
--   { (exit 1); exit 1; }; };;
-+    [\\/$]* | ?:[\\/]* )  continue;;
-+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-   esac
-+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-+   { (exit 1); exit 1; }; }
- done
- # There might be people who depend on the old broken behavior: `$host'
-@@ -702,74 +1132,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
- 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 .` ||
-+  { echo "$as_me: error: Working directory cannot be determined" >&2
-+   { (exit 1); exit 1; }; }
-+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-+  { echo "$as_me: error: pwd does not report name of working directory" >&2
-+   { (exit 1); exit 1; }; }
-+
-+
- # Find the source files, if location was not specified.
- if test -z "$srcdir"; then
-   ac_srcdir_defaulted=yes
--  # Try the directory containing this script, then its parent.
--  ac_confdir=`(dirname "$0") 2>/dev/null ||
-+  # Try the directory containing this script, then the parent directory.
-+  ac_confdir=`$as_dirname -- "$0" ||
- $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$0" : 'X\(//\)[^/]' \| \
-        X"$0" : 'X\(//\)$' \| \
--       X"$0" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$0" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
-+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)[^/].*/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
-   srcdir=$ac_confdir
--  if test ! -r $srcdir/$ac_unique_file; then
-+  if test ! -r "$srcdir/$ac_unique_file"; then
-     srcdir=..
-   fi
- else
-   ac_srcdir_defaulted=no
- fi
--if test ! -r $srcdir/$ac_unique_file; then
--  if test "$ac_srcdir_defaulted" = yes; then
--    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
--   { (exit 1); exit 1; }; }
--  else
--    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-+if test ! -r "$srcdir/$ac_unique_file"; then
-+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-    { (exit 1); exit 1; }; }
--  fi
- fi
--(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
--  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-+ac_abs_confdir=`(
-+      cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
-    { (exit 1); exit 1; }; }
--srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
--ac_env_build_alias_set=${build_alias+set}
--ac_env_build_alias_value=$build_alias
--ac_cv_env_build_alias_set=${build_alias+set}
--ac_cv_env_build_alias_value=$build_alias
--ac_env_host_alias_set=${host_alias+set}
--ac_env_host_alias_value=$host_alias
--ac_cv_env_host_alias_set=${host_alias+set}
--ac_cv_env_host_alias_value=$host_alias
--ac_env_target_alias_set=${target_alias+set}
--ac_env_target_alias_value=$target_alias
--ac_cv_env_target_alias_set=${target_alias+set}
--ac_cv_env_target_alias_value=$target_alias
--ac_env_CC_set=${CC+set}
--ac_env_CC_value=$CC
--ac_cv_env_CC_set=${CC+set}
--ac_cv_env_CC_value=$CC
--ac_env_CFLAGS_set=${CFLAGS+set}
--ac_env_CFLAGS_value=$CFLAGS
--ac_cv_env_CFLAGS_set=${CFLAGS+set}
--ac_cv_env_CFLAGS_value=$CFLAGS
--ac_env_LDFLAGS_set=${LDFLAGS+set}
--ac_env_LDFLAGS_value=$LDFLAGS
--ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
--ac_cv_env_LDFLAGS_value=$LDFLAGS
--ac_env_CPPFLAGS_set=${CPPFLAGS+set}
--ac_env_CPPFLAGS_value=$CPPFLAGS
--ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
--ac_cv_env_CPPFLAGS_value=$CPPFLAGS
--ac_env_CPP_set=${CPP+set}
--ac_env_CPP_value=$CPP
--ac_cv_env_CPP_set=${CPP+set}
--ac_cv_env_CPP_value=$CPP
-+      pwd)`
-+# When building in place, set srcdir=.
-+if test "$ac_abs_confdir" = "$ac_pwd"; then
-+  srcdir=.
-+fi
-+# Remove unnecessary trailing slashes from srcdir.
-+# Double slashes in file names in object file debugging info
-+# mess up M-x gdb in Emacs.
-+case $srcdir in
-+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-+esac
-+for ac_var in $ac_precious_vars; do
-+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-+  eval ac_env_${ac_var}_value=\$${ac_var}
-+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-+done
- #
- # Report the --help message.
-@@ -798,9 +1230,6 @@ Configuration:
-   -n, --no-create         do not create output files
-       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
--_ACEOF
--
--  cat <<_ACEOF
- Installation directories:
-   --prefix=PREFIX         install architecture-independent files in PREFIX
-                         [$ac_default_prefix]
-@@ -818,15 +1247,22 @@ Fine tuning of the installation directories:
-   --bindir=DIR           user executables [EPREFIX/bin]
-   --sbindir=DIR          system admin executables [EPREFIX/sbin]
-   --libexecdir=DIR       program executables [EPREFIX/libexec]
--  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
-   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
-   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
-   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
-   --libdir=DIR           object code libraries [EPREFIX/lib]
-   --includedir=DIR       C header files [PREFIX/include]
-   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
--  --infodir=DIR          info documentation [PREFIX/info]
--  --mandir=DIR           man documentation [PREFIX/man]
-+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
-+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
-+  --infodir=DIR          info documentation [DATAROOTDIR/info]
-+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
-+  --mandir=DIR           man documentation [DATAROOTDIR/man]
-+  --docdir=DIR           documentation root [DATAROOTDIR/doc/dash]
-+  --htmldir=DIR          html documentation [DOCDIR]
-+  --dvidir=DIR           dvi documentation [DOCDIR]
-+  --pdfdir=DIR           pdf documentation [DOCDIR]
-+  --psdir=DIR            ps documentation [DOCDIR]
- _ACEOF
-   cat <<\_ACEOF
-@@ -849,6 +1285,9 @@ Optional Features:
-   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-   --disable-dependency-tracking  speeds up one-time build
-   --enable-dependency-tracking   do not reject slow dependency extractors
-+  --enable-static         Build statical linked program
-+  --enable-fnmatch        Use fnmatch(3) from libc
-+  --enable-glob           Use glob(3) from libc
- Optional Packages:
-   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-@@ -860,128 +1299,100 @@ Some influential environment variables:
-   CFLAGS      C compiler flags
-   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-               nonstandard directory <lib dir>
--  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
--              headers in a nonstandard directory <include dir>
-+  LIBS        libraries to pass to the linker, e.g. -l<library>
-+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-+              you have headers in a nonstandard directory <include dir>
-+  YACC        The `Yet Another C Compiler' implementation to use. Defaults to
-+              the first program found out of: `bison -y', `byacc', `yacc'.
-+  YFLAGS      The list of arguments that will be passed by default to $YACC.
-+              This script will default YFLAGS to the empty string to avoid a
-+              default value of `-d' given by some make applications.
-   CPP         C preprocessor
- Use these variables to override the choices made by `configure' or to help
- it to find libraries and programs with nonstandard names/locations.
- _ACEOF
-+ac_status=$?
- fi
- if test "$ac_init_help" = "recursive"; then
-   # If there are subdirs, report their specific --help.
--  ac_popdir=`pwd`
-   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
--    test -d $ac_dir || continue
-+    test -d "$ac_dir" || continue
-     ac_builddir=.
--if test "$ac_dir" != .; then
-+case "$ac_dir" in
-+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+*)
-   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
--  # A "../" for each directory in $ac_dir_suffix.
--  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
--  ac_dir_suffix= ac_top_builddir=
--fi
-+  # A ".." for each directory in $ac_dir_suffix.
-+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+  case $ac_top_builddir_sub in
-+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-+  esac ;;
-+esac
-+ac_abs_top_builddir=$ac_pwd
-+ac_abs_builddir=$ac_pwd$ac_dir_suffix
-+# for backward compatibility:
-+ac_top_builddir=$ac_top_build_prefix
- case $srcdir in
--  .)  # No --srcdir option.  We are building in place.
-+  .)  # We are building in place.
-     ac_srcdir=.
--    if test -z "$ac_top_builddir"; then
--       ac_top_srcdir=.
--    else
--       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
--    fi ;;
--  [\\/]* | ?:[\\/]* )  # Absolute path.
-+    ac_top_srcdir=$ac_top_builddir_sub
-+    ac_abs_top_srcdir=$ac_pwd ;;
-+  [\\/]* | ?:[\\/]* )  # Absolute name.
-     ac_srcdir=$srcdir$ac_dir_suffix;
--    ac_top_srcdir=$srcdir ;;
--  *) # Relative path.
--    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
--    ac_top_srcdir=$ac_top_builddir$srcdir ;;
--esac
--
--# Do not use `cd foo && pwd` to compute absolute paths, because
--# the directories may not exist.
--case `pwd` in
--.) ac_abs_builddir="$ac_dir";;
--*)
--  case "$ac_dir" in
--  .) ac_abs_builddir=`pwd`;;
--  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
--  *) ac_abs_builddir=`pwd`/"$ac_dir";;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_builddir=${ac_top_builddir}.;;
--*)
--  case ${ac_top_builddir}. in
--  .) ac_abs_top_builddir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
--  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_srcdir=$ac_srcdir;;
--*)
--  case $ac_srcdir in
--  .) ac_abs_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
--  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
--  esac;;
-+    ac_top_srcdir=$srcdir
-+    ac_abs_top_srcdir=$srcdir ;;
-+  *) # Relative name.
-+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-+    ac_top_srcdir=$ac_top_build_prefix$srcdir
-+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
- esac
--case $ac_abs_builddir in
--.) ac_abs_top_srcdir=$ac_top_srcdir;;
--*)
--  case $ac_top_srcdir in
--  .) ac_abs_top_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
--  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
--  esac;;
--esac
--
--    cd $ac_dir
--    # Check for guested configure; otherwise get Cygnus style configure.
--    if test -f $ac_srcdir/configure.gnu; then
--      echo
--      $SHELL $ac_srcdir/configure.gnu  --help=recursive
--    elif test -f $ac_srcdir/configure; then
--      echo
--      $SHELL $ac_srcdir/configure  --help=recursive
--    elif test -f $ac_srcdir/configure.ac ||
--         test -f $ac_srcdir/configure.in; then
--      echo
--      $ac_configure --help
-+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-+
-+    cd "$ac_dir" || { ac_status=$?; continue; }
-+    # Check for guested configure.
-+    if test -f "$ac_srcdir/configure.gnu"; then
-+      echo &&
-+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-+    elif test -f "$ac_srcdir/configure"; then
-+      echo &&
-+      $SHELL "$ac_srcdir/configure" --help=recursive
-     else
-       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
--    fi
--    cd "$ac_popdir"
-+    fi || ac_status=$?
-+    cd "$ac_pwd" || { ac_status=$?; break; }
-   done
- fi
--test -n "$ac_init_help" && exit 0
-+test -n "$ac_init_help" && exit $ac_status
- if $ac_init_version; then
-   cat <<\_ACEOF
- dash configure 0.5.4
--generated by GNU Autoconf 2.59
-+generated by GNU Autoconf 2.61
--Copyright (C) 2003 Free Software Foundation, Inc.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
- This configure script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it.
- _ACEOF
--  exit 0
-+  exit
- fi
--exec 5>config.log
--cat >&5 <<_ACEOF
-+cat >config.log <<_ACEOF
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
- It was created by dash $as_me 0.5.4, which was
--generated by GNU Autoconf 2.59.  Invocation command line was
-+generated by GNU Autoconf 2.61.  Invocation command line was
-   $ $0 $@
- _ACEOF
-+exec 5>>config.log
- {
- cat <<_ASUNAME
- ## --------- ##
-@@ -1000,7 +1411,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
- /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
- /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
- /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
--hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
-+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
- /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
- /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
- /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-@@ -1014,6 +1425,7 @@ do
-   test -z "$as_dir" && as_dir=.
-   echo "PATH: $as_dir"
- done
-+IFS=$as_save_IFS
- } >&5
-@@ -1035,7 +1447,6 @@ _ACEOF
- ac_configure_args=
- ac_configure_args0=
- ac_configure_args1=
--ac_sep=
- ac_must_keep_next=false
- for ac_pass in 1 2
- do
-@@ -1046,7 +1457,7 @@ do
-     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-     | -silent | --silent | --silen | --sile | --sil)
-       continue ;;
--    *" "*|*"  "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-+    *\'*)
-       ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-     esac
-     case $ac_pass in
-@@ -1068,9 +1479,7 @@ do
-         -* ) ac_must_keep_next=true ;;
-       esac
-       fi
--      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
--      # Get rid of the leading space.
--      ac_sep=" "
-+      ac_configure_args="$ac_configure_args '$ac_arg'"
-       ;;
-     esac
-   done
-@@ -1081,8 +1490,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
- # When interrupted or exit'd, cleanup temporary files, and complete
- # config.log.  We remove comments because anyway the quotes in there
- # would cause problems or look ugly.
--# WARNING: Be sure not to use single quotes in there, as some shells,
--# such as our DU 5.0 friend, will then `close' the trap.
-+# WARNING: Use '\'' to represent an apostrophe within the trap.
-+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
- trap 'exit_status=$?
-   # Save into config.log some information that might help in debugging.
-   {
-@@ -1095,20 +1504,34 @@ trap 'exit_status=$?
- _ASBOX
-     echo
-     # The following way of writing the cache mishandles newlines in values,
--{
-+(
-+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-+    eval ac_val=\$$ac_var
-+    case $ac_val in #(
-+    *${as_nl}*)
-+      case $ac_var in #(
-+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+      esac
-+      case $ac_var in #(
-+      _ | IFS | as_nl) ;; #(
-+      *) $as_unset $ac_var ;;
-+      esac ;;
-+    esac
-+  done
-   (set) 2>&1 |
--    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
--    *ac_space=\ *)
-+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-+    *${as_nl}ac_space=\ *)
-       sed -n \
--      "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
--        s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
--      ;;
-+      "s/'\''/'\''\\\\'\'''\''/g;
-+        s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-+      ;; #(
-     *)
--      sed -n \
--      "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-       ;;
--    esac;
--}
-+    esac |
-+    sort
-+)
-     echo
-     cat <<\_ASBOX
-@@ -1119,22 +1542,28 @@ _ASBOX
-     echo
-     for ac_var in $ac_subst_vars
-     do
--      eval ac_val=$`echo $ac_var`
--      echo "$ac_var='"'"'$ac_val'"'"'"
-+      eval ac_val=\$$ac_var
-+      case $ac_val in
-+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+      esac
-+      echo "$ac_var='\''$ac_val'\''"
-     done | sort
-     echo
-     if test -n "$ac_subst_files"; then
-       cat <<\_ASBOX
--## ------------- ##
--## Output files. ##
--## ------------- ##
-+## ------------------- ##
-+## File substitutions. ##
-+## ------------------- ##
- _ASBOX
-       echo
-       for ac_var in $ac_subst_files
-       do
--      eval ac_val=$`echo $ac_var`
--      echo "$ac_var='"'"'$ac_val'"'"'"
-+      eval ac_val=\$$ac_var
-+      case $ac_val in
-+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+      esac
-+      echo "$ac_var='\''$ac_val'\''"
-       done | sort
-       echo
-     fi
-@@ -1146,26 +1575,24 @@ _ASBOX
- ## ----------- ##
- _ASBOX
-       echo
--      sed "/^$/d" confdefs.h | sort
-+      cat confdefs.h
-       echo
-     fi
-     test "$ac_signal" != 0 &&
-       echo "$as_me: caught signal $ac_signal"
-     echo "$as_me: exit $exit_status"
-   } >&5
--  rm -f core *.core &&
--  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
-+  rm -f core *.core core.conftest.* &&
-+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-     exit $exit_status
--     ' 0
-+' 0
- for ac_signal in 1 2 13 15; do
-   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
- done
- ac_signal=0
- # confdefs.h avoids OS command line length limits that DEFS can exceed.
--rm -rf conftest* confdefs.h
--# AIX cpp loses on an empty file, so make sure it contains at least a newline.
--echo >confdefs.h
-+rm -f -r conftest* confdefs.h
- # Predefined preprocessor variables.
-@@ -1196,14 +1623,17 @@ _ACEOF
- # Let the site file select an alternate cache file if it wants to.
- # Prefer explicitly selected file to automatically selected ones.
--if test -z "$CONFIG_SITE"; then
--  if test "x$prefix" != xNONE; then
--    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
--  else
--    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
--  fi
-+if test -n "$CONFIG_SITE"; then
-+  set x "$CONFIG_SITE"
-+elif test "x$prefix" != xNONE; then
-+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
-+else
-+  set x "$ac_default_prefix/share/config.site" \
-+      "$ac_default_prefix/etc/config.site"
- fi
--for ac_site_file in $CONFIG_SITE; do
-+shift
-+for ac_site_file
-+do
-   if test -r "$ac_site_file"; then
-     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
- echo "$as_me: loading site script $ac_site_file" >&6;}
-@@ -1219,8 +1649,8 @@ if test -r "$cache_file"; then
-     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
- echo "$as_me: loading cache $cache_file" >&6;}
-     case $cache_file in
--      [\\/]* | ?:[\\/]* ) . $cache_file;;
--      *)                      . ./$cache_file;;
-+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-+      *)                      . "./$cache_file";;
-     esac
-   fi
- else
-@@ -1232,12 +1662,11 @@ fi
- # Check that the precious variables saved in the cache have kept the same
- # value.
- ac_cache_corrupted=false
--for ac_var in `(set) 2>&1 |
--             sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
-+for ac_var in $ac_precious_vars; do
-   eval ac_old_set=\$ac_cv_env_${ac_var}_set
-   eval ac_new_set=\$ac_env_${ac_var}_set
--  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
--  eval ac_new_val="\$ac_env_${ac_var}_value"
-+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-+  eval ac_new_val=\$ac_env_${ac_var}_value
-   case $ac_old_set,$ac_new_set in
-     set,)
-       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-@@ -1262,8 +1691,7 @@ echo "$as_me:   current value: $ac_new_val" >&2;}
-   # Pass precious variables to config.status.
-   if test "$ac_new_set" = set; then
-     case $ac_new_val in
--    *" "*|*"  "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
--      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-     *) ac_arg=$ac_var=$ac_new_val ;;
-     esac
-     case " $ac_configure_args " in
-@@ -1280,11 +1708,6 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov
-    { (exit 1); exit 1; }; }
- fi
--ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
-@@ -1309,34 +1732,45 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+am__api_version='1.10'
--am__api_version="1.9"
- ac_aux_dir=
--for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
--  if test -f $ac_dir/install-sh; then
-+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-+  if test -f "$ac_dir/install-sh"; then
-     ac_aux_dir=$ac_dir
-     ac_install_sh="$ac_aux_dir/install-sh -c"
-     break
--  elif test -f $ac_dir/install.sh; then
-+  elif test -f "$ac_dir/install.sh"; then
-     ac_aux_dir=$ac_dir
-     ac_install_sh="$ac_aux_dir/install.sh -c"
-     break
--  elif test -f $ac_dir/shtool; then
-+  elif test -f "$ac_dir/shtool"; then
-     ac_aux_dir=$ac_dir
-     ac_install_sh="$ac_aux_dir/shtool install -c"
-     break
-   fi
- done
- if test -z "$ac_aux_dir"; then
--  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
--echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
-+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
-    { (exit 1); exit 1; }; }
- fi
--ac_config_guess="$SHELL $ac_aux_dir/config.guess"
--ac_config_sub="$SHELL $ac_aux_dir/config.sub"
--ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-+
-+# These three variables are undocumented and unsupported,
-+# and are intended to be withdrawn in a future Autoconf release.
-+# They can cause serious problems if a builder's source tree is in a directory
-+# whose full name contains unusual characters.
-+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-+
- # Find a good install program.  We prefer a C program (faster),
- # so one script is as good as another.  But avoid the broken or
-@@ -1351,8 +1785,8 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- # OS/2's system install, which has a completely different semantic
- # ./install, which can be erroneously created by make from ./install.sh.
--echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
--echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
- if test -z "$INSTALL"; then
- if test "${ac_cv_path_install+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
-@@ -1374,7 +1808,7 @@ case $as_dir/ in
-     # by default.
-     for ac_prog in ginstall scoinst install; do
-       for ac_exec_ext in '' $ac_executable_extensions; do
--      if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-+      if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-@@ -1393,21 +1827,22 @@ case $as_dir/ in
-     ;;
- esac
- done
-+IFS=$as_save_IFS
- fi
-   if test "${ac_cv_path_install+set}" = set; then
-     INSTALL=$ac_cv_path_install
-   else
--    # As a last resort, use the slow shell script.  We don't cache a
--    # path for INSTALL within a source directory, because that will
-+    # As a last resort, use the slow shell script.  Don't cache a
-+    # value for INSTALL within a source directory, because that will
-     # break other packages using the cache if that directory is
--    # removed, or if the path is relative.
-+    # removed, or if the value is a relative name.
-     INSTALL=$ac_install_sh
-   fi
- fi
--echo "$as_me:$LINENO: result: $INSTALL" >&5
--echo "${ECHO_T}$INSTALL" >&6
-+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-+echo "${ECHO_T}$INSTALL" >&6; }
- # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
- # It thinks the first close brace ends the variable substitution.
-@@ -1417,8 +1852,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
--echo "$as_me:$LINENO: checking whether build environment is sane" >&5
--echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
- # Just in case
- sleep 1
- echo timestamp > conftest.file
-@@ -1460,20 +1895,20 @@ echo "$as_me: error: newly created file is older than distributed files!
- Check your system clock" >&2;}
-    { (exit 1); exit 1; }; }
- fi
--echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+{ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
- test "$program_prefix" != NONE &&
--  program_transform_name="s,^,$program_prefix,;$program_transform_name"
-+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
- # Use a double $ so make ignores it.
- test "$program_suffix" != NONE &&
--  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
- # Double any \ or $.  echo might interpret backslashes.
- # By default was `s,x,x', remove it if useless.
- cat <<\_ACEOF >conftest.sed
- s/[\\$]/&&/g;s/;s,x,x,$//
- _ACEOF
- program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
--rm conftest.sed
-+rm -f conftest.sed
- # expand $ac_aux_dir to an absolute path
- am_aux_dir=`cd $ac_aux_dir && pwd`
-@@ -1488,45 +1923,60 @@ else
- echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
- fi
--if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
--  # We used to keeping the `.' as first argument, in order to
--  # allow $(mkdir_p) to be used without argument.  As in
--  #   $(mkdir_p) $(somedir)
--  # where $(somedir) is conditionally defined.  However this is wrong
--  # for two reasons:
--  #  1. if the package is installed by a user who cannot write `.'
--  #     make install will fail,
--  #  2. the above comment should most certainly read
--  #     $(mkdir_p) $(DESTDIR)$(somedir)
--  #     so it does not work when $(somedir) is undefined and
--  #     $(DESTDIR) is not.
--  #  To support the latter case, we have to write
--  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
--  #  so the `.' trick is pointless.
--  mkdir_p='mkdir -p --'
--else
--  # On NextStep and OpenStep, the `mkdir' command does not
--  # recognize any option.  It will interpret all options as
--  # directories to create, and then abort because `.' already
--  # exists.
--  for d in ./-p ./--version;
--  do
--    test -d $d && rmdir $d
--  done
--  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
--  if test -f "$ac_aux_dir/mkinstalldirs"; then
--    mkdir_p='$(mkinstalldirs)'
-+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
-+if test -z "$MKDIR_P"; then
-+  if test "${ac_cv_path_mkdir+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  for ac_prog in mkdir gmkdir; do
-+       for ac_exec_ext in '' $ac_executable_extensions; do
-+         { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-+         case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-+           'mkdir (GNU coreutils) '* | \
-+           'mkdir (coreutils) '* | \
-+           'mkdir (fileutils) '4.1*)
-+             ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-+             break 3;;
-+         esac
-+       done
-+       done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+
-+  if test "${ac_cv_path_mkdir+set}" = set; then
-+    MKDIR_P="$ac_cv_path_mkdir -p"
-   else
--    mkdir_p='$(install_sh) -d'
-+    # As a last resort, use the slow shell script.  Don't cache a
-+    # value for MKDIR_P within a source directory, because that will
-+    # break other packages using the cache if that directory is
-+    # removed, or if the value is a relative name.
-+    test -d ./--version && rmdir ./--version
-+    MKDIR_P="$ac_install_sh -d"
-   fi
- fi
-+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-+echo "${ECHO_T}$MKDIR_P" >&6; }
-+
-+mkdir_p="$MKDIR_P"
-+case $mkdir_p in
-+  [\\/$]* | ?:[\\/]*) ;;
-+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-+esac
- for ac_prog in gawk mawk nawk awk
- do
-   # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_AWK+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1539,54 +1989,57 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_AWK="$ac_prog"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- AWK=$ac_cv_prog_AWK
- if test -n "$AWK"; then
--  echo "$as_me:$LINENO: result: $AWK" >&5
--echo "${ECHO_T}$AWK" >&6
-+  { echo "$as_me:$LINENO: result: $AWK" >&5
-+echo "${ECHO_T}$AWK" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-+
-   test -n "$AWK" && break
- done
--echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
--echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
--set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
--if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   cat >conftest.make <<\_ACEOF
-+SHELL = /bin/sh
- all:
--      @echo 'ac_maketemp="$(MAKE)"'
-+      @echo '@@@%%%=$(MAKE)=@@@%%%'
- _ACEOF
- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
--eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
--if test -n "$ac_maketemp"; then
--  eval ac_cv_prog_make_${ac_make}_set=yes
--else
--  eval ac_cv_prog_make_${ac_make}_set=no
--fi
-+case `${MAKE-make} -f conftest.make 2>/dev/null` in
-+  *@@@%%%=?*=@@@%%%*)
-+    eval ac_cv_prog_make_${ac_make}_set=yes;;
-+  *)
-+    eval ac_cv_prog_make_${ac_make}_set=no;;
-+esac
- rm -f conftest.make
- fi
--if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
--  echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-+  { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-   SET_MAKE=
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-   SET_MAKE="MAKE=${MAKE-make}"
- fi
-@@ -1599,12 +2052,16 @@ else
- fi
- rmdir .tst 2>/dev/null
--# test to see if srcdir already configured
--if test "`cd $srcdir && pwd`" != "`pwd`" &&
--   test -f $srcdir/config.status; then
--  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-+if test "`cd $srcdir && pwd`" != "`pwd`"; then
-+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-+  # is not polluted with repeated "-I."
-+  am__isrc=' -I$(srcdir)'
-+  # test to see if srcdir already configured
-+  if test -f $srcdir/config.status; then
-+    { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
- echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
-    { (exit 1); exit 1; }; }
-+  fi
- fi
- # test whether we have cygpath
-@@ -1647,7 +2104,7 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
- MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
--install_sh=${install_sh-"$am_aux_dir/install-sh"}
-+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
- # Installed binaries are usually stripped using `strip' when the user
- # run `make install-strip'.  However `strip' might not be the right
-@@ -1657,8 +2114,8 @@ if test "$cross_compiling" != no; then
-   if test -n "$ac_tool_prefix"; then
-   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
- set dummy ${ac_tool_prefix}strip; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_STRIP+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1671,32 +2128,34 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- STRIP=$ac_cv_prog_STRIP
- if test -n "$STRIP"; then
--  echo "$as_me:$LINENO: result: $STRIP" >&5
--echo "${ECHO_T}$STRIP" >&6
-+  { echo "$as_me:$LINENO: result: $STRIP" >&5
-+echo "${ECHO_T}$STRIP" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-+
- fi
- if test -z "$ac_cv_prog_STRIP"; then
-   ac_ct_STRIP=$STRIP
-   # Extract the first word of "strip", so it can be a program name with args.
- set dummy strip; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1709,33 +2168,47 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_ac_ct_STRIP="strip"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
--  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
- fi
- fi
- ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
- if test -n "$ac_ct_STRIP"; then
--  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
--echo "${ECHO_T}$ac_ct_STRIP" >&6
-+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
--  STRIP=$ac_ct_STRIP
-+  if test "x$ac_ct_STRIP" = x; then
-+    STRIP=":"
-+  else
-+    case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ 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
-+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
-+    STRIP=$ac_ct_STRIP
-+  fi
- else
-   STRIP="$ac_cv_prog_STRIP"
- fi
- fi
--INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
- # We need awk for the "check" target.  The system "awk" is bad on
- # some platforms.
-@@ -1751,7 +2224,7 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
--          ac_config_headers="$ac_config_headers config.h"
-+ac_config_headers="$ac_config_headers config.h"
- ac_ext=c
-@@ -1762,8 +2235,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
- if test -n "$ac_tool_prefix"; then
-   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
- set dummy ${ac_tool_prefix}gcc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1776,32 +2249,34 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+  { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-+
- fi
- if test -z "$ac_cv_prog_CC"; then
-   ac_ct_CC=$CC
-   # Extract the first word of "gcc", so it can be a program name with args.
- set dummy gcc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1814,36 +2289,51 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_ac_ct_CC="gcc"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- ac_ct_CC=$ac_cv_prog_ac_ct_CC
- if test -n "$ac_ct_CC"; then
--  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
-+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
--  CC=$ac_ct_CC
-+  if test "x$ac_ct_CC" = x; then
-+    CC=""
-+  else
-+    case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ 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
-+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
-+  fi
- else
-   CC="$ac_cv_prog_CC"
- fi
- if test -z "$CC"; then
--  if test -n "$ac_tool_prefix"; then
--  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-+          if test -n "$ac_tool_prefix"; then
-+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
- set dummy ${ac_tool_prefix}cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1856,74 +2346,34 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_CC="${ac_tool_prefix}cc"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
--else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
--
--fi
--if test -z "$ac_cv_prog_CC"; then
--  ac_ct_CC=$CC
--  # Extract the first word of "cc", so it can be a program name with args.
--set dummy cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if test -n "$ac_ct_CC"; then
--  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_ac_ct_CC="cc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
--fi
--fi
--ac_ct_CC=$ac_cv_prog_ac_ct_CC
--if test -n "$ac_ct_CC"; then
--  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
-+  { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
--  CC=$ac_ct_CC
--else
--  CC="$ac_cv_prog_CC"
--fi
-+  fi
- fi
- if test -z "$CC"; then
-   # Extract the first word of "cc", so it can be a program name with args.
- set dummy cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1937,7 +2387,7 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-        ac_prog_rejected=yes
-        continue
-@@ -1948,6 +2398,7 @@ do
-   fi
- done
- done
-+IFS=$as_save_IFS
- if test $ac_prog_rejected = yes; then
-   # We found a bogon in the path, so make sure we never use it.
-@@ -1965,22 +2416,23 @@ fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+  { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-+
- fi
- if test -z "$CC"; then
-   if test -n "$ac_tool_prefix"; then
--  for ac_prog in cl
-+  for ac_prog in cl.exe
-   do
-     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
- set dummy $ac_tool_prefix$ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -1993,36 +2445,38 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+  { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-+
-     test -n "$CC" && break
-   done
- fi
- if test -z "$CC"; then
-   ac_ct_CC=$CC
--  for ac_prog in cl
-+  for ac_prog in cl.exe
- do
-   # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2035,29 +2489,45 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_ac_ct_CC="$ac_prog"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- ac_ct_CC=$ac_cv_prog_ac_ct_CC
- if test -n "$ac_ct_CC"; then
--  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
-+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-+
-   test -n "$ac_ct_CC" && break
- done
--  CC=$ac_ct_CC
-+  if test "x$ac_ct_CC" = x; then
-+    CC=""
-+  else
-+    case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ 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
-+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
-+  fi
- fi
- fi
-@@ -2070,21 +2540,35 @@ See \`config.log' for more details." >&2;}
-    { (exit 1); exit 1; }; }
- # Provide some information about the compiler.
--echo "$as_me:$LINENO:" \
--     "checking for C compiler version" >&5
-+echo "$as_me:$LINENO: checking for C compiler version" >&5
- ac_compiler=`set X $ac_compile; echo $2`
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
--  (eval $ac_compiler --version </dev/null >&5) 2>&5
-+{ (ac_try="$ac_compiler --version >&5"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compiler --version >&5") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
--  (eval $ac_compiler -v </dev/null >&5) 2>&5
-+{ (ac_try="$ac_compiler -v >&5"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compiler -v >&5") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
--  (eval $ac_compiler -V </dev/null >&5) 2>&5
-+{ (ac_try="$ac_compiler -V >&5"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compiler -V >&5") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
-@@ -2109,47 +2593,77 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
- # Try to create an executable without -o first, disregard a.out.
- # It will help us diagnose broken compilers, and finding out an intuition
- # of exeext.
--echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
--echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
- ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
--if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
--  (eval $ac_link_default) 2>&5
-+#
-+# List of possible output files, starting from the most likely.
-+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-+# only as a last resort.  b.out is created by i960 compilers.
-+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-+#
-+# The IRIX 6 linker writes into existing files which may not be
-+# executable, retaining their permissions.  Remove them first so a
-+# subsequent execution test works.
-+ac_rmfiles=
-+for ac_file in $ac_files
-+do
-+  case $ac_file in
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-+  esac
-+done
-+rm -f $ac_rmfiles
-+
-+if { (ac_try="$ac_link_default"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link_default") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
--  # Find the output, starting from the most likely.  This scheme is
--# not robust to junk in `.', hence go to wildcards (a.*) only as a last
--# resort.
--
--# Be careful to initialize this variable, since it used to be cached.
--# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
--ac_cv_exeext=
--# b.out is created by i960 compilers.
--for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-+# so that the user can short-circuit this test for compilers unknown to
-+# Autoconf.
-+for ac_file in $ac_files ''
- do
-   test -f "$ac_file" || continue
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
--      ;;
--    conftest.$ac_ext )
--      # This is the source file.
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
-       ;;
-     [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-     *.* )
--      ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
--      # FIXME: I believe we export ac_cv_exeext for Libtool,
--      # but it would be cool to find out if it's true.  Does anybody
--      # maintain Libtool? --akim.
--      export ac_cv_exeext
-+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-+      then :; else
-+         ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+      fi
-+      # We set ac_cv_exeext here because the later test for it is not
-+      # safe: cross compilers may not add the suffix if given an `-o'
-+      # argument, so we may need to know it at that point already.
-+      # Even if this section looks crufty: it has the advantage of
-+      # actually working.
-       break;;
-     * )
-       break;;
-   esac
- done
-+test "$ac_cv_exeext" = no && ac_cv_exeext=
-+
- else
-+  ac_file=''
-+fi
-+
-+{ echo "$as_me:$LINENO: result: $ac_file" >&5
-+echo "${ECHO_T}$ac_file" >&6; }
-+if test -z "$ac_file"; then
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-@@ -2161,19 +2675,21 @@ See \`config.log' for more details." >&2;}
- fi
- ac_exeext=$ac_cv_exeext
--echo "$as_me:$LINENO: result: $ac_file" >&5
--echo "${ECHO_T}$ac_file" >&6
--# Check the compiler produces executables we can run.  If not, either
-+# Check that the compiler produces executables we can run.  If not, either
- # the compiler is broken, or we cross compile.
--echo "$as_me:$LINENO: checking whether the C compiler works" >&5
--echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
- # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
- # If not cross compiling, check that we can run a simple program.
- if test "$cross_compiling" != yes; then
-   if { ac_try='./$ac_file'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
-+  { (case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_try") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; }; then
-@@ -2192,22 +2708,27 @@ See \`config.log' for more details." >&2;}
-     fi
-   fi
- fi
--echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+{ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
- rm -f a.out a.exe conftest$ac_cv_exeext b.out
- ac_clean_files=$ac_clean_files_save
--# Check the compiler produces executables we can run.  If not, either
-+# Check that the compiler produces executables we can run.  If not, either
- # the compiler is broken, or we cross compile.
--echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
--echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
--echo "$as_me:$LINENO: result: $cross_compiling" >&5
--echo "${ECHO_T}$cross_compiling" >&6
--
--echo "$as_me:$LINENO: checking for suffix of executables" >&5
--echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>&5
-+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-+echo "${ECHO_T}$cross_compiling" >&6; }
-+
-+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
-@@ -2218,9 +2739,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- for ac_file in conftest.exe conftest conftest.*; do
-   test -f "$ac_file" || continue
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
--        export ac_cv_exeext
-         break;;
-     * ) break;;
-   esac
-@@ -2234,14 +2754,14 @@ See \`config.log' for more details." >&2;}
- fi
- rm -f conftest$ac_cv_exeext
--echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
--echo "${ECHO_T}$ac_cv_exeext" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-+echo "${ECHO_T}$ac_cv_exeext" >&6; }
- rm -f conftest.$ac_ext
- EXEEXT=$ac_cv_exeext
- ac_exeext=$EXEEXT
--echo "$as_me:$LINENO: checking for suffix of object files" >&5
--echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
- if test "${ac_cv_objext+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2261,14 +2781,20 @@ main ()
- }
- _ACEOF
- rm -f conftest.o conftest.obj
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
--  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
-+  for ac_file in conftest.o conftest.obj conftest.*; do
-+  test -f "$ac_file" || continue;
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
-     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-        break;;
-   esac
-@@ -2286,12 +2812,12 @@ fi
- rm -f conftest.$ac_cv_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
--echo "${ECHO_T}$ac_cv_objext" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-+echo "${ECHO_T}$ac_cv_objext" >&6; }
- OBJEXT=$ac_cv_objext
- ac_objext=$OBJEXT
--echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
--echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
- if test "${ac_cv_c_compiler_gnu+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2314,49 +2840,49 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-   ac_compiler_gnu=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_compiler_gnu=no
-+      ac_compiler_gnu=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_c_compiler_gnu=$ac_compiler_gnu
- fi
--echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
--echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
- GCC=`test $ac_compiler_gnu = yes && echo yes`
- ac_test_CFLAGS=${CFLAGS+set}
- ac_save_CFLAGS=$CFLAGS
--CFLAGS="-g"
--echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
--echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
- if test "${ac_cv_prog_cc_g+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  cat >conftest.$ac_ext <<_ACEOF
-+  ac_save_c_werror_flag=$ac_c_werror_flag
-+   ac_c_werror_flag=yes
-+   ac_cv_prog_cc_g=no
-+   CFLAGS="-g"
-+   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
-@@ -2372,37 +2898,118 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  ac_cv_prog_cc_g=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+      CFLAGS=""
-+      cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+
-+int
-+main ()
-+{
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  :
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+      ac_c_werror_flag=$ac_save_c_werror_flag
-+       CFLAGS="-g"
-+       cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+
-+int
-+main ()
-+{
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-   ac_cv_prog_cc_g=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_cv_prog_cc_g=no
-+
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+   ac_c_werror_flag=$ac_save_c_werror_flag
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
- if test "$ac_test_CFLAGS" = set; then
-   CFLAGS=$ac_save_CFLAGS
- elif test $ac_cv_prog_cc_g = yes; then
-@@ -2418,12 +3025,12 @@ else
-     CFLAGS=
-   fi
- fi
--echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
--echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
--if test "${ac_cv_prog_cc_stdc+set}" = set; then
-+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_cc_c89+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  ac_cv_prog_cc_stdc=no
-+  ac_cv_prog_cc_c89=no
- ac_save_CC=$CC
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -2457,12 +3064,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
- /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-    function prototypes and stuff, but not '\xHH' hex character constants.
-    These don't provoke an error unfortunately, instead are silently treated
--   as 'x'.  The following induces an error, until -std1 is added to get
-+   as 'x'.  The following induces an error, until -std is added to get
-    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-    array size at least.  It's necessary to write '\x00'==0 to get something
--   that's true only with -std1.  */
-+   that's true only with -std.  */
- int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-+   inside strings and character constants.  */
-+#define FOO(x) 'x'
-+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-+
- int test (int i, double x);
- struct s1 {int (*f) (int a);};
- struct s2 {int (*f) (double a);};
-@@ -2477,201 +3089,57 @@ return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-   return 0;
- }
- _ACEOF
--# Don't try gcc -ansi; that turns off useful extensions and
--# breaks some systems' header files.
--# AIX                 -qlanglvl=ansi
--# Ultrix and OSF/1    -std1
--# HP-UX 10.20 and later       -Ae
--# HP-UX older versions        -Aa -D_HPUX_SOURCE
--# SVR4                        -Xc -D__EXTENSIONS__
--for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-+      -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
- do
-   CC="$ac_save_CC $ac_arg"
-   rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_cv_prog_cc_stdc=$ac_arg
--break
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  ac_cv_prog_cc_c89=$ac_arg
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-+
- fi
--rm -f conftest.err conftest.$ac_objext
-+
-+rm -f core conftest.err conftest.$ac_objext
-+  test "x$ac_cv_prog_cc_c89" != "xno" && break
- done
--rm -f conftest.$ac_ext conftest.$ac_objext
-+rm -f conftest.$ac_ext
- CC=$ac_save_CC
- fi
--
--case "x$ac_cv_prog_cc_stdc" in
--  x|xno)
--    echo "$as_me:$LINENO: result: none needed" >&5
--echo "${ECHO_T}none needed" >&6 ;;
-+# AC_CACHE_VAL
-+case "x$ac_cv_prog_cc_c89" in
-+  x)
-+    { echo "$as_me:$LINENO: result: none needed" >&5
-+echo "${ECHO_T}none needed" >&6; } ;;
-+  xno)
-+    { echo "$as_me:$LINENO: result: unsupported" >&5
-+echo "${ECHO_T}unsupported" >&6; } ;;
-   *)
--    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
--    CC="$CC $ac_cv_prog_cc_stdc" ;;
-+    CC="$CC $ac_cv_prog_cc_c89"
-+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
- esac
--# Some people use a C++ compiler to compile C.  Since we use `exit',
--# in C++ we need to declare it.  In case someone uses the same compiler
--# for both compiling C and C++ we need to have the C++ compiler decide
--# the declaration of exit, since it's the most demanding environment.
--cat >conftest.$ac_ext <<_ACEOF
--#ifndef __cplusplus
--  choke me
--#endif
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  for ac_declaration in \
--   '' \
--   'extern "C" void std::exit (int) throw (); using std::exit;' \
--   'extern "C" void std::exit (int); using std::exit;' \
--   'extern "C" void exit (int) throw ();' \
--   'extern "C" void exit (int);' \
--   'void exit (int);'
--do
--  cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_declaration
--#include <stdlib.h>
--int
--main ()
--{
--exit (42);
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  :
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--continue
--fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--  cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_declaration
--int
--main ()
--{
--exit (42);
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  break
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--done
--rm -f conftest*
--if test -n "$ac_declaration"; then
--  echo '#ifdef __cplusplus' >>confdefs.h
--  echo $ac_declaration      >>confdefs.h
--  echo '#endif'             >>confdefs.h
--fi
--
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -2679,7 +3147,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- DEPDIR="${am__leading_dot}deps"
--          ac_config_commands="$ac_config_commands depfiles"
-+ac_config_commands="$ac_config_commands depfiles"
- am_make=${MAKE-make}
-@@ -2689,8 +3157,8 @@ am__doit:
- .PHONY: am__doit
- END
- # If we don't find an include directive, just comment out the code.
--echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
--echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
- am__include="#"
- am__quote=
- _am_result=none
-@@ -2717,22 +3185,20 @@ if test "$am__include" = "#"; then
- fi
--echo "$as_me:$LINENO: result: $_am_result" >&5
--echo "${ECHO_T}$_am_result" >&6
-+{ echo "$as_me:$LINENO: result: $_am_result" >&5
-+echo "${ECHO_T}$_am_result" >&6; }
- rm -f confinc confmf
--# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
-+# Check whether --enable-dependency-tracking was given.
- if test "${enable_dependency_tracking+set}" = set; then
--  enableval="$enable_dependency_tracking"
-+  enableval=$enable_dependency_tracking;
-+fi
--fi;
- if test "x$enable_dependency_tracking" != xno; then
-   am_depcomp="$ac_aux_dir/depcomp"
-   AMDEPBACKSLASH='\'
- fi
--
--
--if test "x$enable_dependency_tracking" != xno; then
-+ if test "x$enable_dependency_tracking" != xno; then
-   AMDEP_TRUE=
-   AMDEP_FALSE='#'
- else
-@@ -2742,11 +3208,10 @@ fi
--
- depcc="$CC"   am_compiler_list=
--echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
--echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
- if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2810,6 +3275,7 @@ else
-        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-          >/dev/null 2>conftest.err &&
-+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-        grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-@@ -2835,13 +3301,11 @@ else
- fi
- fi
--echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
--echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
- CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
--
--
--if
-+ if
-   test "x$enable_dependency_tracking" != xno \
-   && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-   am__fastdepCC_TRUE=
-@@ -2862,8 +3326,8 @@ for ac_prog in 'bison -y' byacc
- do
-   # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
- if test "${ac_cv_prog_YACC+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -2876,40 +3340,61 @@ do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
-   for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_YACC="$ac_prog"
-     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
- done
-+IFS=$as_save_IFS
- fi
- fi
- YACC=$ac_cv_prog_YACC
- if test -n "$YACC"; then
--  echo "$as_me:$LINENO: result: $YACC" >&5
--echo "${ECHO_T}$YACC" >&6
-+  { echo "$as_me:$LINENO: result: $YACC" >&5
-+echo "${ECHO_T}$YACC" >&6; }
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
- fi
-+
-   test -n "$YACC" && break
- done
- test -n "$YACC" || YACC="yacc"
--echo "$as_me:$LINENO: checking for build system compiler" >&5
--echo $ECHO_N "checking for build system compiler... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for build system compiler" >&5
-+echo $ECHO_N "checking for build system compiler... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
-       CC_FOR_BUILD=${CC_FOR_BUILD-cc}
- else
-       CC_FOR_BUILD=${CC}
- fi
--echo "$as_me:$LINENO: result: ${CC_FOR_BUILD}" >&5
--echo "${ECHO_T}${CC_FOR_BUILD}" >&6
-+{ echo "$as_me:$LINENO: result: ${CC_FOR_BUILD}" >&5
-+echo "${ECHO_T}${CC_FOR_BUILD}" >&6; }
-+
-+
-+# Check whether --enable-static was given.
-+if test "${enable_static+set}" = set; then
-+  enableval=$enable_static;
-+fi
-+if test "$enable_static" = "yes"; then
-+      export LDFLAGS="-static -Wl,--fatal-warnings"
-+fi
-+
-+# Check whether --enable-fnmatch was given.
-+if test "${enable_fnmatch+set}" = set; then
-+  enableval=$enable_fnmatch;
-+fi
-+
-+# Check whether --enable-glob was given.
-+if test "${enable_glob+set}" = set; then
-+  enableval=$enable_glob;
-+fi
-@@ -2928,13 +3413,16 @@ echo "${ECHO_T}${CC_FOR_BUILD}" >&6
--for ac_func in bsearch getpwnam getrlimit isalpha killpg mempcpy sigsetmask \
--             stpcpy strchrnul strsignal strtod strtoimax strtoumax sysconf
-+
-+
-+for ac_func in bsearch getpwnam getrlimit imaxdiv isalpha killpg mempcpy \
-+             sigsetmask stpcpy strchrnul strsignal strtod strtoimax \
-+             strtoumax sysconf
- do
- as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_func" >&5
--echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
--if eval "test \"\${$as_ac_var+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
-@@ -2960,67 +3448,254 @@ cat >>conftest.$ac_ext <<_ACEOF
- #undef $ac_func
--/* Override any gcc2 internal prototype to avoid an error.  */
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
- #ifdef __cplusplus
- extern "C"
--{
- #endif
--/* We use char because int might match the return type of a gcc2
--   builtin and then its argument prototype would still apply.  */
- char $ac_func ();
- /* The GNU C library defines this for functions which it implements
-     to always fail with ENOSYS.  Some functions are actually named
-     something starting with __ and the normal name is an alias.  */
--#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-+#if defined __stub_$ac_func || defined __stub___$ac_func
- choke me
-+#endif
-+
-+int
-+main ()
-+{
-+return $ac_func ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext &&
-+       $as_test_x conftest$ac_exeext; then
-+  eval "$as_ac_var=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+      eval "$as_ac_var=no"
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+fi
-+ac_res=`eval echo '${'$as_ac_var'}'`
-+             { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+if test `eval echo '${'$as_ac_var'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+done
-+
-+
-+if test "$enable_fnmatch" = yes; then
-+      use_fnmatch=
-+
-+for ac_func in fnmatch
-+do
-+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-+#define $ac_func innocuous_$ac_func
-+
-+/* System header to define __stub macros and hopefully few prototypes,
-+    which can conflict with char $ac_func (); below.
-+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+    <limits.h> exists even on freestanding compilers.  */
-+
-+#ifdef __STDC__
-+# include <limits.h>
- #else
--char (*f) () = $ac_func;
-+# include <assert.h>
- #endif
-+
-+#undef $ac_func
-+
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
- #ifdef __cplusplus
--}
-+extern "C"
-+#endif
-+char $ac_func ();
-+/* The GNU C library defines this for functions which it implements
-+    to always fail with ENOSYS.  Some functions are actually named
-+    something starting with __ and the normal name is an alias.  */
-+#if defined __stub_$ac_func || defined __stub___$ac_func
-+choke me
- #endif
- int
- main ()
- {
--return f != $ac_func;
-+return $ac_func ();
-   ;
-   return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext &&
-+       $as_test_x conftest$ac_exeext; then
-+  eval "$as_ac_var=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+      eval "$as_ac_var=no"
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+fi
-+ac_res=`eval echo '${'$as_ac_var'}'`
-+             { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+if test `eval echo '${'$as_ac_var'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+_ACEOF
-+ use_fnmatch=yes
-+fi
-+done
-+
-+fi
-+
-+if test "$use_fnmatch" = yes && test "$enable_glob" = yes; then
-+
-+for ac_func in glob
-+do
-+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-+#define $ac_func innocuous_$ac_func
-+
-+/* System header to define __stub macros and hopefully few prototypes,
-+    which can conflict with char $ac_func (); below.
-+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+    <limits.h> exists even on freestanding compilers.  */
-+
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+
-+#undef $ac_func
-+
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char $ac_func ();
-+/* The GNU C library defines this for functions which it implements
-+    to always fail with ENOSYS.  Some functions are actually named
-+    something starting with __ and the normal name is an alias.  */
-+#if defined __stub_$ac_func || defined __stub___$ac_func
-+choke me
-+#endif
-+
-+int
-+main ()
-+{
-+return $ac_func ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext &&
-+       $as_test_x conftest$ac_exeext; then
-   eval "$as_ac_var=yes"
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--eval "$as_ac_var=no"
-+      eval "$as_ac_var=no"
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_var'}'`
-+             { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- if test `eval echo '${'$as_ac_var'}'` = yes; then
-   cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-@@ -3029,9 +3704,10 @@ _ACEOF
- fi
- done
-+fi
--echo "$as_me:$LINENO: checking for signal" >&5
--echo $ECHO_N "checking for signal... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for signal" >&5
-+echo $ECHO_N "checking for signal... $ECHO_C" >&6; }
- if test "${ac_cv_func_signal+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3058,71 +3734,63 @@ cat >>conftest.$ac_ext <<_ACEOF
- #undef signal
--/* Override any gcc2 internal prototype to avoid an error.  */
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
- #ifdef __cplusplus
- extern "C"
--{
- #endif
--/* We use char because int might match the return type of a gcc2
--   builtin and then its argument prototype would still apply.  */
- char signal ();
- /* The GNU C library defines this for functions which it implements
-     to always fail with ENOSYS.  Some functions are actually named
-     something starting with __ and the normal name is an alias.  */
--#if defined (__stub_signal) || defined (__stub___signal)
-+#if defined __stub_signal || defined __stub___signal
- choke me
--#else
--char (*f) () = signal;
--#endif
--#ifdef __cplusplus
--}
- #endif
- int
- main ()
- {
--return f != signal;
-+return signal ();
-   ;
-   return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext &&
-+       $as_test_x conftest$ac_exeext; then
-   ac_cv_func_signal=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_cv_func_signal=no
-+      ac_cv_func_signal=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_func_signal" >&5
--echo "${ECHO_T}$ac_cv_func_signal" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_func_signal" >&5
-+echo "${ECHO_T}$ac_cv_func_signal" >&6; }
- if test "$ac_cv_func_signal" != yes; then
--      echo "$as_me:$LINENO: checking for bsd_signal" >&5
--echo $ECHO_N "checking for bsd_signal... $ECHO_C" >&6
-+      { echo "$as_me:$LINENO: checking for bsd_signal" >&5
-+echo $ECHO_N "checking for bsd_signal... $ECHO_C" >&6; }
- if test "${ac_cv_func_bsd_signal+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3149,67 +3817,59 @@ cat >>conftest.$ac_ext <<_ACEOF
- #undef bsd_signal
--/* Override any gcc2 internal prototype to avoid an error.  */
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
- #ifdef __cplusplus
- extern "C"
--{
- #endif
--/* We use char because int might match the return type of a gcc2
--   builtin and then its argument prototype would still apply.  */
- char bsd_signal ();
- /* The GNU C library defines this for functions which it implements
-     to always fail with ENOSYS.  Some functions are actually named
-     something starting with __ and the normal name is an alias.  */
--#if defined (__stub_bsd_signal) || defined (__stub___bsd_signal)
-+#if defined __stub_bsd_signal || defined __stub___bsd_signal
- choke me
--#else
--char (*f) () = bsd_signal;
--#endif
--#ifdef __cplusplus
--}
- #endif
- int
- main ()
- {
--return f != bsd_signal;
-+return bsd_signal ();
-   ;
-   return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext &&
-+       $as_test_x conftest$ac_exeext; then
-   ac_cv_func_bsd_signal=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_cv_func_bsd_signal=no
-+      ac_cv_func_bsd_signal=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_func_bsd_signal" >&5
--echo "${ECHO_T}$ac_cv_func_bsd_signal" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_func_bsd_signal" >&5
-+echo "${ECHO_T}$ac_cv_func_bsd_signal" >&6; }
- if test $ac_cv_func_bsd_signal = yes; then
- cat >>confdefs.h <<\_ACEOF
-@@ -3220,8 +3880,8 @@ fi
- fi
--echo "$as_me:$LINENO: checking for stat64" >&5
--echo $ECHO_N "checking for stat64... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for stat64" >&5
-+echo $ECHO_N "checking for stat64... $ECHO_C" >&6; }
- if test "${ac_cv_func_stat64+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3248,67 +3908,59 @@ cat >>conftest.$ac_ext <<_ACEOF
- #undef stat64
--/* Override any gcc2 internal prototype to avoid an error.  */
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
- #ifdef __cplusplus
- extern "C"
--{
- #endif
--/* We use char because int might match the return type of a gcc2
--   builtin and then its argument prototype would still apply.  */
- char stat64 ();
- /* The GNU C library defines this for functions which it implements
-     to always fail with ENOSYS.  Some functions are actually named
-     something starting with __ and the normal name is an alias.  */
--#if defined (__stub_stat64) || defined (__stub___stat64)
-+#if defined __stub_stat64 || defined __stub___stat64
- choke me
--#else
--char (*f) () = stat64;
--#endif
--#ifdef __cplusplus
--}
- #endif
- int
- main ()
- {
--return f != stat64;
-+return stat64 ();
-   ;
-   return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext &&
-+       $as_test_x conftest$ac_exeext; then
-   ac_cv_func_stat64=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_cv_func_stat64=no
-+      ac_cv_func_stat64=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_func_stat64" >&5
--echo "${ECHO_T}$ac_cv_func_stat64" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_func_stat64" >&5
-+echo "${ECHO_T}$ac_cv_func_stat64" >&6; }
- if test $ac_cv_func_stat64 = yes; then
-   :
- else
-@@ -3338,11 +3990,11 @@ fi
--# Check whether --with-libedit or --without-libedit was given.
-+# Check whether --with-libedit was given.
- if test "${with_libedit+set}" = set; then
--  withval="$with_libedit"
-+  withval=$with_libedit;
-+fi
--fi;
- use_libedit=
- if test "$with_libedit" = "yes"; then
-       ac_ext=c
-@@ -3350,8 +4002,8 @@ ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
--echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
--echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
-   CPP=
-@@ -3385,24 +4037,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- #endif
-                    Syntax error
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+  (exit $ac_status); } >/dev/null && {
-+       test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       }; then
-   :
- else
-   echo "$as_me: failed program was:" >&5
-@@ -3411,9 +4061,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-   # Broken: fails on valid input.
- continue
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--  # OK, works on sane cases.  Now check whether non-existent headers
-+  # OK, works on sane cases.  Now check whether nonexistent headers
-   # can be detected and how.
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -3423,24 +4074,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
- #include <ac_nonexistent.h>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+  (exit $ac_status); } >/dev/null && {
-+       test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       }; then
-   # Broken: success on invalid input.
- continue
- else
-@@ -3451,6 +4100,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ac_preproc_ok=:
- break
- fi
-+
- rm -f conftest.err conftest.$ac_ext
- done
-@@ -3468,8 +4118,8 @@ fi
- else
-   ac_cv_prog_CPP=$CPP
- fi
--echo "$as_me:$LINENO: result: $CPP" >&5
--echo "${ECHO_T}$CPP" >&6
-+{ echo "$as_me:$LINENO: result: $CPP" >&5
-+echo "${ECHO_T}$CPP" >&6; }
- ac_preproc_ok=false
- for ac_c_preproc_warn_flag in '' yes
- do
-@@ -3492,24 +4142,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- #endif
-                    Syntax error
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+  (exit $ac_status); } >/dev/null && {
-+       test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       }; then
-   :
- else
-   echo "$as_me: failed program was:" >&5
-@@ -3518,9 +4166,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-   # Broken: fails on valid input.
- continue
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--  # OK, works on sane cases.  Now check whether non-existent headers
-+  # OK, works on sane cases.  Now check whether nonexistent headers
-   # can be detected and how.
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -3530,24 +4179,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
- #include <ac_nonexistent.h>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+  (exit $ac_status); } >/dev/null && {
-+       test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       }; then
-   # Broken: success on invalid input.
- continue
- else
-@@ -3558,6 +4205,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ac_preproc_ok=:
- break
- fi
-+
- rm -f conftest.err conftest.$ac_ext
- done
-@@ -3580,23 +4228,170 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
--echo "$as_me:$LINENO: checking for egrep" >&5
--echo $ECHO_N "checking for egrep... $ECHO_C" >&6
--if test "${ac_cv_prog_egrep+set}" = set; then
-+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-+if test "${ac_cv_path_GREP+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  # Extract the first word of "grep ggrep" to use in msg output
-+if test -z "$GREP"; then
-+set dummy grep ggrep; ac_prog_name=$2
-+if test "${ac_cv_path_GREP+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_path_GREP_found=false
-+# Loop through the user's path and test for each of PROGNAME-LIST
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  for ac_prog in grep ggrep; do
-+  for ac_exec_ext in '' $ac_executable_extensions; do
-+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-+    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-+    # Check for GNU ac_path_GREP and select it if it is found.
-+  # Check for GNU $ac_path_GREP
-+case `"$ac_path_GREP" --version 2>&1` in
-+*GNU*)
-+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-+*)
-+  ac_count=0
-+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-+  while :
-+  do
-+    cat "conftest.in" "conftest.in" >"conftest.tmp"
-+    mv "conftest.tmp" "conftest.in"
-+    cp "conftest.in" "conftest.nl"
-+    echo 'GREP' >> "conftest.nl"
-+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+    ac_count=`expr $ac_count + 1`
-+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-+      # Best one so far, save it but keep looking for a better one
-+      ac_cv_path_GREP="$ac_path_GREP"
-+      ac_path_GREP_max=$ac_count
-+    fi
-+    # 10*(2^10) chars as input seems more than enough
-+    test $ac_count -gt 10 && break
-+  done
-+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+
-+    $ac_path_GREP_found && break 3
-+  done
-+done
-+
-+done
-+IFS=$as_save_IFS
-+
-+
-+fi
-+
-+GREP="$ac_cv_path_GREP"
-+if test -z "$GREP"; then
-+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-+   { (exit 1); exit 1; }; }
-+fi
-+
-+else
-+  ac_cv_path_GREP=$GREP
-+fi
-+
-+
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
-+ GREP="$ac_cv_path_GREP"
-+
-+
-+{ echo "$as_me:$LINENO: checking for egrep" >&5
-+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-+if test "${ac_cv_path_EGREP+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
--    then ac_cv_prog_egrep='grep -E'
--    else ac_cv_prog_egrep='egrep'
-+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-+   then ac_cv_path_EGREP="$GREP -E"
-+   else
-+     # Extract the first word of "egrep" to use in msg output
-+if test -z "$EGREP"; then
-+set dummy egrep; ac_prog_name=$2
-+if test "${ac_cv_path_EGREP+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_path_EGREP_found=false
-+# Loop through the user's path and test for each of PROGNAME-LIST
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  for ac_prog in egrep; do
-+  for ac_exec_ext in '' $ac_executable_extensions; do
-+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-+    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-+    # Check for GNU ac_path_EGREP and select it if it is found.
-+  # Check for GNU $ac_path_EGREP
-+case `"$ac_path_EGREP" --version 2>&1` in
-+*GNU*)
-+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-+*)
-+  ac_count=0
-+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-+  while :
-+  do
-+    cat "conftest.in" "conftest.in" >"conftest.tmp"
-+    mv "conftest.tmp" "conftest.in"
-+    cp "conftest.in" "conftest.nl"
-+    echo 'EGREP' >> "conftest.nl"
-+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+    ac_count=`expr $ac_count + 1`
-+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-+      # Best one so far, save it but keep looking for a better one
-+      ac_cv_path_EGREP="$ac_path_EGREP"
-+      ac_path_EGREP_max=$ac_count
-     fi
-+    # 10*(2^10) chars as input seems more than enough
-+    test $ac_count -gt 10 && break
-+  done
-+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+
-+    $ac_path_EGREP_found && break 3
-+  done
-+done
-+
-+done
-+IFS=$as_save_IFS
-+
-+
-+fi
-+
-+EGREP="$ac_cv_path_EGREP"
-+if test -z "$EGREP"; then
-+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-+   { (exit 1); exit 1; }; }
-+fi
-+
-+else
-+  ac_cv_path_EGREP=$EGREP
-+fi
-+
-+
-+   fi
- fi
--echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
--echo "${ECHO_T}$ac_cv_prog_egrep" >&6
-- EGREP=$ac_cv_prog_egrep
-+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
-+ EGREP="$ac_cv_path_EGREP"
--echo "$as_me:$LINENO: checking for ANSI C header files" >&5
--echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
- if test "${ac_cv_header_stdc+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3620,34 +4415,31 @@ main ()
- }
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-   ac_cv_header_stdc=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_cv_header_stdc=no
-+      ac_cv_header_stdc=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_header_stdc = yes; then
-   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-@@ -3703,6 +4495,7 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
- #include <ctype.h>
-+#include <stdlib.h>
- #if ((' ' & 0x0FF) == 0x020)
- # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
- # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-@@ -3722,18 +4515,27 @@ main ()
-   for (i = 0; i < 256; i++)
-     if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
--      exit(2);
--  exit (0);
-+      return 2;
-+  return 0;
- }
- _ACEOF
- rm -f conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>&5
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
-+  { (case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_try") 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; }; then
-@@ -3746,12 +4548,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
- ( exit $ac_status )
- ac_cv_header_stdc=no
- fi
--rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
-+
-+
- fi
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
--echo "${ECHO_T}$ac_cv_header_stdc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
- if test $ac_cv_header_stdc = yes; then
- cat >>confdefs.h <<\_ACEOF
-@@ -3774,9 +4578,9 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
- do
- as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
-@@ -3790,37 +4594,35 @@ $ac_includes_default
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-   eval "$as_ac_Header=yes"
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--eval "$as_ac_Header=no"
-+      eval "$as_ac_Header=no"
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+             { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
- if test `eval echo '${'$as_ac_Header'}'` = yes; then
-   cat >>confdefs.h <<_ACEOF
- #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-@@ -3831,8 +4633,8 @@ fi
- done
--echo "$as_me:$LINENO: checking for history_init in -ledit" >&5
--echo $ECHO_N "checking for history_init in -ledit... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for history_init in -ledit" >&5
-+echo $ECHO_N "checking for history_init in -ledit... $ECHO_C" >&6; }
- if test "${ac_cv_lib_edit_history_init+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3845,69 +4647,67 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--/* Override any gcc2 internal prototype to avoid an error.  */
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
- #ifdef __cplusplus
- extern "C"
- #endif
--/* We use char because int might match the return type of a gcc2
--   builtin and then its argument prototype would still apply.  */
- char history_init ();
- int
- main ()
- {
--history_init ();
-+return history_init ();
-   ;
-   return 0;
- }
- _ACEOF
- rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>conftest.er1
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext &&
-+       $as_test_x conftest$ac_exeext; then
-   ac_cv_lib_edit_history_init=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_cv_lib_edit_history_init=no
-+      ac_cv_lib_edit_history_init=no
- fi
--rm -f conftest.err conftest.$ac_objext \
-+
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--echo "$as_me:$LINENO: result: $ac_cv_lib_edit_history_init" >&5
--echo "${ECHO_T}$ac_cv_lib_edit_history_init" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_edit_history_init" >&5
-+echo "${ECHO_T}$ac_cv_lib_edit_history_init" >&6; }
- if test $ac_cv_lib_edit_history_init = yes; then
-               if test "${ac_cv_header_histedit_h+set}" = set; then
--  echo "$as_me:$LINENO: checking for histedit.h" >&5
--echo $ECHO_N "checking for histedit.h... $ECHO_C" >&6
-+  { echo "$as_me:$LINENO: checking for histedit.h" >&5
-+echo $ECHO_N "checking for histedit.h... $ECHO_C" >&6; }
- if test "${ac_cv_header_histedit_h+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_histedit_h" >&5
--echo "${ECHO_T}$ac_cv_header_histedit_h" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_histedit_h" >&5
-+echo "${ECHO_T}$ac_cv_header_histedit_h" >&6; }
- else
-   # Is the header compilable?
--echo "$as_me:$LINENO: checking histedit.h usability" >&5
--echo $ECHO_N "checking histedit.h usability... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking histedit.h usability" >&5
-+echo $ECHO_N "checking histedit.h usability... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
-@@ -3918,40 +4718,37 @@ $ac_includes_default
- #include <histedit.h>
- _ACEOF
- rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>conftest.er1
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--       { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; } &&
--       { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-   ac_header_compiler=yes
- else
-   echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--ac_header_compiler=no
-+      ac_header_compiler=no
- fi
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
- # Is the header present?
--echo "$as_me:$LINENO: checking histedit.h presence" >&5
--echo $ECHO_N "checking histedit.h presence... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking histedit.h presence" >&5
-+echo $ECHO_N "checking histedit.h presence... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
-@@ -3960,24 +4757,22 @@ cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
- #include <histedit.h>
- _ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+  (exit $ac_status); } >/dev/null && {
-+       test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       }; then
-   ac_header_preproc=yes
- else
-   echo "$as_me: failed program was:" >&5
-@@ -3985,9 +4780,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
-   ac_header_preproc=no
- fi
-+
- rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
- # So?  What about this header?
- case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-@@ -4011,25 +4807,18 @@ echo "$as_me: WARNING: histedit.h:     section \"Present But Cannot Be Compiled\
- echo "$as_me: WARNING: histedit.h: proceeding with the preprocessor's result" >&2;}
-     { echo "$as_me:$LINENO: WARNING: histedit.h: in the future, the compiler will take precedence" >&5
- echo "$as_me: WARNING: histedit.h: in the future, the compiler will take precedence" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------- ##
--## Report this to the dash lists.  ##
--## ------------------------------- ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
-+
-     ;;
- esac
--echo "$as_me:$LINENO: checking for histedit.h" >&5
--echo $ECHO_N "checking for histedit.h... $ECHO_C" >&6
-+{ echo "$as_me:$LINENO: checking for histedit.h" >&5
-+echo $ECHO_N "checking for histedit.h... $ECHO_C" >&6; }
- if test "${ac_cv_header_histedit_h+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   ac_cv_header_histedit_h=$ac_header_preproc
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_histedit_h" >&5
--echo "${ECHO_T}$ac_cv_header_histedit_h" >&6
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_histedit_h" >&5
-+echo "${ECHO_T}$ac_cv_header_histedit_h" >&6; }
- fi
- if test $ac_cv_header_histedit_h = yes; then
-@@ -4053,7 +4842,7 @@ _ACEOF
- else
-       export LIBS="$LIBS -ledit"
- fi
--                    ac_config_files="$ac_config_files Makefile src/Makefile"
-+ac_config_files="$ac_config_files Makefile src/Makefile"
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
-@@ -4073,39 +4862,58 @@ _ACEOF
- # The following way of writing the cache mishandles newlines in values,
- # but we know of no workaround that is simple, portable, and efficient.
--# So, don't put newlines in cache variables' values.
-+# So, we kill variables containing newlines.
- # Ultrix sh set writes to stderr and can't be redirected directly,
- # and sets the high bit in the cache file unless we assign to the vars.
--{
-+(
-+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-+    eval ac_val=\$$ac_var
-+    case $ac_val in #(
-+    *${as_nl}*)
-+      case $ac_var in #(
-+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+      esac
-+      case $ac_var in #(
-+      _ | IFS | as_nl) ;; #(
-+      *) $as_unset $ac_var ;;
-+      esac ;;
-+    esac
-+  done
-+
-   (set) 2>&1 |
--    case `(ac_space=' '; set | grep ac_space) 2>&1` in
--    *ac_space=\ *)
-+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-+    *${as_nl}ac_space=\ *)
-       # `set' does not quote correctly, so add quotes (double-quote
-       # substitution turns \\\\ into \\, and sed turns \\ into \).
-       sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
--      ;;
-+      ;; #(
-     *)
-       # `set' quotes correctly as required by POSIX, so do not add quotes.
--      sed -n \
--      "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-       ;;
--    esac;
--} |
-+    esac |
-+    sort
-+) |
-   sed '
-+     /^ac_cv_env_/b end
-      t clear
--     : clear
-+     :clear
-      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-      t end
--     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
--     : end' >>confcache
--if diff $cache_file confcache >/dev/null 2>&1; then :; else
--  if test -w $cache_file; then
--    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
-+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-+     :end' >>confcache
-+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-+  if test -w "$cache_file"; then
-+    test "x$cache_file" != "x/dev/null" &&
-+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-+echo "$as_me: updating cache $cache_file" >&6;}
-     cat confcache >$cache_file
-   else
--    echo "not updating unwritable cache $cache_file"
-+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-   fi
- fi
- rm -f confcache
-@@ -4114,32 +4922,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
- # Let make expand exec_prefix.
- test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
--# VPATH may cause trouble with some makes, so we remove $(srcdir),
--# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
--# trailing colons and then remove the whole line if VPATH becomes empty
--# (actually we leave an empty line to preserve line numbers).
--if test "x$srcdir" = x.; then
--  ac_vpsub='/^[        ]*VPATH[        ]*=/{
--s/:*\$(srcdir):*/:/;
--s/:*\${srcdir}:*/:/;
--s/:*@srcdir@:*/:/;
--s/^\([^=]*=[   ]*\):*/\1/;
--s/:*$//;
--s/^[^=]*=[     ]*$//;
--}'
--fi
--
- DEFS=-DHAVE_CONFIG_H
- ac_libobjs=
- ac_ltlibobjs=
- for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-   # 1. Remove the extension, and $U if already installed.
--  ac_i=`echo "$ac_i" |
--       sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
--  # 2. Add them.
--  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
--  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-+  ac_i=`echo "$ac_i" | sed "$ac_script"`
-+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-+  #    will be set to the directory where LIBOBJS objects are built.
-+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
- done
- LIBOBJS=$ac_libobjs
-@@ -4184,17 +4978,45 @@ cat >>$CONFIG_STATUS <<\_ACEOF
- ## M4sh Initialization.  ##
- ## --------------------- ##
--# Be Bourne compatible
-+# Be more Bourne compatible
-+DUALCASE=1; export DUALCASE # for MKS sh
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
-   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-   # is contrary to our usage.  Disable this feature.
-   alias -g '${1+"$@"}'='"$@"'
--elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
--  set -o posix
-+  setopt NO_GLOB_SUBST
-+else
-+  case `(set -o) 2>/dev/null` in
-+  *posix*) set -o posix ;;
-+esac
-+
-+fi
-+
-+
-+
-+
-+# PATH needs CR
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+  echo "#! /bin/sh" >conf$$.sh
-+  echo  "exit 0"   >>conf$$.sh
-+  chmod +x conf$$.sh
-+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+    PATH_SEPARATOR=';'
-+  else
-+    PATH_SEPARATOR=:
-+  fi
-+  rm -f conf$$.sh
- fi
--DUALCASE=1; export DUALCASE # for MKS sh
- # Support unset when possible.
- if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-@@ -4204,8 +5026,43 @@ else
- fi
-+# IFS
-+# We need space, tab and new line, in precisely that order.  Quoting is
-+# there to prevent editors from complaining about space-tab.
-+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-+# splitting by setting IFS to empty value.)
-+as_nl='
-+'
-+IFS=" ""      $as_nl"
-+
-+# Find who we are.  Look in the path if we contain no directory separator.
-+case $0 in
-+  *[\\/]* ) as_myself=$0 ;;
-+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+IFS=$as_save_IFS
-+
-+     ;;
-+esac
-+# We did not find ourselves, most probably we were run as `sh COMMAND'
-+# in which case we are not to be found in the path.
-+if test "x$as_myself" = x; then
-+  as_myself=$0
-+fi
-+if test ! -f "$as_myself"; then
-+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+  { (exit 1); exit 1; }
-+fi
-+
- # Work around bugs in pre-3.0 UWIN ksh.
--$as_unset ENV MAIL MAILPATH
-+for as_var in ENV MAIL MAILPATH
-+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+done
- PS1='$ '
- PS2='> '
- PS4='+ '
-@@ -4219,18 +5076,19 @@ do
-   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-     eval $as_var=C; export $as_var
-   else
--    $as_unset $as_var
-+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-   fi
- done
- # Required to use basename.
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-   as_expr=expr
- else
-   as_expr=false
- fi
--if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-   as_basename=basename
- else
-   as_basename=false
-@@ -4238,159 +5096,120 @@ fi
- # Name of the executable.
--as_me=`$as_basename "$0" ||
-+as_me=`$as_basename -- "$0" ||
- $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
--       X"$0" : 'X\(/\)$' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- echo X/"$0" |
--    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
--        /^X\/\(\/\/\)$/{ s//\1/; q; }
--        /^X\/\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
--
--
--# PATH needs CR, and LINENO needs CR and PATH.
--# Avoid depending upon Character Ranges.
--as_cr_letters='abcdefghijklmnopqrstuvwxyz'
--as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
--as_cr_Letters=$as_cr_letters$as_cr_LETTERS
--as_cr_digits='0123456789'
--as_cr_alnum=$as_cr_Letters$as_cr_digits
-+    sed '/^.*\/\([^/][^/]*\)\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\/\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\/\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
--  echo "#! /bin/sh" >conf$$.sh
--  echo  "exit 0"   >>conf$$.sh
--  chmod +x conf$$.sh
--  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
--    PATH_SEPARATOR=';'
--  else
--    PATH_SEPARATOR=:
--  fi
--  rm -f conf$$.sh
--fi
-+# CDPATH.
-+$as_unset CDPATH
--  as_lineno_1=$LINENO
--  as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
--  test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
--  # Find who we are.  Look in the path if we contain no path at all
--  # relative or not.
--  case $0 in
--    *[\\/]* ) as_myself=$0 ;;
--    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
--done
--       ;;
--  esac
--  # We did not find ourselves, most probably we were run as `sh COMMAND'
--  # in which case we are not to be found in the path.
--  if test "x$as_myself" = x; then
--    as_myself=$0
--  fi
--  if test ! -f "$as_myself"; then
--    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
--echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
--   { (exit 1); exit 1; }; }
--  fi
--  case $CONFIG_SHELL in
--  '')
--    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for as_base in sh bash ksh sh5; do
--       case $as_dir in
--       /*)
--         if ("$as_dir/$as_base" -c '
-   as_lineno_1=$LINENO
-   as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-   test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
--           $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
--           $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
--           CONFIG_SHELL=$as_dir/$as_base
--           export CONFIG_SHELL
--           exec "$CONFIG_SHELL" "$0" ${1+"$@"}
--         fi;;
--       esac
--       done
--done
--;;
--  esac
-+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-   # uniformly replaced by the line number.  The first 'sed' inserts a
--  # line-number line before each line; the second 'sed' does the real
--  # work.  The second script uses 'N' to pair each line-number line
--  # with the numbered line, and appends trailing '-' during
--  # substitution so that $LINENO is not a special case at line end.
-+  # line-number line after each line using $LINENO; the second 'sed'
-+  # does the real work.  The second script uses 'N' to pair each
-+  # line-number line with the line containing $LINENO, and appends
-+  # trailing '-' during substitution so that $LINENO is not a special
-+  # case at line end.
-   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
--  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
--  sed '=' <$as_myself |
-+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-+  # E. McMahon (1931-1989) for sed's syntax.  :-)
-+  sed -n '
-+    p
-+    /[$]LINENO/=
-+  ' <$as_myself |
-     sed '
-+      s/[$]LINENO.*/&-/
-+      t lineno
-+      b
-+      :lineno
-       N
--      s,$,-,
--      : loop
--      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+      :loop
-+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-       t loop
--      s,-$,,
--      s,^['$as_cr_digits']*\n,,
-+      s/-\n.*//
-     ' >$as_me.lineno &&
--  chmod +x $as_me.lineno ||
--    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
--echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
-+  chmod +x "$as_me.lineno" ||
-+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-    { (exit 1); exit 1; }; }
-   # Don't try to exec as it changes $[0], causing all sort of problems
-   # (the dirname of $[0] is not the place where we might find the
--  # original and so on.  Autoconf is especially sensible to this).
--  . ./$as_me.lineno
-+  # original and so on.  Autoconf is especially sensitive to this).
-+  . "./$as_me.lineno"
-   # Exit status is that of the last command.
-   exit
- }
--case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
--  *c*,-n*) ECHO_N= ECHO_C='
--' ECHO_T='    ' ;;
--  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
--  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
-+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-+  as_dirname=dirname
-+else
-+  as_dirname=false
-+fi
-+
-+ECHO_C= ECHO_N= ECHO_T=
-+case `echo -n x` in
-+-n*)
-+  case `echo 'x\c'` in
-+  *c*) ECHO_T='       ';;     # ECHO_T is single tab character.
-+  *)   ECHO_C='\c';;
-+  esac;;
-+*)
-+  ECHO_N='-n';;
- esac
--if expr a : '\(a\)' >/dev/null 2>&1; then
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-   as_expr=expr
- else
-   as_expr=false
- fi
- rm -f conf$$ conf$$.exe conf$$.file
-+if test -d conf$$.dir; then
-+  rm -f conf$$.dir/conf$$.file
-+else
-+  rm -f conf$$.dir
-+  mkdir conf$$.dir
-+fi
- echo >conf$$.file
- if ln -s conf$$.file conf$$ 2>/dev/null; then
--  # We could just check for DJGPP; but this test a) works b) is more generic
--  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
--  if test -f conf$$.exe; then
--    # Don't use ln at all; we don't have any links
-+  as_ln_s='ln -s'
-+  # ... but there are two gotchas:
-+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+  # In both cases, we have to default to `cp -p'.
-+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-     as_ln_s='cp -p'
--  else
--    as_ln_s='ln -s'
--  fi
- elif ln conf$$.file conf$$ 2>/dev/null; then
-   as_ln_s=ln
- else
-   as_ln_s='cp -p'
- fi
--rm -f conf$$ conf$$.exe conf$$.file
-+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-+rmdir conf$$.dir 2>/dev/null
- if mkdir -p . 2>/dev/null; then
-   as_mkdir_p=:
-@@ -4399,7 +5218,28 @@ else
-   as_mkdir_p=false
- fi
--as_executable_p="test -f"
-+if test -x / >/dev/null 2>&1; then
-+  as_test_x='test -x'
-+else
-+  if ls -dL / >/dev/null 2>&1; then
-+    as_ls_L_option=L
-+  else
-+    as_ls_L_option=
-+  fi
-+  as_test_x='
-+    eval sh -c '\''
-+      if test -d "$1"; then
-+        test -d "$1/.";
-+      else
-+      case $1 in
-+        -*)set "./$1";;
-+      esac;
-+      case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-+      ???[sx]*):;;*)false;;esac;fi
-+    '\'' sh
-+  '
-+fi
-+as_executable_p=$as_test_x
- # Sed expression to map a string onto a valid CPP name.
- as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-@@ -4408,31 +5248,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
- as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
--# IFS
--# We need space, tab and new line, in precisely that order.
--as_nl='
--'
--IFS="         $as_nl"
--
--# CDPATH.
--$as_unset CDPATH
--
- exec 6>&1
--# Open the log real soon, to keep \$[0] and so on meaningful, and to
-+# Save the log message, to keep $[0] and so on meaningful, and to
- # report actual input values of CONFIG_FILES etc. instead of their
--# values after options handling.  Logging --version etc. is OK.
--exec 5>>config.log
--{
--  echo
--  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
--## Running $as_me. ##
--_ASBOX
--} >&5
--cat >&5 <<_CSEOF
--
-+# values after options handling.
-+ac_log="
- This file was extended by dash $as_me 0.5.4, which was
--generated by GNU Autoconf 2.59.  Invocation command line was
-+generated by GNU Autoconf 2.61.  Invocation command line was
-   CONFIG_FILES    = $CONFIG_FILES
-   CONFIG_HEADERS  = $CONFIG_HEADERS
-@@ -4440,30 +5263,20 @@ generated by GNU Autoconf 2.59.  Invocation command line was
-   CONFIG_COMMANDS = $CONFIG_COMMANDS
-   $ $0 $@
--_CSEOF
--echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
--echo >&5
-+on `(hostname || uname -n) 2>/dev/null | sed 1q`
-+"
-+
- _ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
- # Files that config.status was made for.
--if test -n "$ac_config_files"; then
--  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
--fi
--
--if test -n "$ac_config_headers"; then
--  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
--fi
--
--if test -n "$ac_config_links"; then
--  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
--fi
-+config_files="$ac_config_files"
-+config_headers="$ac_config_headers"
-+config_commands="$ac_config_commands"
--if test -n "$ac_config_commands"; then
--  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
--fi
-+_ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
--
- ac_cs_usage="\
- \`$as_me' instantiates files from templates according to the
- current configuration.
-@@ -4471,7 +5284,7 @@ current configuration.
- Usage: $0 [OPTIONS] [FILE]...
-   -h, --help       print this help, then exit
--  -V, --version    print version number, then exit
-+  -V, --version    print version number and configuration settings, then exit
-   -q, --quiet      do not print progress messages
-   -d, --debug      don't remove temporary files
-       --recheck    update $as_me by reconfiguring in the same conditions
-@@ -4490,19 +5303,22 @@ Configuration commands:
- $config_commands
- Report bugs to <bug-autoconf@gnu.org>."
--_ACEOF
-+_ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
- ac_cs_version="\\
- dash config.status 0.5.4
--configured by $0, generated by GNU Autoconf 2.59,
--  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-+configured by $0, generated by GNU Autoconf 2.61,
-+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
--Copyright (C) 2003 Free Software Foundation, Inc.
-+Copyright (C) 2006 Free Software Foundation, Inc.
- This config.status script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it."
--srcdir=$srcdir
--INSTALL="$INSTALL"
-+
-+ac_pwd='$ac_pwd'
-+srcdir='$srcdir'
-+INSTALL='$INSTALL'
-+MKDIR_P='$MKDIR_P'
- _ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
-@@ -4513,39 +5329,24 @@ while test $# != 0
- do
-   case $1 in
-   --*=*)
--    ac_option=`expr "x$1" : 'x\([^=]*\)='`
--    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
-+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-     ac_shift=:
-     ;;
--  -*)
-+  *)
-     ac_option=$1
-     ac_optarg=$2
-     ac_shift=shift
-     ;;
--  *) # This is not an option, so the user has probably given explicit
--     # arguments.
--     ac_option=$1
--     ac_need_defaults=false;;
-   esac
-   case $ac_option in
-   # Handling of the options.
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
-   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-     ac_cs_recheck=: ;;
--  --version | --vers* | -V )
--    echo "$ac_cs_version"; exit 0 ;;
--  --he | --h)
--    # Conflict between --help and --header
--    { { echo "$as_me:$LINENO: error: ambiguous option: $1
--Try \`$0 --help' for more information." >&5
--echo "$as_me: error: ambiguous option: $1
--Try \`$0 --help' for more information." >&2;}
--   { (exit 1); exit 1; }; };;
--  --help | --hel | -h )
--    echo "$ac_cs_usage"; exit 0 ;;
--  --debug | --d* | -d )
-+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-+    echo "$ac_cs_version"; exit ;;
-+  --debug | --debu | --deb | --de | --d | -d )
-     debug=: ;;
-   --file | --fil | --fi | --f )
-     $ac_shift
-@@ -4555,18 +5356,24 @@ Try \`$0 --help' for more information." >&2;}
-     $ac_shift
-     CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
-     ac_need_defaults=false;;
-+  --he | --h)
-+    # Conflict between --help and --header
-+    { echo "$as_me: error: ambiguous option: $1
-+Try \`$0 --help' for more information." >&2
-+   { (exit 1); exit 1; }; };;
-+  --help | --hel | -h )
-+    echo "$ac_cs_usage"; exit ;;
-   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-   | -silent | --silent | --silen | --sile | --sil | --si | --s)
-     ac_cs_silent=: ;;
-   # This is an error.
--  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
--Try \`$0 --help' for more information." >&5
--echo "$as_me: error: unrecognized option: $1
--Try \`$0 --help' for more information." >&2;}
-+  -*) { echo "$as_me: error: unrecognized option: $1
-+Try \`$0 --help' for more information." >&2
-    { (exit 1); exit 1; }; } ;;
--  *) ac_config_targets="$ac_config_targets $1" ;;
-+  *) ac_config_targets="$ac_config_targets $1"
-+     ac_need_defaults=false ;;
-   esac
-   shift
-@@ -4582,38 +5389,50 @@ fi
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
- if \$ac_cs_recheck; then
--  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
--  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-+  CONFIG_SHELL=$SHELL
-+  export CONFIG_SHELL
-+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- fi
- _ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+exec 5>>config.log
-+{
-+  echo
-+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-+## Running $as_me. ##
-+_ASBOX
-+  echo "$ac_log"
-+} >&5
-+_ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
- #
--# INIT-COMMANDS section.
-+# INIT-COMMANDS
- #
--
- AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
- _ACEOF
--
--
- cat >>$CONFIG_STATUS <<\_ACEOF
-+
-+# Handling of arguments.
- for ac_config_target in $ac_config_targets
- do
--  case "$ac_config_target" in
--  # Handling of arguments.
--  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
--  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
--  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
--  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-+  case $ac_config_target in
-+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-+
-   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
- echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-    { (exit 1); exit 1; }; };;
-   esac
- done
-+
- # If the user did not use the arguments to specify the items to instantiate,
- # then the envvar interface is used.  Set only those that are not.
- # We use the long form for the default assignment because of an extremely
-@@ -4625,578 +5444,534 @@ if $ac_need_defaults; then
- fi
- # Have a temporary directory for convenience.  Make it in the build tree
--# simply because there is no reason to put it here, and in addition,
-+# simply because there is no reason against having it here, and in addition,
- # creating and moving files from /tmp can sometimes cause problems.
--# Create a temporary directory, and hook for its removal unless debugging.
-+# Hook for its removal unless debugging.
-+# Note that there is a small window in which the directory will not be cleaned:
-+# after its creation but before its name has been assigned to `$tmp'.
- $debug ||
- {
--  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
-+  tmp=
-+  trap 'exit_status=$?
-+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-+' 0
-   trap '{ (exit 1); exit 1; }' 1 2 13 15
- }
--
- # Create a (secure) tmp directory for tmp files.
- {
--  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
-+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-   test -n "$tmp" && test -d "$tmp"
- }  ||
- {
--  tmp=./confstat$$-$RANDOM
--  (umask 077 && mkdir $tmp)
-+  tmp=./conf$$-$RANDOM
-+  (umask 077 && mkdir "$tmp")
- } ||
- {
-    echo "$me: cannot create a temporary directory in ." >&2
-    { (exit 1); exit 1; }
- }
--_ACEOF
--
--cat >>$CONFIG_STATUS <<_ACEOF
--
- #
--# CONFIG_FILES section.
-+# Set up the sed scripts for CONFIG_FILES section.
- #
- # No need to generate the scripts if there are no CONFIG_FILES.
- # This happens for instance when ./config.status config.h
--if test -n "\$CONFIG_FILES"; then
--  # Protect against being on the right side of a sed subst in config.status.
--  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
--   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
--s,@SHELL@,$SHELL,;t t
--s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
--s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
--s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
--s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
--s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
--s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
--s,@exec_prefix@,$exec_prefix,;t t
--s,@prefix@,$prefix,;t t
--s,@program_transform_name@,$program_transform_name,;t t
--s,@bindir@,$bindir,;t t
--s,@sbindir@,$sbindir,;t t
--s,@libexecdir@,$libexecdir,;t t
--s,@datadir@,$datadir,;t t
--s,@sysconfdir@,$sysconfdir,;t t
--s,@sharedstatedir@,$sharedstatedir,;t t
--s,@localstatedir@,$localstatedir,;t t
--s,@libdir@,$libdir,;t t
--s,@includedir@,$includedir,;t t
--s,@oldincludedir@,$oldincludedir,;t t
--s,@infodir@,$infodir,;t t
--s,@mandir@,$mandir,;t t
--s,@build_alias@,$build_alias,;t t
--s,@host_alias@,$host_alias,;t t
--s,@target_alias@,$target_alias,;t t
--s,@DEFS@,$DEFS,;t t
--s,@ECHO_C@,$ECHO_C,;t t
--s,@ECHO_N@,$ECHO_N,;t t
--s,@ECHO_T@,$ECHO_T,;t t
--s,@LIBS@,$LIBS,;t t
--s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
--s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
--s,@INSTALL_DATA@,$INSTALL_DATA,;t t
--s,@CYGPATH_W@,$CYGPATH_W,;t t
--s,@PACKAGE@,$PACKAGE,;t t
--s,@VERSION@,$VERSION,;t t
--s,@ACLOCAL@,$ACLOCAL,;t t
--s,@AUTOCONF@,$AUTOCONF,;t t
--s,@AUTOMAKE@,$AUTOMAKE,;t t
--s,@AUTOHEADER@,$AUTOHEADER,;t t
--s,@MAKEINFO@,$MAKEINFO,;t t
--s,@install_sh@,$install_sh,;t t
--s,@STRIP@,$STRIP,;t t
--s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
--s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
--s,@mkdir_p@,$mkdir_p,;t t
--s,@AWK@,$AWK,;t t
--s,@SET_MAKE@,$SET_MAKE,;t t
--s,@am__leading_dot@,$am__leading_dot,;t t
--s,@AMTAR@,$AMTAR,;t t
--s,@am__tar@,$am__tar,;t t
--s,@am__untar@,$am__untar,;t t
--s,@CC@,$CC,;t t
--s,@CFLAGS@,$CFLAGS,;t t
--s,@LDFLAGS@,$LDFLAGS,;t t
--s,@CPPFLAGS@,$CPPFLAGS,;t t
--s,@ac_ct_CC@,$ac_ct_CC,;t t
--s,@EXEEXT@,$EXEEXT,;t t
--s,@OBJEXT@,$OBJEXT,;t t
--s,@DEPDIR@,$DEPDIR,;t t
--s,@am__include@,$am__include,;t t
--s,@am__quote@,$am__quote,;t t
--s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
--s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
--s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
--s,@CCDEPMODE@,$CCDEPMODE,;t t
--s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
--s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
--s,@YACC@,$YACC,;t t
--s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
--s,@CPP@,$CPP,;t t
--s,@EGREP@,$EGREP,;t t
--s,@LIBOBJS@,$LIBOBJS,;t t
--s,@LTLIBOBJS@,$LTLIBOBJS,;t t
--CEOF
-+if test -n "$CONFIG_FILES"; then
- _ACEOF
--  cat >>$CONFIG_STATUS <<\_ACEOF
--  # Split the substitutions into bite-sized pieces for seds with
--  # small command number limits, like on Digital OSF/1 and HP-UX.
--  ac_max_sed_lines=48
--  ac_sed_frag=1 # Number of current file.
--  ac_beg=1 # First line for current file.
--  ac_end=$ac_max_sed_lines # Line after last line for current file.
--  ac_more_lines=:
--  ac_sed_cmds=
--  while $ac_more_lines; do
--    if test $ac_beg -gt 1; then
--      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
--    else
--      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
--    fi
--    if test ! -s $tmp/subs.frag; then
--      ac_more_lines=false
--    else
--      # The purpose of the label and of the branching condition is to
--      # speed up the sed processing (if there are no `@' at all, there
--      # is no need to browse any of the substitutions).
--      # These are the two extra sed commands mentioned above.
--      (echo ':t
--  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
--      if test -z "$ac_sed_cmds"; then
--      ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
--      else
--      ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
--      fi
--      ac_sed_frag=`expr $ac_sed_frag + 1`
--      ac_beg=$ac_end
--      ac_end=`expr $ac_end + $ac_max_sed_lines`
--    fi
--  done
--  if test -z "$ac_sed_cmds"; then
--    ac_sed_cmds=cat
-+
-+
-+ac_delim='%!_!# '
-+for ac_last_try in false false false false false :; do
-+  cat >conf$$subs.sed <<_ACEOF
-+SHELL!$SHELL$ac_delim
-+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-+exec_prefix!$exec_prefix$ac_delim
-+prefix!$prefix$ac_delim
-+program_transform_name!$program_transform_name$ac_delim
-+bindir!$bindir$ac_delim
-+sbindir!$sbindir$ac_delim
-+libexecdir!$libexecdir$ac_delim
-+datarootdir!$datarootdir$ac_delim
-+datadir!$datadir$ac_delim
-+sysconfdir!$sysconfdir$ac_delim
-+sharedstatedir!$sharedstatedir$ac_delim
-+localstatedir!$localstatedir$ac_delim
-+includedir!$includedir$ac_delim
-+oldincludedir!$oldincludedir$ac_delim
-+docdir!$docdir$ac_delim
-+infodir!$infodir$ac_delim
-+htmldir!$htmldir$ac_delim
-+dvidir!$dvidir$ac_delim
-+pdfdir!$pdfdir$ac_delim
-+psdir!$psdir$ac_delim
-+libdir!$libdir$ac_delim
-+localedir!$localedir$ac_delim
-+mandir!$mandir$ac_delim
-+DEFS!$DEFS$ac_delim
-+ECHO_C!$ECHO_C$ac_delim
-+ECHO_N!$ECHO_N$ac_delim
-+ECHO_T!$ECHO_T$ac_delim
-+LIBS!$LIBS$ac_delim
-+build_alias!$build_alias$ac_delim
-+host_alias!$host_alias$ac_delim
-+target_alias!$target_alias$ac_delim
-+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-+INSTALL_DATA!$INSTALL_DATA$ac_delim
-+am__isrc!$am__isrc$ac_delim
-+CYGPATH_W!$CYGPATH_W$ac_delim
-+PACKAGE!$PACKAGE$ac_delim
-+VERSION!$VERSION$ac_delim
-+ACLOCAL!$ACLOCAL$ac_delim
-+AUTOCONF!$AUTOCONF$ac_delim
-+AUTOMAKE!$AUTOMAKE$ac_delim
-+AUTOHEADER!$AUTOHEADER$ac_delim
-+MAKEINFO!$MAKEINFO$ac_delim
-+install_sh!$install_sh$ac_delim
-+STRIP!$STRIP$ac_delim
-+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-+mkdir_p!$mkdir_p$ac_delim
-+AWK!$AWK$ac_delim
-+SET_MAKE!$SET_MAKE$ac_delim
-+am__leading_dot!$am__leading_dot$ac_delim
-+AMTAR!$AMTAR$ac_delim
-+am__tar!$am__tar$ac_delim
-+am__untar!$am__untar$ac_delim
-+CC!$CC$ac_delim
-+CFLAGS!$CFLAGS$ac_delim
-+LDFLAGS!$LDFLAGS$ac_delim
-+CPPFLAGS!$CPPFLAGS$ac_delim
-+ac_ct_CC!$ac_ct_CC$ac_delim
-+EXEEXT!$EXEEXT$ac_delim
-+OBJEXT!$OBJEXT$ac_delim
-+DEPDIR!$DEPDIR$ac_delim
-+am__include!$am__include$ac_delim
-+am__quote!$am__quote$ac_delim
-+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-+CCDEPMODE!$CCDEPMODE$ac_delim
-+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-+YACC!$YACC$ac_delim
-+YFLAGS!$YFLAGS$ac_delim
-+CC_FOR_BUILD!$CC_FOR_BUILD$ac_delim
-+CPP!$CPP$ac_delim
-+GREP!$GREP$ac_delim
-+EGREP!$EGREP$ac_delim
-+LIBOBJS!$LIBOBJS$ac_delim
-+LTLIBOBJS!$LTLIBOBJS$ac_delim
-+_ACEOF
-+
-+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 83; then
-+    break
-+  elif $ac_last_try; then
-+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-+   { (exit 1); exit 1; }; }
-+  else
-+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-   fi
--fi # test -n "$CONFIG_FILES"
-+done
-+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-+if test -n "$ac_eof"; then
-+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-+  ac_eof=`expr $ac_eof + 1`
-+fi
-+
-+cat >>$CONFIG_STATUS <<_ACEOF
-+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-+_ACEOF
-+sed '
-+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-+s/^/s,@/; s/!/@,|#_!!_#|/
-+:n
-+t n
-+s/'"$ac_delim"'$/,g/; t
-+s/$/\\/; p
-+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-+' >>$CONFIG_STATUS <conf$$subs.sed
-+rm -f conf$$subs.sed
-+cat >>$CONFIG_STATUS <<_ACEOF
-+:end
-+s/|#_!!_#|//g
-+CEOF$ac_eof
- _ACEOF
-+
-+
-+# VPATH may cause trouble with some makes, so we remove $(srcdir),
-+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-+# trailing colons and then remove the whole line if VPATH becomes empty
-+# (actually we leave an empty line to preserve line numbers).
-+if test "x$srcdir" = x.; then
-+  ac_vpsub='/^[        ]*VPATH[        ]*=/{
-+s/:*\$(srcdir):*/:/
-+s/:*\${srcdir}:*/:/
-+s/:*@srcdir@:*/:/
-+s/^\([^=]*=[   ]*\):*/\1/
-+s/:*$//
-+s/^[^=]*=[     ]*$//
-+}'
-+fi
-+
- cat >>$CONFIG_STATUS <<\_ACEOF
--for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
--  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
--  case $ac_file in
--  - | *:- | *:-:* ) # input from stdin
--      cat >$tmp/stdin
--      ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
--      ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
--  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
--      ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
--  * )   ac_file_in=$ac_file.in ;;
-+fi # test -n "$CONFIG_FILES"
-+
-+
-+for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
-+do
-+  case $ac_tag in
-+  :[FHLC]) ac_mode=$ac_tag; continue;;
-+  esac
-+  case $ac_mode$ac_tag in
-+  :[FHL]*:*);;
-+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
-+   { (exit 1); exit 1; }; };;
-+  :[FH]-) ac_tag=-:-;;
-+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-+  esac
-+  ac_save_IFS=$IFS
-+  IFS=:
-+  set x $ac_tag
-+  IFS=$ac_save_IFS
-+  shift
-+  ac_file=$1
-+  shift
-+
-+  case $ac_mode in
-+  :L) ac_source=$1;;
-+  :[FH])
-+    ac_file_inputs=
-+    for ac_f
-+    do
-+      case $ac_f in
-+      -) ac_f="$tmp/stdin";;
-+      *) # Look for the file first in the build tree, then in the source tree
-+       # (if the path is not absolute).  The absolute path cannot be DOS-style,
-+       # because $ac_f cannot contain `:'.
-+       test -f "$ac_f" ||
-+         case $ac_f in
-+         [\\/$]*) false;;
-+         *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-+         esac ||
-+         { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-+   { (exit 1); exit 1; }; };;
-+      esac
-+      ac_file_inputs="$ac_file_inputs $ac_f"
-+    done
-+
-+    # Let's still pretend it is `configure' which instantiates (i.e., don't
-+    # use $as_me), people would be surprised to read:
-+    #    /* config.h.  Generated by config.status.  */
-+    configure_input="Generated from "`IFS=:
-+        echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
-+    if test x"$ac_file" != x-; then
-+      configure_input="$ac_file.  $configure_input"
-+      { echo "$as_me:$LINENO: creating $ac_file" >&5
-+echo "$as_me: creating $ac_file" >&6;}
-+    fi
-+
-+    case $ac_tag in
-+    *:-:* | *:-) cat >"$tmp/stdin";;
-+    esac
-+    ;;
-   esac
--  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
--  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-+  ac_dir=`$as_dirname -- "$ac_file" ||
- $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
--       X"$ac_file" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$ac_file" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
--  { if $as_mkdir_p; then
--    mkdir -p "$ac_dir"
--  else
--    as_dir="$ac_dir"
-+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)[^/].*/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
-+  { as_dir="$ac_dir"
-+  case $as_dir in #(
-+  -*) as_dir=./$as_dir;;
-+  esac
-+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-     as_dirs=
--    while test ! -d "$as_dir"; do
--      as_dirs="$as_dir $as_dirs"
--      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-+    while :; do
-+      case $as_dir in #(
-+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-+      *) as_qdir=$as_dir;;
-+      esac
-+      as_dirs="'$as_qdir' $as_dirs"
-+      as_dir=`$as_dirname -- "$as_dir" ||
- $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
--       X"$as_dir" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$as_dir" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
-+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)[^/].*/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
-+      test -d "$as_dir" && break
-     done
--    test ! -n "$as_dirs" || mkdir $as_dirs
--  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
--echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-+    test -z "$as_dirs" || eval "mkdir $as_dirs"
-+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-+echo "$as_me: error: cannot create directory $as_dir" >&2;}
-    { (exit 1); exit 1; }; }; }
--
-   ac_builddir=.
--if test "$ac_dir" != .; then
-+case "$ac_dir" in
-+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+*)
-   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
--  # A "../" for each directory in $ac_dir_suffix.
--  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
--  ac_dir_suffix= ac_top_builddir=
--fi
-+  # A ".." for each directory in $ac_dir_suffix.
-+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+  case $ac_top_builddir_sub in
-+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-+  esac ;;
-+esac
-+ac_abs_top_builddir=$ac_pwd
-+ac_abs_builddir=$ac_pwd$ac_dir_suffix
-+# for backward compatibility:
-+ac_top_builddir=$ac_top_build_prefix
- case $srcdir in
--  .)  # No --srcdir option.  We are building in place.
-+  .)  # We are building in place.
-     ac_srcdir=.
--    if test -z "$ac_top_builddir"; then
--       ac_top_srcdir=.
--    else
--       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
--    fi ;;
--  [\\/]* | ?:[\\/]* )  # Absolute path.
-+    ac_top_srcdir=$ac_top_builddir_sub
-+    ac_abs_top_srcdir=$ac_pwd ;;
-+  [\\/]* | ?:[\\/]* )  # Absolute name.
-     ac_srcdir=$srcdir$ac_dir_suffix;
--    ac_top_srcdir=$srcdir ;;
--  *) # Relative path.
--    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
--    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-+    ac_top_srcdir=$srcdir
-+    ac_abs_top_srcdir=$srcdir ;;
-+  *) # Relative name.
-+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-+    ac_top_srcdir=$ac_top_build_prefix$srcdir
-+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
- esac
-+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
--# Do not use `cd foo && pwd` to compute absolute paths, because
--# the directories may not exist.
--case `pwd` in
--.) ac_abs_builddir="$ac_dir";;
--*)
--  case "$ac_dir" in
--  .) ac_abs_builddir=`pwd`;;
--  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
--  *) ac_abs_builddir=`pwd`/"$ac_dir";;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_builddir=${ac_top_builddir}.;;
--*)
--  case ${ac_top_builddir}. in
--  .) ac_abs_top_builddir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
--  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_srcdir=$ac_srcdir;;
--*)
--  case $ac_srcdir in
--  .) ac_abs_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
--  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_srcdir=$ac_top_srcdir;;
--*)
--  case $ac_top_srcdir in
--  .) ac_abs_top_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
--  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
--  esac;;
--esac
-+  case $ac_mode in
-+  :F)
-+  #
-+  # CONFIG_FILE
-+  #
-   case $INSTALL in
-   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
--  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
-+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-+  esac
-+  ac_MKDIR_P=$MKDIR_P
-+  case $MKDIR_P in
-+  [\\/$]* | ?:[\\/]* ) ;;
-+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-   esac
-+_ACEOF
--  # Let's still pretend it is `configure' which instantiates (i.e., don't
--  # use $as_me), people would be surprised to read:
--  #    /* config.h.  Generated by config.status.  */
--  if test x"$ac_file" = x-; then
--    configure_input=
--  else
--    configure_input="$ac_file.  "
--  fi
--  configure_input=$configure_input"Generated from `echo $ac_file_in |
--                                   sed 's,.*/,,'` by configure."
--
--  # First look for the input files in the build tree, otherwise in the
--  # src tree.
--  ac_file_inputs=`IFS=:
--    for f in $ac_file_in; do
--      case $f in
--      -) echo $tmp/stdin ;;
--      [\\/$]*)
--       # Absolute (can't be DOS-style, as IFS=:)
--       test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
--   { (exit 1); exit 1; }; }
--       echo "$f";;
--      *) # Relative
--       if test -f "$f"; then
--         # Build tree
--         echo "$f"
--       elif test -f "$srcdir/$f"; then
--         # Source tree
--         echo "$srcdir/$f"
--       else
--         # /dev/null tree
--         { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
--   { (exit 1); exit 1; }; }
--       fi;;
--      esac
--    done` || { (exit 1); exit 1; }
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+# If the template does not know about datarootdir, expand it.
-+# FIXME: This hack should be removed a few years after 2.60.
-+ac_datarootdir_hack=; ac_datarootdir_seen=
--  if test x"$ac_file" != x-; then
--    { echo "$as_me:$LINENO: creating $ac_file" >&5
--echo "$as_me: creating $ac_file" >&6;}
--    rm -f "$ac_file"
--  fi
-+case `sed -n '/datarootdir/ {
-+  p
-+  q
-+}
-+/@datadir@/p
-+/@docdir@/p
-+/@infodir@/p
-+/@localedir@/p
-+/@mandir@/p
-+' $ac_file_inputs` in
-+*datarootdir*) ac_datarootdir_seen=yes;;
-+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
-+  ac_datarootdir_hack='
-+  s&@datadir@&$datadir&g
-+  s&@docdir@&$docdir&g
-+  s&@infodir@&$infodir&g
-+  s&@localedir@&$localedir&g
-+  s&@mandir@&$mandir&g
-+    s&\\\${datarootdir}&$datarootdir&g' ;;
-+esac
-+_ACEOF
-+
-+# Neutralize VPATH when `$srcdir' = `.'.
-+# Shell code in configure.ac might set extrasub.
-+# FIXME: do we really want to maintain this feature?
-+cat >>$CONFIG_STATUS <<_ACEOF
-   sed "$ac_vpsub
- $extrasub
- _ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
- :t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
--s,@configure_input@,$configure_input,;t t
--s,@srcdir@,$ac_srcdir,;t t
--s,@abs_srcdir@,$ac_abs_srcdir,;t t
--s,@top_srcdir@,$ac_top_srcdir,;t t
--s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
--s,@builddir@,$ac_builddir,;t t
--s,@abs_builddir@,$ac_abs_builddir,;t t
--s,@top_builddir@,$ac_top_builddir,;t t
--s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
--s,@INSTALL@,$ac_INSTALL,;t t
--" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
--  rm -f $tmp/stdin
--  if test x"$ac_file" != x-; then
--    mv $tmp/out $ac_file
--  else
--    cat $tmp/out
--    rm -f $tmp/out
--  fi
--
--done
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--
--#
--# CONFIG_HEADER section.
--#
--
--# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
--# NAME is the cpp macro being defined and VALUE is the value it is being given.
--#
--# ac_d sets the value in "#define NAME VALUE" lines.
--ac_dA='s,^\([  ]*\)#\([        ]*define[       ][      ]*\)'
--ac_dB='[       ].*$,\1#\2'
--ac_dC=' '
--ac_dD=',;t'
--# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
--ac_uA='s,^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
--ac_uB='$,\1#\2define\3'
--ac_uC=' '
--ac_uD=',;t'
--
--for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
--  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-+s&@configure_input@&$configure_input&;t t
-+s&@top_builddir@&$ac_top_builddir_sub&;t t
-+s&@srcdir@&$ac_srcdir&;t t
-+s&@abs_srcdir@&$ac_abs_srcdir&;t t
-+s&@top_srcdir@&$ac_top_srcdir&;t t
-+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-+s&@builddir@&$ac_builddir&;t t
-+s&@abs_builddir@&$ac_abs_builddir&;t t
-+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-+s&@INSTALL@&$ac_INSTALL&;t t
-+s&@MKDIR_P@&$ac_MKDIR_P&;t t
-+$ac_datarootdir_hack
-+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
-+
-+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-+  { ac_out=`sed -n '/^[        ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+which seems to be undefined.  Please make sure it is defined." >&5
-+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+which seems to be undefined.  Please make sure it is defined." >&2;}
-+
-+  rm -f "$tmp/stdin"
-   case $ac_file in
--  - | *:- | *:-:* ) # input from stdin
--      cat >$tmp/stdin
--      ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
--      ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
--  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
--      ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
--  * )   ac_file_in=$ac_file.in ;;
-+  -) cat "$tmp/out"; rm -f "$tmp/out";;
-+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
-   esac
--
--  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
--echo "$as_me: creating $ac_file" >&6;}
--
--  # First look for the input files in the build tree, otherwise in the
--  # src tree.
--  ac_file_inputs=`IFS=:
--    for f in $ac_file_in; do
--      case $f in
--      -) echo $tmp/stdin ;;
--      [\\/$]*)
--       # Absolute (can't be DOS-style, as IFS=:)
--       test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
--   { (exit 1); exit 1; }; }
--       # Do quote $f, to prevent DOS paths from being IFS'd.
--       echo "$f";;
--      *) # Relative
--       if test -f "$f"; then
--         # Build tree
--         echo "$f"
--       elif test -f "$srcdir/$f"; then
--         # Source tree
--         echo "$srcdir/$f"
--       else
--         # /dev/null tree
--         { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
--   { (exit 1); exit 1; }; }
--       fi;;
--      esac
--    done` || { (exit 1); exit 1; }
--  # Remove the trailing spaces.
--  sed 's/[     ]*$//' $ac_file_inputs >$tmp/in
--
-+ ;;
-+  :H)
-+  #
-+  # CONFIG_HEADER
-+  #
- _ACEOF
--# Transform confdefs.h into two sed scripts, `conftest.defines' and
--# `conftest.undefs', that substitutes the proper values into
--# config.h.in to produce config.h.  The first handles `#define'
--# templates, and the second `#undef' templates.
--# And first: Protect against being on the right side of a sed subst in
--# config.status.  Protect against being in an unquoted here document
--# in config.status.
--rm -f conftest.defines conftest.undefs
--# Using a here document instead of a string reduces the quoting nightmare.
--# Putting comments in sed scripts is not portable.
--#
--# `end' is used to avoid that the second main sed command (meant for
--# 0-ary CPP macros) applies to n-ary macro definitions.
--# See the Autoconf documentation for `clear'.
--cat >confdef2sed.sed <<\_ACEOF
--s/[\\&,]/\\&/g
--s,[\\$`],\\&,g
--t clear
--: clear
--s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*\)\(([^)]*)\)[       ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
--t end
--s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
--: end
--_ACEOF
--# If some macros were called several times there might be several times
--# the same #defines, which is useless.  Nevertheless, we may not want to
--# sort them, since we want the *last* AC-DEFINE to be honored.
--uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
--sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
--rm -f confdef2sed.sed
--
--# This sed command replaces #undef with comments.  This is necessary, for
-+# Transform confdefs.h into a sed script `conftest.defines', that
-+# substitutes the proper values into config.h.in to produce config.h.
-+rm -f conftest.defines conftest.tail
-+# First, append a space to every undef/define line, to ease matching.
-+echo 's/$/ /' >conftest.defines
-+# Then, protect against being on the right side of a sed subst, or in
-+# an unquoted here document, in config.status.  If some macros were
-+# called several times there might be several #defines for the same
-+# symbol, which is useless.  But do not sort them, since the last
-+# AC_DEFINE must be honored.
-+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-+# NAME is the cpp macro being defined, VALUE is the value it is being given.
-+# PARAMS is the parameter list in the macro definition--in most cases, it's
-+# just an empty string.
-+ac_dA='s,^\\([         #]*\\)[^        ]*\\([  ]*'
-+ac_dB='\\)[    (].*,\\1define\\2'
-+ac_dC=' '
-+ac_dD=' ,'
-+
-+uniq confdefs.h |
-+  sed -n '
-+      t rset
-+      :rset
-+      s/^[     ]*#[    ]*define[       ][      ]*//
-+      t ok
-+      d
-+      :ok
-+      s/[\\&,]/\\&/g
-+      s/^\('"$ac_word_re"'\)\(([^()]*)\)[      ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
-+      s/^\('"$ac_word_re"'\)[  ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
-+  ' >>conftest.defines
-+
-+# Remove the space that was appended to ease matching.
-+# Then replace #undef with comments.  This is necessary, for
- # example, in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
--cat >>conftest.undefs <<\_ACEOF
--s,^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
--_ACEOF
--
--# Break up conftest.defines because some shells have a limit on the size
--# of here documents, and old seds have small limits too (100 cmds).
--echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
--echo '  if grep "^[    ]*#[    ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
--echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
--echo '  :' >>$CONFIG_STATUS
--rm -f conftest.tail
--while grep . conftest.defines >/dev/null
-+# (The regexp can be short, since the line contains either #define or #undef.)
-+echo 's/ $//
-+s,^[   #]*u.*,/* & */,' >>conftest.defines
-+
-+# Break up conftest.defines:
-+ac_max_sed_lines=50
-+
-+# First sed command is:        sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-+# Second one is:       sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-+# Third one will be:   sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-+# et cetera.
-+ac_in='$ac_file_inputs'
-+ac_out='"$tmp/out1"'
-+ac_nxt='"$tmp/out2"'
-+
-+while :
- do
--  # Write a limited-size here document to $tmp/defines.sed.
--  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
--  # Speed up: don't consider the non `#define' lines.
--  echo '/^[    ]*#[    ]*define/!b' >>$CONFIG_STATUS
--  # Work around the forget-to-reset-the-flag bug.
--  echo 't clr' >>$CONFIG_STATUS
--  echo ': clr' >>$CONFIG_STATUS
--  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
-+  # Write a here document:
-+    cat >>$CONFIG_STATUS <<_ACEOF
-+    # First, check the format of the line:
-+    cat >"\$tmp/defines.sed" <<\\CEOF
-+/^[    ]*#[    ]*undef[        ][      ]*$ac_word_re[  ]*\$/b def
-+/^[    ]*#[    ]*define[       ][      ]*$ac_word_re[(         ]/b def
-+b
-+:def
-+_ACEOF
-+  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
-   echo 'CEOF
--  sed -f $tmp/defines.sed $tmp/in >$tmp/out
--  rm -f $tmp/in
--  mv $tmp/out $tmp/in
--' >>$CONFIG_STATUS
--  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
-+    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
-+  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
-+  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
-+  grep . conftest.tail >/dev/null || break
-   rm -f conftest.defines
-   mv conftest.tail conftest.defines
- done
--rm -f conftest.defines
--echo '  fi # grep' >>$CONFIG_STATUS
--echo >>$CONFIG_STATUS
--
--# Break up conftest.undefs because some shells have a limit on the size
--# of here documents, and old seds have small limits too (100 cmds).
--echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
--rm -f conftest.tail
--while grep . conftest.undefs >/dev/null
--do
--  # Write a limited-size here document to $tmp/undefs.sed.
--  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
--  # Speed up: don't consider the non `#undef'
--  echo '/^[    ]*#[    ]*undef/!b' >>$CONFIG_STATUS
--  # Work around the forget-to-reset-the-flag bug.
--  echo 't clr' >>$CONFIG_STATUS
--  echo ': clr' >>$CONFIG_STATUS
--  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
--  echo 'CEOF
--  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
--  rm -f $tmp/in
--  mv $tmp/out $tmp/in
--' >>$CONFIG_STATUS
--  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
--  rm -f conftest.undefs
--  mv conftest.tail conftest.undefs
--done
--rm -f conftest.undefs
-+rm -f conftest.defines conftest.tail
-+echo "ac_result=$ac_in" >>$CONFIG_STATUS
- cat >>$CONFIG_STATUS <<\_ACEOF
--  # Let's still pretend it is `configure' which instantiates (i.e., don't
--  # use $as_me), people would be surprised to read:
--  #    /* config.h.  Generated by config.status.  */
--  if test x"$ac_file" = x-; then
--    echo "/* Generated by configure.  */" >$tmp/config.h
--  else
--    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
--  fi
--  cat $tmp/in >>$tmp/config.h
--  rm -f $tmp/in
-   if test x"$ac_file" != x-; then
--    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
-+    echo "/* $configure_input  */" >"$tmp/config.h"
-+    cat "$ac_result" >>"$tmp/config.h"
-+    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
-       { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
- echo "$as_me: $ac_file is unchanged" >&6;}
-     else
--      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
--$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--       X"$ac_file" : 'X\(//\)[^/]' \| \
--       X"$ac_file" : 'X\(//\)$' \| \
--       X"$ac_file" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
--echo X"$ac_file" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
--      { if $as_mkdir_p; then
--    mkdir -p "$ac_dir"
--  else
--    as_dir="$ac_dir"
--    as_dirs=
--    while test ! -d "$as_dir"; do
--      as_dirs="$as_dir $as_dirs"
--      as_dir=`(dirname "$as_dir") 2>/dev/null ||
--$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--       X"$as_dir" : 'X\(//\)[^/]' \| \
--       X"$as_dir" : 'X\(//\)$' \| \
--       X"$as_dir" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
--echo X"$as_dir" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
--    done
--    test ! -n "$as_dirs" || mkdir $as_dirs
--  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
--echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
--   { (exit 1); exit 1; }; }; }
--
-       rm -f $ac_file
--      mv $tmp/config.h $ac_file
-+      mv "$tmp/config.h" $ac_file
-     fi
-   else
--    cat $tmp/config.h
--    rm -f $tmp/config.h
-+    echo "/* $configure_input  */"
-+    cat "$ac_result"
-   fi
-+  rm -f "$tmp/out12"
- # Compute $ac_file's index in $config_headers.
- _am_stamp_count=1
- for _am_header in $config_headers :; do
-@@ -5207,135 +5982,39 @@ for _am_header in $config_headers :; do
-       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-   esac
- done
--echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
- $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X$ac_file : 'X\(//\)[^/]' \| \
-        X$ac_file : 'X\(//\)$' \| \
--       X$ac_file : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
- echo X$ac_file |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`/stamp-h$_am_stamp_count
--done
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--
--#
--# CONFIG_COMMANDS section.
--#
--for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
--  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
--  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
--  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
--$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--       X"$ac_dest" : 'X\(//\)[^/]' \| \
--       X"$ac_dest" : 'X\(//\)$' \| \
--       X"$ac_dest" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
--echo X"$ac_dest" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
--  { if $as_mkdir_p; then
--    mkdir -p "$ac_dir"
--  else
--    as_dir="$ac_dir"
--    as_dirs=
--    while test ! -d "$as_dir"; do
--      as_dirs="$as_dir $as_dirs"
--      as_dir=`(dirname "$as_dir") 2>/dev/null ||
--$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--       X"$as_dir" : 'X\(//\)[^/]' \| \
--       X"$as_dir" : 'X\(//\)$' \| \
--       X"$as_dir" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
--echo X"$as_dir" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
--    done
--    test ! -n "$as_dirs" || mkdir $as_dirs
--  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
--echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
--   { (exit 1); exit 1; }; }; }
--
--  ac_builddir=.
--
--if test "$ac_dir" != .; then
--  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
--  # A "../" for each directory in $ac_dir_suffix.
--  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
--  ac_dir_suffix= ac_top_builddir=
--fi
--
--case $srcdir in
--  .)  # No --srcdir option.  We are building in place.
--    ac_srcdir=.
--    if test -z "$ac_top_builddir"; then
--       ac_top_srcdir=.
--    else
--       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
--    fi ;;
--  [\\/]* | ?:[\\/]* )  # Absolute path.
--    ac_srcdir=$srcdir$ac_dir_suffix;
--    ac_top_srcdir=$srcdir ;;
--  *) # Relative path.
--    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
--    ac_top_srcdir=$ac_top_builddir$srcdir ;;
--esac
-+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)[^/].*/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`/stamp-h$_am_stamp_count
-+ ;;
--# Do not use `cd foo && pwd` to compute absolute paths, because
--# the directories may not exist.
--case `pwd` in
--.) ac_abs_builddir="$ac_dir";;
--*)
--  case "$ac_dir" in
--  .) ac_abs_builddir=`pwd`;;
--  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
--  *) ac_abs_builddir=`pwd`/"$ac_dir";;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_builddir=${ac_top_builddir}.;;
--*)
--  case ${ac_top_builddir}. in
--  .) ac_abs_top_builddir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
--  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_srcdir=$ac_srcdir;;
--*)
--  case $ac_srcdir in
--  .) ac_abs_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
--  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_srcdir=$ac_top_srcdir;;
--*)
--  case $ac_top_srcdir in
--  .) ac_abs_top_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
--  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
--  esac;;
--esac
-+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-+echo "$as_me: executing $ac_file commands" >&6;}
-+ ;;
-+  esac
--  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
--echo "$as_me: executing $ac_dest commands" >&6;}
--  case $ac_dest in
--    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-+  case $ac_file$ac_mode in
-+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-   # Strip MF so we end up with the name of the file.
-   mf=`echo "$mf" | sed -e 's/:.*$//'`
-   # Check whether this is an Automake generated Makefile or not.
-@@ -5343,20 +6022,32 @@ echo "$as_me: executing $ac_dest commands" >&6;}
-   # some people rename them; so instead we look at the file content.
-   # Grep'ing the first line is not enough: some people post-process
-   # each Makefile.in and add a new line on top of each file to say so.
--  # So let's grep whole file.
--  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
--    dirpart=`(dirname "$mf") 2>/dev/null ||
-+  # Grep'ing the whole file is not good either: AIX grep has a line
-+  # limit of 2048, but all sed's we know have understand at least 4000.
-+  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
-+    dirpart=`$as_dirname -- "$mf" ||
- $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
--       X"$mf" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$mf" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
-+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)[^/].*/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
-   else
-     continue
-   fi
-@@ -5378,53 +6069,79 @@ echo X"$mf" |
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-     # Make sure the directory exists.
-     test -f "$dirpart/$file" && continue
--    fdir=`(dirname "$file") 2>/dev/null ||
-+    fdir=`$as_dirname -- "$file" ||
- $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
--       X"$file" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$file" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$file" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
--    { if $as_mkdir_p; then
--    mkdir -p $dirpart/$fdir
--  else
--    as_dir=$dirpart/$fdir
-+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)[^/].*/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
-+    { as_dir=$dirpart/$fdir
-+  case $as_dir in #(
-+  -*) as_dir=./$as_dir;;
-+  esac
-+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-     as_dirs=
--    while test ! -d "$as_dir"; do
--      as_dirs="$as_dir $as_dirs"
--      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-+    while :; do
-+      case $as_dir in #(
-+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-+      *) as_qdir=$as_dir;;
-+      esac
-+      as_dirs="'$as_qdir' $as_dirs"
-+      as_dir=`$as_dirname -- "$as_dir" ||
- $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
--       X"$as_dir" : 'X\(/\)' \| \
--       .     : '\(.\)' 2>/dev/null ||
-+       X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$as_dir" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--        /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--        /^X\(\/\/\)$/{ s//\1/; q; }
--        /^X\(\/\).*/{ s//\1/; q; }
--        s/.*/./; q'`
-+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)[^/].*/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\/\)$/{
-+          s//\1/
-+          q
-+        }
-+        /^X\(\/\).*/{
-+          s//\1/
-+          q
-+        }
-+        s/.*/./; q'`
-+      test -d "$as_dir" && break
-     done
--    test ! -n "$as_dirs" || mkdir $as_dirs
--  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
--echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
-+    test -z "$as_dirs" || eval "mkdir $as_dirs"
-+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-+echo "$as_me: error: cannot create directory $as_dir" >&2;}
-    { (exit 1); exit 1; }; }; }
--
-     # echo "creating $dirpart/$file"
-     echo '# dummy' > "$dirpart/$file"
-   done
- done
-  ;;
-+
-   esac
--done
--_ACEOF
-+done # for ac_tag
--cat >>$CONFIG_STATUS <<\_ACEOF
- { (exit 0); exit 0; }
- _ACEOF
-diff --git a/src/Makefile.in b/src/Makefile.in
-index d5fb876..2b2ba34 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -1,8 +1,8 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.10 from Makefile.am.
- # @configure_input@
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--# 2003, 2004, 2005  Free Software Foundation, Inc.
-+# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
-@@ -14,17 +14,11 @@
- @SET_MAKE@
--SOURCES = $(dash_SOURCES)
--
--srcdir = @srcdir@
--top_srcdir = @top_srcdir@
- VPATH = @srcdir@
- pkgdatadir = $(datadir)/@PACKAGE@
- pkglibdir = $(libdir)/@PACKAGE@
- pkgincludedir = $(includedir)/@PACKAGE@
--top_builddir = ..
- am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
--INSTALL = @INSTALL@
- install_sh_DATA = $(install_sh) -c -m 644
- install_sh_PROGRAM = $(install_sh) -c
- install_sh_SCRIPT = $(install_sh) -c
-@@ -38,8 +32,7 @@ PRE_UNINSTALL = :
- POST_UNINSTALL = :
- bin_PROGRAMS = dash$(EXEEXT)
- subdir = src
--DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in arith.c \
--      arith.h
-+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/configure.ac
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-@@ -50,25 +43,25 @@ CONFIG_CLEAN_FILES =
- am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
- binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
- PROGRAMS = $(bin_PROGRAMS)
--am__objects_1 = alias.$(OBJEXT) arith_yylex.$(OBJEXT) cd.$(OBJEXT) \
--      error.$(OBJEXT) eval.$(OBJEXT) exec.$(OBJEXT) expand.$(OBJEXT) \
-+am__objects_1 = alias.$(OBJEXT) arith_yacc.$(OBJEXT) \
-+      arith_yylex.$(OBJEXT) cd.$(OBJEXT) error.$(OBJEXT) \
-+      eval.$(OBJEXT) exec.$(OBJEXT) expand.$(OBJEXT) \
-       histedit.$(OBJEXT) input.$(OBJEXT) jobs.$(OBJEXT) \
-       mail.$(OBJEXT) main.$(OBJEXT) memalloc.$(OBJEXT) \
-       miscbltin.$(OBJEXT) mystring.$(OBJEXT) options.$(OBJEXT) \
-       parser.$(OBJEXT) redir.$(OBJEXT) show.$(OBJEXT) trap.$(OBJEXT) \
-       output.$(OBJEXT) printf.$(OBJEXT) system.$(OBJEXT) \
-       test.$(OBJEXT) times.$(OBJEXT) var.$(OBJEXT)
--am_dash_OBJECTS = $(am__objects_1) arith.$(OBJEXT)
-+am_dash_OBJECTS = $(am__objects_1)
- dash_OBJECTS = $(am_dash_OBJECTS)
- dash_DEPENDENCIES = builtins.o init.o nodes.o signames.o syntax.o
--DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
- COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- CCLD = $(CC)
- LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
--YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
- SOURCES = $(dash_SOURCES)
- DIST_SOURCES = $(dash_SOURCES)
- man1dir = $(mandir)/man1
-@@ -78,8 +71,6 @@ ETAGS = etags
- CTAGS = ctags
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- ACLOCAL = @ACLOCAL@
--AMDEP_FALSE = @AMDEP_FALSE@
--AMDEP_TRUE = @AMDEP_TRUE@
- AMTAR = @AMTAR@
- AUTOCONF = @AUTOCONF@
- AUTOHEADER = @AUTOHEADER@
-@@ -99,6 +90,8 @@ ECHO_N = @ECHO_N@
- ECHO_T = @ECHO_T@
- EGREP = @EGREP@
- EXEEXT = @EXEEXT@
-+GREP = @GREP@
-+INSTALL = @INSTALL@
- INSTALL_DATA = @INSTALL_DATA@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
-@@ -108,6 +101,7 @@ LIBOBJS = @LIBOBJS@
- LIBS = @LIBS@
- LTLIBOBJS = @LTLIBOBJS@
- MAKEINFO = @MAKEINFO@
-+MKDIR_P = @MKDIR_P@
- OBJEXT = @OBJEXT@
- PACKAGE = @PACKAGE@
- PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-@@ -121,10 +115,12 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- VERSION = @VERSION@
- YACC = @YACC@
-+YFLAGS = @YFLAGS@
-+abs_builddir = @abs_builddir@
-+abs_srcdir = @abs_srcdir@
-+abs_top_builddir = @abs_top_builddir@
-+abs_top_srcdir = @abs_top_srcdir@
- ac_ct_CC = @ac_ct_CC@
--ac_ct_STRIP = @ac_ct_STRIP@
--am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
--am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__include = @am__include@
- am__leading_dot = @am__leading_dot@
- am__quote = @am__quote@
-@@ -132,30 +128,41 @@ am__tar = @am__tar@
- am__untar = @am__untar@
- bindir = @bindir@
- build_alias = @build_alias@
-+builddir = @builddir@
- datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
- exec_prefix = @exec_prefix@
- host_alias = @host_alias@
-+htmldir = @htmldir@
- includedir = @includedir@
- infodir = @infodir@
- install_sh = @install_sh@
- libdir = @libdir@
- libexecdir = @libexecdir@
-+localedir = @localedir@
- localstatedir = @localstatedir@
- mandir = @mandir@
- mkdir_p = @mkdir_p@
- oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
- prefix = @prefix@
- program_transform_name = @program_transform_name@
-+psdir = @psdir@
- sbindir = @sbindir@
- sharedstatedir = @sharedstatedir@
-+srcdir = @srcdir@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
-+top_builddir = @top_builddir@
-+top_srcdir = @top_srcdir@
- AM_YFLAGS = -d
- COMMON_CFLAGS = -Wall
- COMMON_CPPFLAGS = \
-       -include $(top_builddir)/config.h \
-       -DBSD=1 -DSHELL \
--      -DGLOB_BROKEN -DFNMATCH_BROKEN -DIFS_BROKEN
-+      -DIFS_BROKEN
- AM_CFLAGS = $(COMMON_CFLAGS)
- AM_CPPFLAGS = $(COMMON_CPPFLAGS)
-@@ -166,13 +173,13 @@ COMPILE_FOR_BUILD = \
-       $(AM_CFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) 
- dash_CFILES = \
--      alias.c arith_yylex.c cd.c error.c eval.c exec.c expand.c \
-+      alias.c arith_yacc.c arith_yylex.c cd.c error.c eval.c exec.c expand.c \
-       histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
-       mystring.c options.c parser.c redir.c show.c trap.c output.c \
-       bltin/printf.c system.c bltin/test.c bltin/times.c var.c
- dash_SOURCES = \
--      $(dash_CFILES) arith.y \
-+      $(dash_CFILES) \
-       alias.h bltin/bltin.h cd.h error.h eval.h exec.h expand.h hetio.h \
-       init.h input.h jobs.h machdep.h mail.h main.h memalloc.h miscbltin.h \
-       myhistedit.h mystring.h options.h output.h parser.h redir.h shell.h \
-@@ -180,10 +187,10 @@ dash_SOURCES = \
- dash_LDADD = builtins.o init.o nodes.o signames.o syntax.o
- HELPERS = mkinit mksyntax mknodes mksignames
--BUILT_SOURCES = arith.h builtins.h nodes.h syntax.h token.h
-+BUILT_SOURCES = builtins.h nodes.h syntax.h token.h
- CLEANFILES = \
-       $(BUILT_SOURCES) $(patsubst %.o,%.c,$(dash_LDADD)) \
--      arith.c $(HELPERS) builtins.def
-+      $(HELPERS) builtins.def
- man_MANS = dash.1
- EXTRA_DIST = \
-@@ -195,7 +202,7 @@ all: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) all-am
- .SUFFIXES:
--.SUFFIXES: .c .o .obj .y
-+.SUFFIXES: .c .o .obj
- $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-@@ -227,7 +234,7 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-binPROGRAMS: $(bin_PROGRAMS)
-       @$(NORMAL_INSTALL)
--      test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
-+      test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-       @list='$(bin_PROGRAMS)'; for p in $$list; do \
-         p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-         if test -f $$p \
-@@ -248,14 +255,9 @@ uninstall-binPROGRAMS:
- clean-binPROGRAMS:
-       -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
--arith.h: arith.c
--      @if test ! -f $@; then \
--        rm -f arith.c; \
--        $(MAKE) arith.c; \
--      else :; fi
- dash$(EXEEXT): $(dash_OBJECTS) $(dash_DEPENDENCIES) 
-       @rm -f dash$(EXEEXT)
--      $(LINK) $(dash_LDFLAGS) $(dash_OBJECTS) $(dash_LDADD) $(LIBS)
-+      $(LINK) $(dash_OBJECTS) $(dash_LDADD) $(LIBS)
- mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-@@ -264,7 +266,7 @@ distclean-compile:
-       -rm -f *.tab.c
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alias.Po@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arith.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arith_yacc.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arith_yylex.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cd.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
-@@ -292,85 +294,63 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/var.Po@am__quote@
- .c.o:
--@am__fastdepCC_TRUE@  if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(COMPILE) -c $<
- .c.obj:
--@am__fastdepCC_TRUE@  if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
- printf.o: bltin/printf.c
--@am__fastdepCC_TRUE@  if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT printf.o -MD -MP -MF "$(DEPDIR)/printf.Tpo" -c -o printf.o `test -f 'bltin/printf.c' || echo '$(srcdir)/'`bltin/printf.c; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/printf.Tpo" "$(DEPDIR)/printf.Po"; else rm -f "$(DEPDIR)/printf.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT printf.o -MD -MP -MF $(DEPDIR)/printf.Tpo -c -o printf.o `test -f 'bltin/printf.c' || echo '$(srcdir)/'`bltin/printf.c
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/printf.Tpo $(DEPDIR)/printf.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='bltin/printf.c' object='printf.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o printf.o `test -f 'bltin/printf.c' || echo '$(srcdir)/'`bltin/printf.c
- printf.obj: bltin/printf.c
--@am__fastdepCC_TRUE@  if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT printf.obj -MD -MP -MF "$(DEPDIR)/printf.Tpo" -c -o printf.obj `if test -f 'bltin/printf.c'; then $(CYGPATH_W) 'bltin/printf.c'; else $(CYGPATH_W) '$(srcdir)/bltin/printf.c'; fi`; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/printf.Tpo" "$(DEPDIR)/printf.Po"; else rm -f "$(DEPDIR)/printf.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT printf.obj -MD -MP -MF $(DEPDIR)/printf.Tpo -c -o printf.obj `if test -f 'bltin/printf.c'; then $(CYGPATH_W) 'bltin/printf.c'; else $(CYGPATH_W) '$(srcdir)/bltin/printf.c'; fi`
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/printf.Tpo $(DEPDIR)/printf.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='bltin/printf.c' object='printf.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o printf.obj `if test -f 'bltin/printf.c'; then $(CYGPATH_W) 'bltin/printf.c'; else $(CYGPATH_W) '$(srcdir)/bltin/printf.c'; fi`
- test.o: bltin/test.c
--@am__fastdepCC_TRUE@  if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test.o -MD -MP -MF "$(DEPDIR)/test.Tpo" -c -o test.o `test -f 'bltin/test.c' || echo '$(srcdir)/'`bltin/test.c; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/test.Tpo" "$(DEPDIR)/test.Po"; else rm -f "$(DEPDIR)/test.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test.o -MD -MP -MF $(DEPDIR)/test.Tpo -c -o test.o `test -f 'bltin/test.c' || echo '$(srcdir)/'`bltin/test.c
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/test.Tpo $(DEPDIR)/test.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='bltin/test.c' object='test.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test.o `test -f 'bltin/test.c' || echo '$(srcdir)/'`bltin/test.c
- test.obj: bltin/test.c
--@am__fastdepCC_TRUE@  if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test.obj -MD -MP -MF "$(DEPDIR)/test.Tpo" -c -o test.obj `if test -f 'bltin/test.c'; then $(CYGPATH_W) 'bltin/test.c'; else $(CYGPATH_W) '$(srcdir)/bltin/test.c'; fi`; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/test.Tpo" "$(DEPDIR)/test.Po"; else rm -f "$(DEPDIR)/test.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test.obj -MD -MP -MF $(DEPDIR)/test.Tpo -c -o test.obj `if test -f 'bltin/test.c'; then $(CYGPATH_W) 'bltin/test.c'; else $(CYGPATH_W) '$(srcdir)/bltin/test.c'; fi`
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/test.Tpo $(DEPDIR)/test.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='bltin/test.c' object='test.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test.obj `if test -f 'bltin/test.c'; then $(CYGPATH_W) 'bltin/test.c'; else $(CYGPATH_W) '$(srcdir)/bltin/test.c'; fi`
- times.o: bltin/times.c
--@am__fastdepCC_TRUE@  if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT times.o -MD -MP -MF "$(DEPDIR)/times.Tpo" -c -o times.o `test -f 'bltin/times.c' || echo '$(srcdir)/'`bltin/times.c; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/times.Tpo" "$(DEPDIR)/times.Po"; else rm -f "$(DEPDIR)/times.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT times.o -MD -MP -MF $(DEPDIR)/times.Tpo -c -o times.o `test -f 'bltin/times.c' || echo '$(srcdir)/'`bltin/times.c
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/times.Tpo $(DEPDIR)/times.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='bltin/times.c' object='times.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o times.o `test -f 'bltin/times.c' || echo '$(srcdir)/'`bltin/times.c
- times.obj: bltin/times.c
--@am__fastdepCC_TRUE@  if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT times.obj -MD -MP -MF "$(DEPDIR)/times.Tpo" -c -o times.obj `if test -f 'bltin/times.c'; then $(CYGPATH_W) 'bltin/times.c'; else $(CYGPATH_W) '$(srcdir)/bltin/times.c'; fi`; \
--@am__fastdepCC_TRUE@  then mv -f "$(DEPDIR)/times.Tpo" "$(DEPDIR)/times.Po"; else rm -f "$(DEPDIR)/times.Tpo"; exit 1; fi
-+@am__fastdepCC_TRUE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT times.obj -MD -MP -MF $(DEPDIR)/times.Tpo -c -o times.obj `if test -f 'bltin/times.c'; then $(CYGPATH_W) 'bltin/times.c'; else $(CYGPATH_W) '$(srcdir)/bltin/times.c'; fi`
-+@am__fastdepCC_TRUE@  mv -f $(DEPDIR)/times.Tpo $(DEPDIR)/times.Po
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     source='bltin/times.c' object='times.obj' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o times.obj `if test -f 'bltin/times.c'; then $(CYGPATH_W) 'bltin/times.c'; else $(CYGPATH_W) '$(srcdir)/bltin/times.c'; fi`
--
--.y.c:
--      $(YACCCOMPILE) $<
--      if test -f y.tab.h; then \
--        to=`echo "$*_H" | sed \
--                -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
--                -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
--        sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \
--            y.tab.h >$*.ht; \
--        rm -f y.tab.h; \
--        if cmp -s $*.ht $*.h; then \
--          rm -f $*.ht ;\
--        else \
--          mv $*.ht $*.h; \
--        fi; \
--      fi
--      if test -f y.output; then \
--        mv y.output $*.output; \
--      fi
--      sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@
--      rm -f y.tab.c
--uninstall-info-am:
- install-man1: $(man1_MANS) $(man_MANS)
-       @$(NORMAL_INSTALL)
--      test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
-+      test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-       l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-       for i in $$l2; do \
-@@ -463,22 +443,21 @@ distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
- distdir: $(DISTFILES)
--      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
--      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
--      list='$(DISTFILES)'; for file in $$list; do \
--        case $$file in \
--          $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
--          $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
--        esac; \
-+      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+      list='$(DISTFILES)'; \
-+        dist_files=`for file in $$list; do echo $$file; done | \
-+        sed -e "s|^$$srcdirstrip/||;t" \
-+            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-+      case $$dist_files in \
-+        */*) $(MKDIR_P) `echo "$$dist_files" | \
-+                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-+                         sort -u` ;; \
-+      esac; \
-+      for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
--        dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
--        if test "$$dir" != "$$file" && test "$$dir" != "."; then \
--          dir="/$$dir"; \
--          $(mkdir_p) "$(distdir)$$dir"; \
--        else \
--          dir=''; \
--        fi; \
-         if test -d $$d/$$file; then \
-+          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-@@ -495,7 +474,7 @@ check: $(BUILT_SOURCES)
- all-am: Makefile $(PROGRAMS) $(MANS)
- installdirs:
-       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
--        test -z "$$dir" || $(mkdir_p) "$$dir"; \
-+        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
- install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-am
-@@ -523,8 +502,6 @@ distclean-generic:
- maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
--      -rm -f arith.c
--      -rm -f arith.h
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
- clean: clean-am
-@@ -548,12 +525,20 @@ info-am:
- install-data-am: install-man
-+install-dvi: install-dvi-am
-+
- install-exec-am: install-binPROGRAMS
-+install-html: install-html-am
-+
- install-info: install-info-am
- install-man: install-man1
-+install-pdf: install-pdf-am
-+
-+install-ps: install-ps-am
-+
- installcheck-am:
- maintainer-clean: maintainer-clean-am
-@@ -573,21 +558,25 @@ ps: ps-am
- ps-am:
--uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man
-+uninstall-am: uninstall-binPROGRAMS uninstall-man
- uninstall-man: uninstall-man1
-+.MAKE: install-am install-strip
-+
- .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
-       distclean-generic distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-binPROGRAMS \
--      install-data install-data-am install-exec install-exec-am \
-+      install-data install-data-am install-dvi install-dvi-am \
-+      install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-man1 \
-+      install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-binPROGRAMS \
--      uninstall-info-am uninstall-man uninstall-man1
-+      uninstall-man uninstall-man1
- token.h: mktokens
--- 
-1.5.5
-
-From faf3a201e33ee8012c1f3e19bc249f9307924cf1 Mon Sep 17 00:00:00 2001
-From: Larry Doolittle <ldoolitt@recycle.lbl.gov>
-Date: Sun, 2 Mar 2008 21:14:35 +0000
-Subject: [PATCH] Fix null pointer dereference
-
-This is a real bug in upstream dash, which has existed since at
-least dash-0.5.1 (July 2004).  It is a latent bug in cmdtxt()
-(which I think applies only to pipes) as it handles "if" commands.
-The attached patch fixes it for me.
-
-Test case:
-
- dash -ic 'if true; then for x in foo; do echo bar; done; fi | cat'
----
- src/jobs.c |    5 +++--
- 1 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/jobs.c b/src/jobs.c
-index 529d615..40dc8f6 100644
---- a/src/jobs.c
-+++ b/src/jobs.c
-@@ -1235,11 +1235,12 @@ donode:
-               cmdputs("if ");
-               cmdtxt(n->nif.test);
-               cmdputs("; then ");
--              n = n->nif.ifpart;
-               if (n->nif.elsepart) {
--                      cmdtxt(n);
-+                      cmdtxt(n->nif.ifpart);
-                       cmdputs("; else ");
-                       n = n->nif.elsepart;
-+              } else {
-+                      n = n->nif.ifpart;
-               }
-               p = "; fi";
-               goto dotail;
--- 
-1.5.5
-
-From b02cef8334c317394bab008475659693d8447244 Mon Sep 17 00:00:00 2001
-From: Gerrit Pape <pape@smarden.org>
-Date: Tue, 25 Mar 2008 19:44:45 +0000
-Subject: [PATCH] Fix bitwise AND and OR operator parsing
-
-The parser used to skip a byte when parsing the & and | operators, testcase:
-
- $ dash -c 'echo $((7&1))'
- $ dash -c 'echo $((7& 1))'
- $ dash -c 'echo $((7&11))'
----
- src/arith_yylex.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/src/arith_yylex.c b/src/arith_yylex.c
-index 2c15657..ef8e3e3 100644
---- a/src/arith_yylex.c
-+++ b/src/arith_yylex.c
-@@ -173,6 +173,7 @@ checkeq:
-               case '|':
-                       if (*++buf != '|') {
-                               value += ARITH_BOR - '|';
-+                              --buf;
-                               goto checkeq;
-                       }
-                       value += ARITH_OR - '|';
-@@ -180,6 +181,7 @@ checkeq:
-               case '&':
-                       if (*++buf != '&') {
-                               value += ARITH_BAND - '&';
-+                              --buf;
-                               goto checkeq;
-                       }
-                       value += ARITH_AND - '&';
--- 
-1.5.5
-
index 3040c295f6ce93a9f11f2c8e25db41ffafe81b8b..acb7d8c811a475428eb78e0ff322fd5e480fbbe4 100644 (file)
--- a/dash.spec
+++ b/dash.spec
@@ -1,13 +1,12 @@
 Summary:       POSIX-compliant implementation of /bin/sh
 Summary(pl.UTF-8):     Zgodna z POSIX implementacja /bin/sh
 Name:          dash
-Version:       0.5.4
-Release:       2
+Version:       0.5.5.1
+Release:       1
 License:       GPL v2+
 Group:         Applications/Shells
 Source0:       http://gondor.apana.org.au/~herbert/dash/files/%{name}-%{version}.tar.gz
-# Source0-md5: bc457e490a589d2f87f2333616b67931
-Patch0:                %{name}-debian.patch
+# Source0-md5: 7ac832b440b91f5a52cf8eb68e172616
 URL:           http://gondor.apana.org.au/~herbert/dash/
 Requires(post):        grep
 Requires(preun):       sed >= 4.0
@@ -36,7 +35,6 @@ SHell).
 
 %prep
 %setup -q
-%patch0 -p1
 
 %build
 %configure
This page took 1.209059 seconds and 4 git commands to generate.