From 6cfa9f8126c1d6ec26f120d273e714fb19108873 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 4 Aug 2019 16:32:41 -0700
Subject: [PATCH] Include config.h

This helps avoid the include conflicts where <stdlib.h> is including
<math.h> and since -I./lib is used and a local math.h wrapper is
residing in there, the build breaks since stdlib.h really wants the
standard system math.h to be included, this ensures that right macros
are predefined and included before stdlib.h is included

fixes
In file included from src/libs/libgroff/assert.cpp:20:
In file included from TOPDIR/build/tmp/work/aarch64-yoe-linux-musl/groff/1.22.4-r0/recipe-sysroot/usr/include/c++/v1/stdlib.h:100:
./lib/math.h:38:3: error: "Please include config.h first."
 #error "Please include config.h first."
  ^
./lib/math.h:40:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN'

Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 src/libs/libgroff/assert.cpp  |   4 +
 src/libs/libgroff/curtime.cpp |   4 +
 src/libs/libgroff/device.cpp  |   4 +
 src/libs/libgroff/error.cpp   |   4 +
 src/libs/libgroff/fatal.cpp   |   4 +
 src/libs/libgroff/string.cpp  |   4 +
 src/libs/libgroff/strsave.cpp |   4 +
 src/preproc/eqn/eqn.cpp       | 450 ++++++++++++++++++----------------
 src/preproc/eqn/eqn.hpp       |  12 +-
 src/preproc/eqn/eqn.ypp       |   4 +
 src/preproc/eqn/other.cpp     |   4 +
 src/preproc/eqn/text.cpp      |   4 +
 src/preproc/pic/object.cpp    |   4 +
 13 files changed, 285 insertions(+), 221 deletions(-)

diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp
index aceed05..97780d6 100644
--- a/src/libs/libgroff/assert.cpp
+++ b/src/libs/libgroff/assert.cpp
@@ -16,6 +16,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include "assert.h"
diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp
index 72fe067..9ddba08 100644
--- a/src/libs/libgroff/curtime.cpp
+++ b/src/libs/libgroff/curtime.cpp
@@ -15,6 +15,10 @@ for more details.
 The GNU General Public License version 2 (GPL2) is available in the
 internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <errno.h>
 #include <limits.h>
 #include <stdlib.h>
diff --git a/src/libs/libgroff/device.cpp b/src/libs/libgroff/device.cpp
index 0d28b85..c211f85 100644
--- a/src/libs/libgroff/device.cpp
+++ b/src/libs/libgroff/device.cpp
@@ -17,6 +17,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdlib.h>
 #include "device.h"
 #include "defs.h"
diff --git a/src/libs/libgroff/error.cpp b/src/libs/libgroff/error.cpp
index 9a18803..7b63d3d 100644
--- a/src/libs/libgroff/error.cpp
+++ b/src/libs/libgroff/error.cpp
@@ -17,6 +17,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/src/libs/libgroff/fatal.cpp b/src/libs/libgroff/fatal.cpp
index c0dcb35..fd6003e 100644
--- a/src/libs/libgroff/fatal.cpp
+++ b/src/libs/libgroff/fatal.cpp
@@ -16,6 +16,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdlib.h>
 
 #define FATAL_ERROR_EXIT_CODE 3
diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
index 46c015c..449f3a6 100644
--- a/src/libs/libgroff/string.cpp
+++ b/src/libs/libgroff/string.cpp
@@ -17,6 +17,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdlib.h>
 
 #include "lib.h"
diff --git a/src/libs/libgroff/strsave.cpp b/src/libs/libgroff/strsave.cpp
index f95c05e..d875045 100644
--- a/src/libs/libgroff/strsave.cpp
+++ b/src/libs/libgroff/strsave.cpp
@@ -17,6 +17,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <string.h>
 #include <stdlib.h>
 
diff --git a/src/preproc/eqn/eqn.cpp b/src/preproc/eqn/eqn.cpp
index 4ede465..fdd9484 100644
--- a/src/preproc/eqn/eqn.cpp
+++ b/src/preproc/eqn/eqn.cpp
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.2.  */
+/* A Bison parser, made by GNU Bison 3.4.1.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -47,7 +48,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.2"
+#define YYBISON_VERSION "3.4.1"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -65,7 +66,11 @@
 
 
 /* First part of user prologue.  */
-#line 18 "../src/preproc/eqn/eqn.ypp" /* yacc.c:338  */
+#line 18 "src/preproc/eqn/eqn.ypp"
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
 
 #include <stdio.h>
 #include <string.h>
@@ -77,7 +82,8 @@ extern int non_empty_flag;
 int yylex();
 void yyerror(const char *);
 
-#line 81 "src/preproc/eqn/eqn.cpp" /* yacc.c:338  */
+#line 86 "src/preproc/eqn/eqn.cpp"
+
 # ifndef YY_NULLPTR
 #  if defined __cplusplus
 #   if 201103L <= __cplusplus
@@ -98,8 +104,8 @@ void yyerror(const char *);
 # define YYERROR_VERBOSE 0
 #endif
 
-/* In a future release of Bison, this section will be replaced
-   by #include "y.tab.h".  */
+/* Use api.header.include to #include this header
+   instead of duplicating it here.  */
 #ifndef YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
 # define YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
 /* Debug traces.  */
@@ -237,10 +243,9 @@ extern int yydebug;
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
 union YYSTYPE
 {
-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:353  */
+#line 34 "src/preproc/eqn/eqn.ypp"
 
 	char *str;
 	box *b;
@@ -249,9 +254,9 @@ union YYSTYPE
 	int n;
 	column *col;
 
-#line 253 "src/preproc/eqn/eqn.cpp" /* yacc.c:353  */
-};
+#line 258 "src/preproc/eqn/eqn.cpp"
 
+};
 typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
@@ -366,6 +371,8 @@ typedef short yytype_int16;
 #endif
 
 
+#define YY_ASSERT(E) ((void) (0 && (E)))
+
 #if ! defined yyoverflow || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
@@ -508,16 +515,16 @@ union yyalloc
 /* YYNSTATES -- Number of states.  */
 #define YYNSTATES  142
 
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
-   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   315
 
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
-   as returned by yylex, without out-of-bounds checking.  */
+   as returned by yylex.  */
 static const yytype_uint8 yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,    63,
@@ -558,14 +565,14 @@ static const yytype_uint8 yytranslate[] =
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   121,   121,   123,   128,   130,   141,   143,   145,   150,
-     152,   154,   156,   158,   163,   165,   167,   169,   174,   176,
-     181,   183,   185,   190,   192,   194,   196,   198,   200,   202,
-     204,   206,   208,   210,   212,   214,   216,   218,   220,   222,
-     224,   226,   228,   230,   232,   234,   236,   238,   240,   242,
-     244,   246,   248,   250,   252,   254,   259,   269,   271,   276,
-     278,   283,   285,   290,   292,   297,   299,   304,   306,   308,
-     310,   314,   316,   321,   323,   325
+       0,   125,   125,   127,   132,   134,   145,   147,   149,   154,
+     156,   158,   160,   162,   167,   169,   171,   173,   178,   180,
+     185,   187,   189,   194,   196,   198,   200,   202,   204,   206,
+     208,   210,   212,   214,   216,   218,   220,   222,   224,   226,
+     228,   230,   232,   234,   236,   238,   240,   242,   244,   246,
+     248,   250,   252,   254,   256,   258,   263,   273,   275,   280,
+     282,   287,   289,   294,   296,   301,   303,   308,   310,   312,
+     314,   318,   320,   325,   327,   329
 };
 #endif
 
@@ -818,22 +825,22 @@ static const yytype_uint8 yyr2[] =
 
 #define YYRECOVERING()  (!!yyerrstatus)
 
-#define YYBACKUP(Token, Value)                                  \
-do                                                              \
-  if (yychar == YYEMPTY)                                        \
-    {                                                           \
-      yychar = (Token);                                         \
-      yylval = (Value);                                         \
-      YYPOPSTACK (yylen);                                       \
-      yystate = *yyssp;                                         \
-      goto yybackup;                                            \
-    }                                                           \
-  else                                                          \
-    {                                                           \
-      yyerror (YY_("syntax error: cannot back up")); \
-      YYERROR;                                                  \
-    }                                                           \
-while (0)
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
 
 /* Error token number */
 #define YYTERROR        1
@@ -948,7 +955,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       yy_symbol_print (stderr,
                        yystos[yyssp[yyi + 1 - yynrhs]],
-                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                       &yyvsp[(yyi + 1) - (yynrhs)]
                                               );
       YYFPRINTF (stderr, "\n");
     }
@@ -1052,7 +1059,10 @@ yytnamerr (char *yyres, const char *yystr)
           case '\\':
             if (*++yyp != '\\')
               goto do_not_strip_quotes;
-            /* Fall through.  */
+            else
+              goto append;
+
+          append:
           default:
             if (yyres)
               yyres[yyn] = *yyp;
@@ -1148,10 +1158,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yyarg[yycount++] = yytname[yyx];
                 {
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
-                  if (! (yysize <= yysize1
-                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+                    yysize = yysize1;
+                  else
                     return 2;
-                  yysize = yysize1;
                 }
               }
         }
@@ -1175,9 +1185,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 
   {
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
-    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+      yysize = yysize1;
+    else
       return 2;
-    yysize = yysize1;
   }
 
   if (*yymsg_alloc < yysize)
@@ -1303,23 +1314,33 @@ yyparse (void)
   yychar = YYEMPTY; /* Cause a token to be read.  */
   goto yysetstate;
 
+
 /*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
+| yynewstate -- push a new state, which is found in yystate.  |
 `------------------------------------------------------------*/
- yynewstate:
+yynewstate:
   /* In all cases, when you get here, the value and location stacks
      have just been pushed.  So pushing a state here evens the stacks.  */
   yyssp++;
 
- yysetstate:
+
+/*--------------------------------------------------------------------.
+| yynewstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
   *yyssp = (yytype_int16) yystate;
 
   if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    goto yyexhaustedlab;
+#else
     {
       /* Get the current used size of the three stacks, in elements.  */
       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
 
-#ifdef yyoverflow
+# if defined yyoverflow
       {
         /* Give user a chance to reallocate the stack.  Use copies of
            these so that the &'s don't force the real ones into
@@ -1338,10 +1359,7 @@ yyparse (void)
         yyss = yyss1;
         yyvs = yyvs1;
       }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
         goto yyexhaustedlab;
@@ -1357,12 +1375,11 @@ yyparse (void)
           goto yyexhaustedlab;
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-#  undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
         if (yyss1 != yyssa)
           YYSTACK_FREE (yyss1);
       }
 # endif
-#endif /* no yyoverflow */
 
       yyssp = yyss + yysize - 1;
       yyvsp = yyvs + yysize - 1;
@@ -1373,19 +1390,18 @@ yyparse (void)
       if (yyss + yystacksize - 1 <= yyssp)
         YYABORT;
     }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
 
   if (yystate == YYFINAL)
     YYACCEPT;
 
   goto yybackup;
 
+
 /*-----------.
 | yybackup.  |
 `-----------*/
 yybackup:
-
   /* Do appropriate processing given the current state.  Read a
      lookahead token if we need one and don't already have one.  */
 
@@ -1443,7 +1459,6 @@ yybackup:
   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
   YY_IGNORE_MAYBE_UNINITIALIZED_END
-
   goto yynewstate;
 
 
@@ -1458,7 +1473,7 @@ yydefault:
 
 
 /*-----------------------------.
-| yyreduce -- Do a reduction.  |
+| yyreduce -- do a reduction.  |
 `-----------------------------*/
 yyreduce:
   /* yyn is the number of a rule to reduce with.  */
@@ -1478,20 +1493,20 @@ yyreduce:
   YY_REDUCE_PRINT (yyn);
   switch (yyn)
     {
-        case 3:
-#line 124 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+  case 3:
+#line 128 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].b)->top_level(); non_empty_flag = 1; }
-#line 1485 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1500 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 4:
-#line 129 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 133 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[0].b); }
-#line 1491 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1506 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 5:
-#line 131 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 135 "src/preproc/eqn/eqn.ypp"
     {
 		  list_box *lb = (yyvsp[-1].b)->to_list_box();
 		  if (!lb)
@@ -1499,436 +1514,437 @@ yyreduce:
 		  lb->append((yyvsp[0].b));
 		  (yyval.b) = lb;
 		}
-#line 1503 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1518 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 6:
-#line 142 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 146 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[0].b); }
-#line 1509 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1524 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 7:
-#line 144 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 148 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_mark_box((yyvsp[0].b)); }
-#line 1515 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1530 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 8:
-#line 146 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 150 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_lineup_box((yyvsp[0].b)); }
-#line 1521 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1536 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 9:
-#line 151 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 155 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[0].b); }
-#line 1527 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1542 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 10:
-#line 153 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 157 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_limit_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
-#line 1533 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1548 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 11:
-#line 155 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 159 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
-#line 1539 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1554 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 12:
-#line 157 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 161 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_limit_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
-#line 1545 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1560 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 13:
-#line 159 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 163 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_limit_box((yyvsp[-4].b), make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0), 0); }
-#line 1551 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1566 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 14:
-#line 164 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 168 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[0].b); }
-#line 1557 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1572 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 15:
-#line 166 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 170 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_sqrt_box((yyvsp[0].b)); }
-#line 1563 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1578 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 16:
-#line 168 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 172 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
-#line 1569 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1584 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 17:
-#line 170 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 174 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_small_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
-#line 1575 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1590 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 18:
-#line 175 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 179 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[0].b); }
-#line 1581 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1596 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 19:
-#line 177 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 181 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_script_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
-#line 1587 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1602 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 20:
-#line 182 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 186 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[0].b); }
-#line 1593 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1608 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 21:
-#line 184 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 188 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_script_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
-#line 1599 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1614 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 22:
-#line 186 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 190 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_script_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
-#line 1605 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1620 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 23:
-#line 191 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 195 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = split_text((yyvsp[0].str)); }
-#line 1611 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1626 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 24:
-#line 193 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 197 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
-#line 1617 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1632 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 25:
-#line 195 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 199 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = split_text((yyvsp[0].str)); }
-#line 1623 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1638 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 26:
-#line 197 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 201 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
-#line 1629 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1644 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 27:
-#line 199 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 203 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new half_space_box; }
-#line 1635 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1650 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 28:
-#line 201 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 205 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new space_box; }
-#line 1641 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1656 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 29:
-#line 203 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 207 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new tab_box; }
-#line 1647 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1662 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 30:
-#line 205 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 209 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[-1].b); }
-#line 1653 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1668 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 31:
-#line 207 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 211 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
-#line 1659 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1674 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 32:
-#line 209 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 213 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].pb)->set_alignment(LEFT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
-#line 1665 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1680 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 33:
-#line 211 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 215 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].pb)->set_alignment(RIGHT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
-#line 1671 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1686 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 34:
-#line 213 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 217 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
-#line 1677 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1692 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 35:
-#line 215 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 219 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = (yyvsp[-1].mb); }
-#line 1683 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1698 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 36:
-#line 217 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 221 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_delim_box((yyvsp[-3].str), (yyvsp[-2].b), (yyvsp[0].str)); }
-#line 1689 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1704 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 37:
-#line 219 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 223 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_delim_box((yyvsp[-1].str), (yyvsp[0].b), 0); }
-#line 1695 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1710 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 38:
-#line 221 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 225 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_overline_box((yyvsp[-1].b)); }
-#line 1701 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1716 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 39:
-#line 223 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 227 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_underline_box((yyvsp[-1].b)); }
-#line 1707 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1722 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 40:
-#line 225 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 229 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_prime_box((yyvsp[-1].b)); }
-#line 1713 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1728 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 41:
-#line 227 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 231 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_accent_box((yyvsp[-2].b), (yyvsp[0].b)); }
-#line 1719 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1734 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 42:
-#line 229 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 233 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_uaccent_box((yyvsp[-2].b), (yyvsp[0].b)); }
-#line 1725 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1740 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 43:
-#line 231 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 235 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new font_box(strsave(get_grfont()), (yyvsp[0].b)); }
-#line 1731 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1746 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 44:
-#line 233 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 237 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new font_box(strsave(get_gbfont()), (yyvsp[0].b)); }
-#line 1737 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1752 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 45:
-#line 235 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 239 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new font_box(strsave(get_gfont()), (yyvsp[0].b)); }
-#line 1743 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1758 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 46:
-#line 237 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 241 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new fat_box((yyvsp[0].b)); }
-#line 1749 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1764 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 47:
-#line 239 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 243 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new font_box((yyvsp[-1].str), (yyvsp[0].b)); }
-#line 1755 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1770 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 48:
-#line 241 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 245 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new size_box((yyvsp[-1].str), (yyvsp[0].b)); }
-#line 1761 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1776 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 49:
-#line 243 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 247 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new hmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
-#line 1767 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1782 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 50:
-#line 245 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 249 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new hmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
-#line 1773 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1788 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 51:
-#line 247 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 251 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new vmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
-#line 1779 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1794 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 52:
-#line 249 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 253 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new vmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
-#line 1785 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1800 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 53:
-#line 251 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 255 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].b)->set_spacing_type((yyvsp[-1].str)); (yyval.b) = (yyvsp[0].b); }
-#line 1791 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1806 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 54:
-#line 253 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 257 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = new vcenter_box((yyvsp[0].b)); }
-#line 1797 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1812 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 55:
-#line 255 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 259 "src/preproc/eqn/eqn.ypp"
     { (yyval.b) = make_special_box((yyvsp[-1].str), (yyvsp[0].b)); }
-#line 1803 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1818 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 56:
-#line 260 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 264 "src/preproc/eqn/eqn.ypp"
     {
 		  int n;
 		  if (sscanf((yyvsp[0].str), "%d", &n) == 1)
 		    (yyval.n) = n;
 		  a_delete (yyvsp[0].str);
 		}
-#line 1814 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1829 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 57:
-#line 270 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 274 "src/preproc/eqn/eqn.ypp"
     { (yyval.pb) = new pile_box((yyvsp[0].b)); }
-#line 1820 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1835 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 58:
-#line 272 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 276 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[-2].pb)->append((yyvsp[0].b)); (yyval.pb) = (yyvsp[-2].pb); }
-#line 1826 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1841 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 59:
-#line 277 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 281 "src/preproc/eqn/eqn.ypp"
     { (yyval.pb) = (yyvsp[-1].pb); }
-#line 1832 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1847 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 60:
-#line 279 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 283 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[-1].pb)->set_space((yyvsp[-3].n)); (yyval.pb) = (yyvsp[-1].pb); }
-#line 1838 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1853 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 61:
-#line 284 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 288 "src/preproc/eqn/eqn.ypp"
     { (yyval.mb) = new matrix_box((yyvsp[0].col)); }
-#line 1844 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1859 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 62:
-#line 286 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 290 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[-1].mb)->append((yyvsp[0].col)); (yyval.mb) = (yyvsp[-1].mb); }
-#line 1850 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1865 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 63:
-#line 291 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 295 "src/preproc/eqn/eqn.ypp"
     { (yyval.col) = new column((yyvsp[0].b)); }
-#line 1856 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1871 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 64:
-#line 293 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 297 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[-2].col)->append((yyvsp[0].b)); (yyval.col) = (yyvsp[-2].col); }
-#line 1862 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1877 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 65:
-#line 298 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 302 "src/preproc/eqn/eqn.ypp"
     { (yyval.col) = (yyvsp[-1].col); }
-#line 1868 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1883 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 66:
-#line 300 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 304 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[-1].col)->set_space((yyvsp[-3].n)); (yyval.col) = (yyvsp[-1].col); }
-#line 1874 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1889 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 67:
-#line 305 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 309 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
-#line 1880 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1895 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 68:
-#line 307 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 311 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].col)->set_alignment(LEFT_ALIGN); (yyval.col) = (yyvsp[0].col); }
-#line 1886 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1901 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 69:
-#line 309 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 313 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].col)->set_alignment(RIGHT_ALIGN); (yyval.col) = (yyvsp[0].col); }
-#line 1892 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1907 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 70:
-#line 311 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 315 "src/preproc/eqn/eqn.ypp"
     { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
-#line 1898 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1913 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 71:
-#line 315 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 319 "src/preproc/eqn/eqn.ypp"
     { (yyval.str) = (yyvsp[0].str); }
-#line 1904 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1919 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 72:
-#line 317 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 321 "src/preproc/eqn/eqn.ypp"
     { (yyval.str) = (yyvsp[0].str); }
-#line 1910 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1925 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 73:
-#line 322 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 326 "src/preproc/eqn/eqn.ypp"
     { (yyval.str) = (yyvsp[0].str); }
-#line 1916 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1931 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 74:
-#line 324 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 328 "src/preproc/eqn/eqn.ypp"
     { (yyval.str) = strsave("{"); }
-#line 1922 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1937 "src/preproc/eqn/eqn.cpp"
     break;
 
   case 75:
-#line 326 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645  */
+#line 330 "src/preproc/eqn/eqn.ypp"
     { (yyval.str) = strsave("}"); }
-#line 1928 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1943 "src/preproc/eqn/eqn.cpp"
     break;
 
 
-#line 1932 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645  */
+#line 1947 "src/preproc/eqn/eqn.cpp"
+
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -2042,12 +2058,10 @@ yyerrlab:
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 `---------------------------------------------------*/
 yyerrorlab:
-
-  /* Pacify compilers like GCC when the user code never invokes
-     YYERROR and the label yyerrorlab therefore never appears in user
-     code.  */
-  if (/*CONSTCOND*/ 0)
-     goto yyerrorlab;
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
 
   /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
@@ -2109,6 +2123,7 @@ yyacceptlab:
   yyresult = 0;
   goto yyreturn;
 
+
 /*-----------------------------------.
 | yyabortlab -- YYABORT comes here.  |
 `-----------------------------------*/
@@ -2116,6 +2131,7 @@ yyabortlab:
   yyresult = 1;
   goto yyreturn;
 
+
 #if !defined yyoverflow || YYERROR_VERBOSE
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
@@ -2126,6 +2142,10 @@ yyexhaustedlab:
   /* Fall through.  */
 #endif
 
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result.  |
+`-----------------------------------------------------*/
 yyreturn:
   if (yychar != YYEMPTY)
     {
@@ -2155,5 +2175,5 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 329 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1903  */
+#line 333 "src/preproc/eqn/eqn.ypp"
 
diff --git a/src/preproc/eqn/eqn.hpp b/src/preproc/eqn/eqn.hpp
index 32a32a5..9a092c1 100644
--- a/src/preproc/eqn/eqn.hpp
+++ b/src/preproc/eqn/eqn.hpp
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.2.  */
+/* A Bison parser, made by GNU Bison 3.4.1.  */
 
 /* Bison interface for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -170,10 +171,9 @@ extern int yydebug;
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
 union YYSTYPE
 {
-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1906  */
+#line 34 "src/preproc/eqn/eqn.ypp"
 
 	char *str;
 	box *b;
@@ -182,9 +182,9 @@ union YYSTYPE
 	int n;
 	column *col;
 
-#line 186 "src/preproc/eqn/eqn.hpp" /* yacc.c:1906  */
-};
+#line 186 "src/preproc/eqn/eqn.hpp"
 
+};
 typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp
index fb318c3..b7b647e 100644
--- a/src/preproc/eqn/eqn.ypp
+++ b/src/preproc/eqn/eqn.ypp
@@ -16,6 +16,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 %{
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
diff --git a/src/preproc/eqn/other.cpp b/src/preproc/eqn/other.cpp
index 8db993f..38db396 100644
--- a/src/preproc/eqn/other.cpp
+++ b/src/preproc/eqn/other.cpp
@@ -17,6 +17,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdlib.h>
 
 #include "eqn.h"
diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
index f3d06f9..3b244d5 100644
--- a/src/preproc/eqn/text.cpp
+++ b/src/preproc/eqn/text.cpp
@@ -17,6 +17,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <ctype.h>
 #include <stdlib.h>
 #include "eqn.h"
diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
index d8ba610..f26a831 100644
--- a/src/preproc/pic/object.cpp
+++ b/src/preproc/pic/object.cpp
@@ -17,6 +17,10 @@ for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdlib.h>
 
 #include "pic.h"
-- 
2.22.0

