home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / src / diffs / groff-1.09.diffs < prev    next >
Encoding:
Text File  |  1995-01-21  |  271.5 KB  |  9,425 lines

  1. diff -rc --new-file groff-1.09/Makefile.comm /gnu/src/amiga/groff-1.09/Makefile.comm
  2. *** groff-1.09/Makefile.comm    Sun Apr 25 10:03:56 1993
  3. --- /gnu/src/amiga/groff-1.09/Makefile.comm    Sat Dec 24 15:09:12 1994
  4. ***************
  5. *** 106,113 ****
  6.   
  7.   .man.n:
  8.       @echo Making $@ from $<
  9. !     @-rm -f $@
  10. !     @sed -e "s;@FONTDIR@;$(fontdir);g" \
  11.       -e "s;@FONTPATH@;$(fontpath);g" \
  12.       -e "s;@MACRODIR@;$(tmacdir);g" \
  13.       -e "s;@MACROPATH@;$(tmacpath);g" \
  14. --- 106,113 ----
  15.   
  16.   .man.n:
  17.       @echo Making $@ from $<
  18. !     -rm -f $@
  19. !     sed -e "s;@FONTDIR@;$(fontdir);g" \
  20.       -e "s;@FONTPATH@;$(fontpath);g" \
  21.       -e "s;@MACRODIR@;$(tmacdir);g" \
  22.       -e "s;@MACROPATH@;$(tmacpath);g" \
  23. diff -rc --new-file groff-1.09/Makefile.in /gnu/src/amiga/groff-1.09/Makefile.in
  24. *** groff-1.09/Makefile.in    Mon Feb 14 08:43:08 1994
  25. --- /gnu/src/amiga/groff-1.09/Makefile.in    Sun Jun 12 16:50:46 1994
  26. ***************
  27. *** 75,81 ****
  28.   # Common prefix for installation directories.
  29.   # Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
  30.   # This must already exist when you do make install.
  31. ! prefix=/usr/local
  32.   
  33.   exec_prefix=$(prefix)
  34.   
  35. --- 75,81 ----
  36.   # Common prefix for installation directories.
  37.   # Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
  38.   # This must already exist when you do make install.
  39. ! prefix=/gnu
  40.   
  41.   exec_prefix=$(prefix)
  42.   
  43. ***************
  44. *** 90,102 ****
  45.   fontdir=$(datasubdir)/font
  46.   
  47.   # fontpath says where to look for dev*/*.
  48. ! fontpath=.:$(fontdir):$(prefix)/lib/font:/usr/lib/font
  49.   
  50.   # tmacdir says where to install macros.
  51.   tmacdir=$(datasubdir)/tmac
  52.   
  53.   # tmacpath says where to look for macro files.
  54. ! tmacpath=.:$(tmacdir):/usr/lib/tmac
  55.   
  56.   # Extension to be used for refer index files.  Index files are not
  57.   # sharable between different architectures, so you might want to use
  58. --- 90,102 ----
  59.   fontdir=$(datasubdir)/font
  60.   
  61.   # fontpath says where to look for dev*/*.
  62. ! fontpath=.:$(fontdir):$(prefix)/lib/font
  63.   
  64.   # tmacdir says where to install macros.
  65.   tmacdir=$(datasubdir)/tmac
  66.   
  67.   # tmacpath says where to look for macro files.
  68. ! tmacpath=.:$(tmacdir)
  69.   
  70.   # Extension to be used for refer index files.  Index files are not
  71.   # sharable between different architectures, so you might want to use
  72. ***************
  73. *** 105,111 ****
  74.   indexext=.i
  75.   
  76.   # Directory containing the default index for refer.
  77. ! indexdir=/usr/dict/papers
  78.   
  79.   # The filename (without suffix) of the default index for refer.
  80.   indexname=Ind
  81. --- 105,111 ----
  82.   indexext=.i
  83.   
  84.   # Directory containing the default index for refer.
  85. ! indexdir=/gnu/dict/papers
  86.   
  87.   # The filename (without suffix) of the default index for refer.
  88.   indexname=Ind
  89. ***************
  90. *** 189,195 ****
  91.   INSTALL=@INSTALL@
  92.   INSTALL_PROGRAM=@INSTALL_PROGRAM@
  93.   INSTALL_DATA=@INSTALL_DATA@
  94. ! LN_S=@LN_S@
  95.   AR=ar
  96.   ETAGS=etags
  97.   ETAGSFLAGS=
  98. --- 189,201 ----
  99.   INSTALL=@INSTALL@
  100.   INSTALL_PROGRAM=@INSTALL_PROGRAM@
  101.   INSTALL_DATA=@INSTALL_DATA@
  102. ! # For the Amiga, force LN_S to be just "cp" rather than "ln -s", so that a
  103. ! # copy is made rather than a symbolic link.  We support symbolic links, but
  104. ! # we don't want to use them in the installation because the "mkisofs" CD-ROM
  105. ! # mastering software doesn't know what to do with them yet (convert to a
  106. ! # copy on the fly).
  107. ! #LN_S=@LN_S@
  108. ! LN_S=cp
  109.   AR=ar
  110.   ETAGS=etags
  111.   ETAGSFLAGS=
  112. diff -rc --new-file groff-1.09/Product-Info /gnu/src/amiga/groff-1.09/Product-Info
  113. *** groff-1.09/Product-Info    Thu Jan  1 00:00:00 1970
  114. --- /gnu/src/amiga/groff-1.09/Product-Info    Tue Jul 12 17:22:50 1994
  115. ***************
  116. *** 0 ****
  117. --- 1,27 ----
  118. + .name
  119. + groff
  120. + .fullname
  121. + GNU groff document formatting system
  122. + .type
  123. + Text Processing
  124. + .short
  125. + GNU groff document formatting system
  126. + .description
  127. + This is the GNU groff document formatting system.  Included in this
  128. + release are implementations of troff, pic, eqn, tbl, refer, the -man
  129. + macros and the -ms macros, and drivers for PostScript, TeX dvi format,
  130. + and typewriter-like devices.  Also included is a modified version of
  131. + the Berkeley -me macros, an enhanced version of the X11 xditview
  132. + previewer, and an implementation of the -mm macros.
  133. + .version
  134. + 1.09
  135. + .author
  136. + James Clark
  137. + .email
  138. + jjc@jclark.com
  139. + .requirements
  140. + Amiga binaries require ixemul.library.
  141. + .distribution
  142. + GNU Public License
  143. + .described-by
  144. + Fred Fish (fnf@amigalib.com)
  145. diff -rc --new-file groff-1.09/acgroff.m4 /gnu/src/amiga/groff-1.09/acgroff.m4
  146. *** groff-1.09/acgroff.m4    Sat Feb 12 14:34:48 1994
  147. --- /gnu/src/amiga/groff-1.09/acgroff.m4    Mon Apr 25 18:07:11 1994
  148. ***************
  149. *** 396,402 ****
  150.   define(GROFF_ISC_SYSV3,
  151.   [echo 'checking for ISC 3.x or 4.x'
  152.   changequote(,)dnl
  153. ! if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  154.   changequote([,])dnl
  155.   then
  156.       AC_DEFINE(_SYSV3)
  157. --- 396,402 ----
  158.   define(GROFF_ISC_SYSV3,
  159.   [echo 'checking for ISC 3.x or 4.x'
  160.   changequote(,)dnl
  161. ! if true || grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  162.   changequote([,])dnl
  163.   then
  164.       AC_DEFINE(_SYSV3)
  165. diff -rc --new-file groff-1.09/addftinfo/addftinfo.cc /gnu/src/amiga/groff-1.09/addftinfo/addftinfo.cc
  166. *** groff-1.09/addftinfo/addftinfo.cc    Sun Feb 13 10:24:31 1994
  167. --- /gnu/src/amiga/groff-1.09/addftinfo/addftinfo.cc    Mon Feb 21 16:15:17 1994
  168. ***************
  169. *** 20,26 ****
  170.   
  171.   #include <stdio.h>
  172.   #include <ctype.h>
  173. ! #include <string.h>
  174.   #include <assert.h>
  175.   #include <stdlib.h>
  176.   #include <errno.h>
  177. --- 20,26 ----
  178.   
  179.   #include <stdio.h>
  180.   #include <ctype.h>
  181. ! #include </gnu/include/string.h>
  182.   #include <assert.h>
  183.   #include <stdlib.h>
  184.   #include <errno.h>
  185. diff -rc --new-file groff-1.09/afmtodit/Makefile.sub /gnu/src/amiga/groff-1.09/afmtodit/Makefile.sub
  186. *** groff-1.09/afmtodit/Makefile.sub    Wed Oct 28 12:48:22 1992
  187. --- /gnu/src/amiga/groff-1.09/afmtodit/Makefile.sub    Mon Feb 21 16:31:05 1994
  188. ***************
  189. *** 5,11 ****
  190.   
  191.   afmtodit: afmtodit.pl
  192.       if test -n "$(PERLPATH)"; then \
  193. !       sed -e 's;/usr/bin/perl;$(PERLPATH);' \
  194.                 $(srcdir)/afmtodit.pl >afmtodit; \
  195.       else \
  196.         cp $(srcdir)/afmtodit.pl afmtodit; \
  197. --- 5,11 ----
  198.   
  199.   afmtodit: afmtodit.pl
  200.       if test -n "$(PERLPATH)"; then \
  201. !       sed -e 's;/bin/perl;$(PERLPATH);' \
  202.                 $(srcdir)/afmtodit.pl >afmtodit; \
  203.       else \
  204.         cp $(srcdir)/afmtodit.pl afmtodit; \
  205. diff -rc --new-file groff-1.09/afmtodit/afmtodit.pl /gnu/src/amiga/groff-1.09/afmtodit/afmtodit.pl
  206. *** groff-1.09/afmtodit/afmtodit.pl    Mon Apr 19 19:53:51 1993
  207. --- /gnu/src/amiga/groff-1.09/afmtodit/afmtodit.pl    Mon Feb 21 16:30:55 1994
  208. ***************
  209. *** 1,4 ****
  210. ! #! /usr/bin/perl -P- # -*- Perl -*-
  211.   #Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  212.   #     Written by James Clark (jjc@jclark.com)
  213.   #
  214. --- 1,4 ----
  215. ! #! /bin/perl -P- # -*- Perl -*-
  216.   #Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  217.   #     Written by James Clark (jjc@jclark.com)
  218.   #
  219. diff -rc --new-file groff-1.09/configure /gnu/src/amiga/groff-1.09/configure
  220. *** groff-1.09/configure    Sat Feb 12 14:43:06 1994
  221. --- /gnu/src/amiga/groff-1.09/configure    Sat Oct  8 16:22:21 1994
  222. ***************
  223. *** 1,180 ****
  224.   #!/bin/sh
  225.   # Guess values for system-dependent variables and create Makefiles.
  226. ! # Generated automatically using autoconf.
  227. ! # Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
  228.   
  229. ! # This program is free software; you can redistribute it and/or modify
  230. ! # it under the terms of the GNU General Public License as published by
  231. ! # the Free Software Foundation; either version 2, or (at your option)
  232.   # any later version.
  233.   
  234. ! # This program is distributed in the hope that it will be useful,
  235. ! # but WITHOUT ANY WARRANTY; without even the implied warranty of
  236. ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  237. ! # GNU General Public License for more details.
  238.   
  239.   # You should have received a copy of the GNU General Public License
  240.   # along with this program; if not, write to the Free Software
  241.   # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  242.   
  243. ! # Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp]
  244. ! #        [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE[=VALUE]]
  245. ! # Ignores all args except --srcdir, --prefix, --exec-prefix, and
  246. ! # --with-PACKAGE[=VALUE] unless this script has special code to handle it.
  247.   
  248. ! for arg
  249.   do
  250. -   # Handle --exec-prefix with a space before the argument.
  251. -   if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
  252. -   # Handle --host with a space before the argument.
  253. -   elif test x$next_host = xyes; then next_host=
  254. -   # Handle --prefix with a space before the argument.
  255. -   elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
  256. -   # Handle --srcdir with a space before the argument.
  257. -   elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
  258. -   else
  259. -     case $arg in
  260. -      # For backward compatibility, recognize -exec-prefix and --exec_prefix.
  261. -      -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
  262. -     exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  263. -      -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
  264. -     next_exec_prefix=yes ;;
  265. -      -gas | --gas | --ga | --g) ;;
  266. -      -host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
  267. -      -host | --host | --hos | --ho | --h)
  268. -     next_host=yes ;;
  269. -      -nfp | --nfp | --nf) ;;
  270. -      -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  271. -     prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  272. -      -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  273. -     next_prefix=yes ;;
  274. -      -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
  275. -     srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  276. -      -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
  277. -     next_srcdir=yes ;;
  278. -      -with-* | --with-*)
  279. -        package=`echo $arg|sed -e 's/-*with-//' -e 's/=.*//'`
  280. -        # Reject names that aren't valid shell variable names.
  281. -        if test -n "`echo $package| sed 's/[-a-zA-Z0-9_]//g'`"; then
  282. -          echo "configure: $package: invalid package name" >&2; exit 1
  283. -        fi
  284. -        package=`echo $package| sed 's/-/_/g'`
  285. -        case "$arg" in
  286. -          *=*) val="`echo $arg|sed 's/[^=]*=//'`" ;;
  287. -          *) val=1 ;;
  288. -        esac
  289. -        eval "with_$package='$val'" ;;
  290.   
  291. !      -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v)
  292. !        verbose=yes ;;
  293.   
  294. !      *) ;;
  295.       esac
  296. !   fi
  297.   done
  298.   
  299. ! trap 'rm -fr conftest* confdefs* core; exit 1' 1 3 15
  300. ! trap 'rm -f confdefs*' 0
  301.   
  302.   # NLS nuisances.
  303.   # These must not be set unconditionally because not all systems understand
  304.   # e.g. LANG=C (notably SCO).
  305. ! if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi
  306. ! if test "${LANG+set}"   = 'set' ; then LANG=C;   export LANG;   fi
  307.   
  308. ! rm -f conftest* confdefs.h
  309.   # AIX cpp loses on an empty file, so make sure it contains at least a newline.
  310. ! echo > confdefs.h
  311. ! compile='${CC-cc} $CFLAGS conftest.c -o conftest $LIBS >/dev/null 2>&1'
  312.   
  313.   # A filename unique to this package, relative to the directory that
  314.   # configure is in, which we can look for to find out if srcdir is correct.
  315. ! unique_file=groff/groff.cc
  316.   
  317.   # Find the source files, if location was not specified.
  318.   if test -z "$srcdir"; then
  319. !   srcdirdefaulted=yes
  320.     # Try the directory containing this script, then `..'.
  321. !   prog=$0
  322. !   confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
  323. !   test "X$confdir" = "X$prog" && confdir=.
  324. !   srcdir=$confdir
  325. !   if test ! -r $srcdir/$unique_file; then
  326.       srcdir=..
  327.     fi
  328.   fi
  329. ! if test ! -r $srcdir/$unique_file; then
  330. !   if test x$srcdirdefaulted = xyes; then
  331. !     echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
  332.     else
  333. !     echo "configure: Can not find sources in \`${srcdir}'." 1>&2
  334.     fi
  335. -   exit 1
  336.   fi
  337. ! # Preserve a srcdir of `.' to avoid automounter screwups with pwd.
  338. ! # But we can't avoid them for `..', to make subdirectories work.
  339. ! case $srcdir in
  340. !   .|/*|~*) ;;
  341. !   *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
  342. ! esac
  343.   
  344.   
  345. - # Save the original args to write them into config.status later.
  346. - configure_args="$*"
  347.   if test -z "$prefix"
  348.   then
  349. !   echo checking for grops to derive installation directory prefix
  350. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="$IFS:"
  351. !   for dir in $PATH; do
  352. !     test -z "$dir" && dir=.
  353. !     if test $dir != . && test -f $dir/grops; then
  354.         # Not all systems have dirname.
  355. !       prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
  356.         break
  357.       fi
  358.     done
  359. !   IFS="$saveifs"
  360. !   echo "    chose installation directory prefix ${prefix}"
  361.   fi
  362.   if test -z "$prefix"
  363.   then
  364. !   echo checking for gcc to derive installation directory prefix
  365. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="$IFS:"
  366. !   for dir in $PATH; do
  367. !     test -z "$dir" && dir=.
  368. !     if test $dir != . && test -f $dir/gcc; then
  369.         # Not all systems have dirname.
  370. !       prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
  371.         break
  372.       fi
  373.     done
  374. !   IFS="$saveifs"
  375. !   echo "    chose installation directory prefix ${prefix}"
  376.   fi
  377.   
  378.   if test -z "$CC"; then
  379.     # Extract the first word of `gcc', so it can be a program name with args.
  380. !   set dummy gcc; word=$2
  381. !   echo checking for $word
  382. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  383. !   for dir in $PATH; do
  384. !     test -z "$dir" && dir=.
  385. !     if test -f $dir/$word; then
  386.         CC="gcc"
  387.         break
  388.       fi
  389.     done
  390. !   IFS="$saveifs"
  391.   fi
  392.   test -z "$CC" && CC="cc"
  393. ! test -n "$CC" && test -n "$verbose" && echo "    setting CC to $CC"
  394.   
  395.   # Find out if we are using GNU C, under whatever name.
  396.   cat > conftest.c <<EOF
  397. --- 1,367 ----
  398.   #!/bin/sh
  399.   # Guess values for system-dependent variables and create Makefiles.
  400. ! # Generated automatically using autoconf version 1.11 
  401. ! # Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
  402.   
  403. ! # This configure script is free software; you can redistribute it and/or
  404. ! # modify it under the terms of the GNU General Public License as published
  405. ! # by the Free Software Foundation; either version 2, or (at your option)
  406.   # any later version.
  407.   
  408. ! # This script is distributed in the hope that it will be useful, but
  409. ! # WITHOUT ANY WARRANTY; without even the implied warranty of
  410. ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
  411. ! # Public License for more details.
  412.   
  413.   # You should have received a copy of the GNU General Public License
  414.   # along with this program; if not, write to the Free Software
  415.   # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  416.   
  417. ! # Save the original args to write them into config.status later.
  418. ! configure_args="$*"
  419. ! # Only options that might do something get documented.
  420. ! ac_usage="Usage: configure [options] [host]
  421. ! Options: [defaults in brackets after descriptions]
  422. ! --build=BUILD        configure for building on BUILD [BUILD=HOST]
  423. ! --disable-FEATURE    do not include FEATURE (same as --enable-FEATURE=no)
  424. ! --enable-FEATURE[=ARG]    include FEATURE [ARG=yes]
  425. ! --exec-prefix=PREFIX    install host dependent files in PREFIX [/usr/local]
  426. ! --help            print this message
  427. ! --host=HOST        configure for HOST [guessed]
  428. ! --prefix=PREFIX        install host independent files in PREFIX [/usr/local]
  429. ! --quiet, --silent    do not print \`checking for...' messages
  430. ! --srcdir=DIR        find the sources in DIR [configure dir or ..]
  431. ! --target=TARGET        configure for TARGET [TARGET=HOST]
  432. ! --verbose        print results of checks
  433. ! --version        print the version of autoconf that created configure
  434. ! --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  435. ! --without-PACKAGE    do not use PACKAGE (same as --with-PACKAGE=no)
  436. ! --x-includes=DIR    X include files are in DIR
  437. ! --x-libraries=DIR    X library files are in DIR"
  438. ! # Initialize some variables set by options.
  439. ! # The variables have the same names as the options, with
  440. ! # dashes changed to underlines.
  441. ! build=NONE
  442. ! exec_prefix=
  443. ! host=NONE
  444. ! no_create=
  445. ! nonopt=NONE
  446. ! norecursion=
  447. ! prefix=
  448. ! program_prefix=
  449. ! program_suffix=
  450. ! program_transform_name=
  451. ! silent=
  452. ! srcdir=
  453. ! target=NONE
  454. ! verbose=
  455. ! x_includes=
  456. ! x_libraries=
  457.   
  458. ! ac_prev=
  459. ! for ac_option
  460.   do
  461.   
  462. !   # If the previous option needs an argument, assign it.
  463. !   if test -n "$ac_prev"; then
  464. !     eval "$ac_prev=\$ac_option"
  465. !     ac_prev=
  466. !     continue
  467. !   fi
  468. !   # Accept (but ignore some of) the important Cygnus configure
  469. !   # options, so we can diagnose typos.
  470.   
  471. !   case "$ac_option" in
  472. !   -*=*) ac_optarg=`/bin/echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  473. !   *) ac_optarg= ;;
  474. !   esac
  475. !   case "$ac_option" in
  476. !   -build | --build | --buil | --bui | --bu | --b)
  477. !     ac_prev=build ;;
  478. !   -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
  479. !     build="$ac_optarg" ;;
  480. !   -disable-* | --disable-*)
  481. !     ac_feature=`/bin/echo $ac_option|sed -e 's/-*disable-//'`
  482. !     # Reject names that aren't valid shell variable names.
  483. !     if test -n "`/bin/echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
  484. !       /bin/echo "configure: $ac_feature: invalid feature name" >&2; exit 1
  485. !     fi
  486. !     ac_feature=`/bin/echo $ac_feature| sed 's/-/_/g'`
  487. !     eval "enable_${ac_feature}=no" ;;
  488. !   -enable-* | --enable-*)
  489. !     ac_feature=`/bin/echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
  490. !     # Reject names that aren't valid shell variable names.
  491. !     if test -n "`/bin/echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
  492. !       /bin/echo "configure: $ac_feature: invalid feature name" >&2; exit 1
  493. !     fi
  494. !     ac_feature=`/bin/echo $ac_feature| sed 's/-/_/g'`
  495. !     case "$ac_option" in
  496. !       *=*) ;;
  497. !       *) ac_optarg=yes ;;
  498.       esac
  499. !     eval "enable_${ac_feature}='$ac_optarg'" ;;
  500. !   # For backward compatibility, recognize -exec-prefix and --exec_prefix.
  501. !   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
  502. !   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
  503. !   | --exec | --exe | --ex)
  504. !     ac_prev=exec_prefix ;;
  505. !   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
  506. !   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
  507. !   | --exec=* | --exe=* | --ex=*)
  508. !     exec_prefix="$ac_optarg" ;;
  509. !   -gas | --gas | --ga | --g)
  510. !     with_gas=yes ;; # Obsolete; use --with-gas.
  511. !   -help | --help | --hel | --he)
  512. !     cat << EOF
  513. ! $ac_usage
  514. ! EOF
  515. !     exit 0 ;;
  516. !   -host | --host | --hos | --ho)
  517. !     ac_prev=host ;;
  518. !   -host=* | --host=* | --hos=* | --ho=*)
  519. !     host="$ac_optarg" ;;
  520. !   -nfp | --nfp | --nf)
  521. !     with_fp=no ;; # Obsolete; use --without-fp.
  522. !   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  523. !   | --no-cr | --no-c)
  524. !     no_create=yes ;;
  525. !   -norecursion | --norecursion | --norecursio | --norecursi \
  526. !   | --norecurs | --norecur | --norecu | --norec | --nore | --nor)
  527. !     norecursion=yes ;;
  528. !   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  529. !     ac_prev=prefix ;;
  530. !   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  531. !     prefix="$ac_optarg" ;;
  532. !   -program-prefix | --program-prefix | --program-prefi | --program-pref \
  533. !   | --program-pre | --program-pr | --program-p)
  534. !     ac_prev=program_prefix ;;
  535. !   -program-prefix=* | --program-prefix=* | --program-prefi=* \
  536. !   | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
  537. !     program_prefix="$ac_optarg" ;;
  538. !   -program-suffix | --program-suffix | --program-suffi | --program-suff \
  539. !   | --program-suf | --program-su | --program-s)
  540. !     ac_prev=program_suffix ;;
  541. !   -program-suffix=* | --program-suffix=* | --program-suffi=* \
  542. !   | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
  543. !     program_suffix="$ac_optarg" ;;
  544. !   -program-transform-name | --program-transform-name \
  545. !   | --program-transform-nam | --program-transform-na \
  546. !   | --program-transform-n | --program-transform- \
  547. !   | --program-transform | --program-transfor \
  548. !   | --program-transfo | --program-transf \
  549. !   | --program-trans | --program-tran \
  550. !   | --progr-tra | --program-tr | --program-t)
  551. !     ac_prev=program_transform_name ;;
  552. !   -program-transform-name=* | --program-transform-name=* \
  553. !   | --program-transform-nam=* | --program-transform-na=* \
  554. !   | --program-transform-n=* | --program-transform-=* \
  555. !   | --program-transform=* | --program-transfor=* \
  556. !   | --program-transfo=* | --program-transf=* \
  557. !   | --program-trans=* | --program-tran=* \
  558. !   | --progr-tra=* | --program-tr=* | --program-t=*)
  559. !     program_transform_name="$ac_optarg" ;;
  560. !   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  561. !   | -silent | --silent | --silen | --sile | --sil)
  562. !     silent=yes ;;
  563. !   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
  564. !     ac_prev=srcdir ;;
  565. !   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  566. !     srcdir="$ac_optarg" ;;
  567. !   -target | --target | --targe | --targ | --tar | --ta | --t)
  568. !     ac_prev=target ;;
  569. !   -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
  570. !     target="$ac_optarg" ;;
  571. !   -v | -verbose | --verbose | --verbos | --verbo | --verb)
  572. !     verbose=yes ;;
  573. !   -version | --version | --versio | --versi | --vers)
  574. !     /bin/echo "configure generated by autoconf version 1.11"
  575. !     exit 0 ;;
  576. !   -with-* | --with-*)
  577. !     ac_package=`/bin/echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
  578. !     # Reject names that aren't valid shell variable names.
  579. !     if test -n "`/bin/echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
  580. !       /bin/echo "configure: $ac_package: invalid package name" >&2; exit 1
  581. !     fi
  582. !     ac_package=`/bin/echo $ac_package| sed 's/-/_/g'`
  583. !     case "$ac_option" in
  584. !       *=*) ;;
  585. !       *) ac_optarg=yes ;;
  586. !     esac
  587. !     eval "with_${ac_package}='$ac_optarg'" ;;
  588. !   -without-* | --without-*)
  589. !     ac_package=`/bin/echo $ac_option|sed -e 's/-*without-//'`
  590. !     # Reject names that aren't valid shell variable names.
  591. !     if test -n "`/bin/echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
  592. !       /bin/echo "configure: $ac_package: invalid package name" >&2; exit 1
  593. !     fi
  594. !     ac_package=`/bin/echo $ac_package| sed 's/-/_/g'`
  595. !     eval "with_${ac_package}=no" ;;
  596. !   --x) with_x=yes ;; # Obsolete; use --with-x.
  597. !   -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
  598. !   | --x-incl | --x-inc | --x-in | --x-i)
  599. !     ac_prev=x_includes ;;
  600. !   -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
  601. !   | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
  602. !     x_includes="$ac_optarg" ;;
  603. !   -x-libraries | --x-libraries | --x-librarie | --x-librari \
  604. !   | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
  605. !     ac_prev=x_libraries ;;
  606. !   -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
  607. !   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
  608. !     x_libraries="$ac_optarg" ;;
  609. !   -*) /bin/echo "configure: $ac_option: invalid option; use --help to show usage" >&2; exit 1
  610. !     ;;
  611. !   *) 
  612. !     if test -n "`/bin/echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
  613. !       /bin/echo "configure: warning: $ac_option: invalid host type" >&2
  614. !     fi
  615. !     if test "x$nonopt" != xNONE; then
  616. !       /bin/echo "configure: can only configure for one host and one target at a time" >&2; exit 1
  617. !     fi
  618. !     nonopt="$ac_option"
  619. !     ;;
  620. !   esac
  621.   done
  622.   
  623. ! if test -n "$ac_prev"; then
  624. !   /bin/echo "configure: missing argument to --`/bin/echo $ac_prev | sed 's/_/-/g'`" >&2; exit 1
  625. ! fi
  626. ! trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
  627. ! trap 'rm -fr confdefs* $ac_clean_files' 0
  628. ! # Save the original args if we used an alternate arg parser.
  629. ! ac_configure_temp="${configure_args-$*}"
  630. ! # Strip out --no-create and --norecursion so they don't pile up.
  631. ! configure_args=
  632. ! for ac_arg in $ac_configure_temp; do
  633. !   case "$ac_arg" in
  634. !   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  635. !   | --no-cr | --no-c) ;;
  636. !   -norecursion | --norecursion | --norecursio | --norecursi \
  637. !   | --norecurs | --norecur | --norecu | --norec | --nore | --nor) ;;
  638. !   *) configure_args="$configure_args $ac_arg" ;;
  639. !   esac
  640. ! done
  641.   
  642.   # NLS nuisances.
  643.   # These must not be set unconditionally because not all systems understand
  644.   # e.g. LANG=C (notably SCO).
  645. ! if test "${LC_ALL+set}" = 'set'; then LC_ALL=C; export LC_ALL; fi
  646. ! if test "${LANG+set}"   = 'set'; then LANG=C;   export LANG;   fi
  647.   
  648. ! # confdefs.h avoids OS command line length limits that DEFS can exceed.
  649. ! rm -rf conftest* confdefs.h
  650.   # AIX cpp loses on an empty file, so make sure it contains at least a newline.
  651. ! /bin/echo > confdefs.h
  652.   
  653.   # A filename unique to this package, relative to the directory that
  654.   # configure is in, which we can look for to find out if srcdir is correct.
  655. ! ac_unique_file=groff/groff.cc
  656.   
  657.   # Find the source files, if location was not specified.
  658.   if test -z "$srcdir"; then
  659. !   ac_srcdir_defaulted=yes
  660.     # Try the directory containing this script, then `..'.
  661. !   ac_prog=$0
  662. !   ac_confdir=`/bin/echo $ac_prog|sed 's%/[^/][^/]*$%%'`
  663. !   test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
  664. !   srcdir=$ac_confdir
  665. !   if test ! -r $srcdir/$ac_unique_file; then
  666.       srcdir=..
  667.     fi
  668.   fi
  669. ! if test ! -r $srcdir/$ac_unique_file; then
  670. !   if test x$ac_srcdir_defaulted = xyes; then
  671. !     /bin/echo "configure: can not find sources in ${ac_confdir} or .." >&2; exit 1
  672.     else
  673. !     /bin/echo "configure: can not find sources in ${srcdir}" >&2; exit 1
  674.     fi
  675.   fi
  676. ! ac_ext=c
  677. ! # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  678. ! ac_cpp='${CPP}'
  679. ! ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS >/dev/null 2>&1'
  680.   
  681.   
  682.   if test -z "$prefix"
  683.   then
  684. !   test -n "$silent" || /bin/echo "checking for grops to derive installation directory prefix"
  685. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="$IFS:"
  686. !   for ac_dir in $PATH; do
  687. !     test -z "$ac_dir" && ac_dir=.
  688. !     if test $ac_dir != . && test -f $ac_dir/grops; then
  689.         # Not all systems have dirname.
  690. !       prefix=`/bin/echo $ac_dir|sed 's%/[^/][^/]*$%%'`
  691.         break
  692.       fi
  693.     done
  694. !   IFS="$ac_save_ifs"
  695. !   test -n "$verbose" && /bin/echo "    chose installation directory prefix ${prefix}"
  696.   fi
  697.   if test -z "$prefix"
  698.   then
  699. !   test -n "$silent" || /bin/echo "checking for gcc to derive installation directory prefix"
  700. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="$IFS:"
  701. !   for ac_dir in $PATH; do
  702. !     test -z "$ac_dir" && ac_dir=.
  703. !     if test $ac_dir != . && test -f $ac_dir/gcc; then
  704.         # Not all systems have dirname.
  705. !       prefix=`/bin/echo $ac_dir|sed 's%/[^/][^/]*$%%'`
  706.         break
  707.       fi
  708.     done
  709. !   IFS="$ac_save_ifs"
  710. !   test -n "$verbose" && /bin/echo "    chose installation directory prefix ${prefix}"
  711.   fi
  712.   
  713.   if test -z "$CC"; then
  714.     # Extract the first word of `gcc', so it can be a program name with args.
  715. !   set ac_dummy gcc; ac_word=$2
  716. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  717. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  718. !   for ac_dir in $PATH; do
  719. !     test -z "$ac_dir" && ac_dir=.
  720. !     if test -f $ac_dir/$ac_word; then
  721.         CC="gcc"
  722.         break
  723.       fi
  724.     done
  725. !   IFS="$ac_save_ifs"
  726.   fi
  727.   test -z "$CC" && CC="cc"
  728. ! test -n "$CC" && test -n "$verbose" && /bin/echo "    setting CC to $CC"
  729.   
  730.   # Find out if we are using GNU C, under whatever name.
  731.   cat > conftest.c <<EOF
  732. ***************
  733. *** 205,258 ****
  734.   fi
  735.   if test -z "$CCC"; then
  736.     # Extract the first word of `g++', so it can be a program name with args.
  737. !   set dummy g++; word=$2
  738. !   echo checking for $word
  739. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  740. !   for dir in $PATH; do
  741. !     test -z "$dir" && dir=.
  742. !     if test -f $dir/$word; then
  743.         CCC="g++"
  744.         break
  745.       fi
  746.     done
  747. !   IFS="$saveifs"
  748.   fi
  749.   
  750. ! test -n "$CCC" && test -n "$verbose" && echo "    setting CCC to $CCC"
  751.   
  752.   if test -z "$CCC"; then
  753.     # Extract the first word of `CC', so it can be a program name with args.
  754. !   set dummy CC; word=$2
  755. !   echo checking for $word
  756. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  757. !   for dir in $PATH; do
  758. !     test -z "$dir" && dir=.
  759. !     if test -f $dir/$word; then
  760.         CCC="CC"
  761.         break
  762.       fi
  763.     done
  764. !   IFS="$saveifs"
  765.   fi
  766.   
  767. ! test -n "$CCC" && test -n "$verbose" && echo "    setting CCC to $CCC"
  768.   
  769.   if test -z "$CCC"; then
  770.     # Extract the first word of `cc++', so it can be a program name with args.
  771. !   set dummy cc++; word=$2
  772. !   echo checking for $word
  773. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  774. !   for dir in $PATH; do
  775. !     test -z "$dir" && dir=.
  776. !     if test -f $dir/$word; then
  777.         CCC="cc++"
  778.         break
  779.       fi
  780.     done
  781. !   IFS="$saveifs"
  782.   fi
  783.   
  784. ! test -n "$CCC" && test -n "$verbose" && echo "    setting CCC to $CCC"
  785.   
  786.   if test -z "$CCC"; then
  787.   cat <<EOM
  788. --- 392,445 ----
  789.   fi
  790.   if test -z "$CCC"; then
  791.     # Extract the first word of `g++', so it can be a program name with args.
  792. !   set ac_dummy g++; ac_word=$2
  793. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  794. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  795. !   for ac_dir in $PATH; do
  796. !     test -z "$ac_dir" && ac_dir=.
  797. !     if test -f $ac_dir/$ac_word; then
  798.         CCC="g++"
  799.         break
  800.       fi
  801.     done
  802. !   IFS="$ac_save_ifs"
  803.   fi
  804.   
  805. ! test -n "$CCC" && test -n "$verbose" && /bin/echo "    setting CCC to $CCC"
  806.   
  807.   if test -z "$CCC"; then
  808.     # Extract the first word of `CC', so it can be a program name with args.
  809. !   set ac_dummy CC; ac_word=$2
  810. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  811. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  812. !   for ac_dir in $PATH; do
  813. !     test -z "$ac_dir" && ac_dir=.
  814. !     if test -f $ac_dir/$ac_word; then
  815.         CCC="CC"
  816.         break
  817.       fi
  818.     done
  819. !   IFS="$ac_save_ifs"
  820.   fi
  821.   
  822. ! test -n "$CCC" && test -n "$verbose" && /bin/echo "    setting CCC to $CCC"
  823.   
  824.   if test -z "$CCC"; then
  825.     # Extract the first word of `cc++', so it can be a program name with args.
  826. !   set ac_dummy cc++; ac_word=$2
  827. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  828. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  829. !   for ac_dir in $PATH; do
  830. !     test -z "$ac_dir" && ac_dir=.
  831. !     if test -f $ac_dir/$ac_word; then
  832.         CCC="cc++"
  833.         break
  834.       fi
  835.     done
  836. !   IFS="$ac_save_ifs"
  837.   fi
  838.   
  839. ! test -n "$CCC" && test -n "$verbose" && /bin/echo "    setting CCC to $CCC"
  840.   
  841.   if test -z "$CCC"; then
  842.   cat <<EOM
  843. ***************
  844. *** 328,373 ****
  845.   rm -f conftest*
  846.   if test -z "$PSPRINT"
  847.   then
  848. !     for p in lpr
  849.   do
  850.   if test -z "$LPR"; then
  851. !   # Extract the first word of `$p', so it can be a program name with args.
  852. !   set dummy $p; word=$2
  853. !   echo checking for $word
  854. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  855. !   for dir in $PATH; do
  856. !     test -z "$dir" && dir=.
  857. !     if test -f $dir/$word; then
  858. !       LPR="$p"
  859.         break
  860.       fi
  861.     done
  862. !   IFS="$saveifs"
  863.   fi
  864.   
  865. ! test -n "$LPR" && test -n "$verbose" && echo "    setting LPR to $LPR"
  866.   
  867.   test -n "$LPR" && break
  868.   done
  869.   
  870. !     for p in lp
  871.   do
  872.   if test -z "$LP"; then
  873. !   # Extract the first word of `$p', so it can be a program name with args.
  874. !   set dummy $p; word=$2
  875. !   echo checking for $word
  876. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  877. !   for dir in $PATH; do
  878. !     test -z "$dir" && dir=.
  879. !     if test -f $dir/$word; then
  880. !       LP="$p"
  881.         break
  882.       fi
  883.     done
  884. !   IFS="$saveifs"
  885.   fi
  886.   
  887. ! test -n "$LP" && test -n "$verbose" && echo "    setting LP to $LP"
  888.   
  889.   test -n "$LP" && break
  890.   done
  891. --- 515,560 ----
  892.   rm -f conftest*
  893.   if test -z "$PSPRINT"
  894.   then
  895. !     for ac_prog in lpr
  896.   do
  897.   if test -z "$LPR"; then
  898. !   # Extract the first word of `$ac_prog', so it can be a program name with args.
  899. !   set ac_dummy $ac_prog; ac_word=$2
  900. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  901. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  902. !   for ac_dir in $PATH; do
  903. !     test -z "$ac_dir" && ac_dir=.
  904. !     if test -f $ac_dir/$ac_word; then
  905. !       LPR="$ac_prog"
  906.         break
  907.       fi
  908.     done
  909. !   IFS="$ac_save_ifs"
  910.   fi
  911.   
  912. ! test -n "$LPR" && test -n "$verbose" && /bin/echo "    setting LPR to $LPR"
  913.   
  914.   test -n "$LPR" && break
  915.   done
  916.   
  917. !     for ac_prog in lp
  918.   do
  919.   if test -z "$LP"; then
  920. !   # Extract the first word of `$ac_prog', so it can be a program name with args.
  921. !   set ac_dummy $ac_prog; ac_word=$2
  922. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  923. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  924. !   for ac_dir in $PATH; do
  925. !     test -z "$ac_dir" && ac_dir=.
  926. !     if test -f $ac_dir/$ac_word; then
  927. !       LP="$ac_prog"
  928.         break
  929.       fi
  930.     done
  931. !   IFS="$ac_save_ifs"
  932.   fi
  933.   
  934. ! test -n "$LP" && test -n "$verbose" && /bin/echo "    setting LP to $LP"
  935.   
  936.   test -n "$LP" && break
  937.   done
  938. ***************
  939. *** 377,400 ****
  940.           # HP-UX provides an lpr command that emulates lpr using lp,
  941.           # but it doesn't have lpq; in this case we want to use lp
  942.           # rather than lpr.
  943. !         for p in lpq
  944.   do
  945.   if test -z "$LPQ"; then
  946. !   # Extract the first word of `$p', so it can be a program name with args.
  947. !   set dummy $p; word=$2
  948. !   echo checking for $word
  949. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  950. !   for dir in $PATH; do
  951. !     test -z "$dir" && dir=.
  952. !     if test -f $dir/$word; then
  953. !       LPQ="$p"
  954.         break
  955.       fi
  956.     done
  957. !   IFS="$saveifs"
  958.   fi
  959.   
  960. ! test -n "$LPQ" && test -n "$verbose" && echo "    setting LPQ to $LPQ"
  961.   
  962.   test -n "$LPQ" && break
  963.   done
  964. --- 564,587 ----
  965.           # HP-UX provides an lpr command that emulates lpr using lp,
  966.           # but it doesn't have lpq; in this case we want to use lp
  967.           # rather than lpr.
  968. !         for ac_prog in lpq
  969.   do
  970.   if test -z "$LPQ"; then
  971. !   # Extract the first word of `$ac_prog', so it can be a program name with args.
  972. !   set ac_dummy $ac_prog; ac_word=$2
  973. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  974. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  975. !   for ac_dir in $PATH; do
  976. !     test -z "$ac_dir" && ac_dir=.
  977. !     if test -f $ac_dir/$ac_word; then
  978. !       LPQ="$ac_prog"
  979.         break
  980.       fi
  981.     done
  982. !   IFS="$ac_save_ifs"
  983.   fi
  984.   
  985. ! test -n "$LPQ" && test -n "$verbose" && /bin/echo "    setting LPQ to $LPQ"
  986.   
  987.   test -n "$LPQ" && break
  988.   done
  989. ***************
  990. *** 435,534 ****
  991.   
  992.   if test -z "$YACC"; then
  993.     # Extract the first word of `byacc', so it can be a program name with args.
  994. !   set dummy byacc; word=$2
  995. !   echo checking for $word
  996. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  997. !   for dir in $PATH; do
  998. !     test -z "$dir" && dir=.
  999. !     if test -f $dir/$word; then
  1000.         YACC="byacc"
  1001.         break
  1002.       fi
  1003.     done
  1004. !   IFS="$saveifs"
  1005.   fi
  1006.   
  1007. ! test -n "$YACC" && test -n "$verbose" && echo "    setting YACC to $YACC"
  1008.   
  1009.   if test -z "$YACC"; then
  1010.     # Extract the first word of `bison', so it can be a program name with args.
  1011. !   set dummy bison; word=$2
  1012. !   echo checking for $word
  1013. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  1014. !   for dir in $PATH; do
  1015. !     test -z "$dir" && dir=.
  1016. !     if test -f $dir/$word; then
  1017.         YACC="bison -y"
  1018.         break
  1019.       fi
  1020.     done
  1021. !   IFS="$saveifs"
  1022.   fi
  1023.   test -z "$YACC" && YACC="yacc"
  1024. ! test -n "$YACC" && test -n "$verbose" && echo "    setting YACC to $YACC"
  1025.   
  1026.   
  1027.   if test -z "$RANLIB"; then
  1028.     # Extract the first word of `ranlib', so it can be a program name with args.
  1029. !   set dummy ranlib; word=$2
  1030. !   echo checking for $word
  1031. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  1032. !   for dir in $PATH; do
  1033. !     test -z "$dir" && dir=.
  1034. !     if test -f $dir/$word; then
  1035.         RANLIB="ranlib"
  1036.         break
  1037.       fi
  1038.     done
  1039. !   IFS="$saveifs"
  1040.   fi
  1041.   test -z "$RANLIB" && RANLIB=":"
  1042. ! test -n "$RANLIB" && test -n "$verbose" && echo "    setting RANLIB to $RANLIB"
  1043.   
  1044.   # Make sure to not get the incompatible SysV /etc/install and
  1045.   # /usr/sbin/install, which might be in PATH before a BSD-like install,
  1046.   # or the SunOS /usr/etc/install directory, or the AIX /bin/install,
  1047.   # or the AFS install, which mishandles nonexistent args, or
  1048.   # /usr/ucb/install on SVR4, which tries to use the nonexistent group
  1049. ! # `staff'.  On most BSDish systems install is in /usr/bin, not /usr/ucb
  1050. ! # anyway.  Sigh.
  1051. ! if test "z${INSTALL}" = "z" ; then
  1052. !   echo checking for install
  1053. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  1054. !   for dir in $PATH; do
  1055. !     test -z "$dir" && dir=.
  1056. !     case $dir in
  1057. !     /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
  1058.       *)
  1059. !       if test -f $dir/installbsd; then
  1060. !     INSTALL="$dir/installbsd -c" # OSF1
  1061. !     INSTALL_PROGRAM='$(INSTALL)'
  1062. !     INSTALL_DATA='$(INSTALL) -m 644'
  1063. !     break
  1064. !       fi
  1065. !       if test -f $dir/install; then
  1066. !     if grep dspmsg $dir/install >/dev/null 2>&1; then
  1067. !       : # AIX
  1068. !     else
  1069. !       INSTALL="$dir/install -c"
  1070. !       INSTALL_PROGRAM='$(INSTALL)'
  1071. !       INSTALL_DATA='$(INSTALL) -m 644'
  1072. !       break
  1073.       fi
  1074. !       fi
  1075.         ;;
  1076.       esac
  1077.     done
  1078. !   IFS="$saveifs"
  1079.   fi
  1080. ! INSTALL=${INSTALL-cp}
  1081. ! test -n "$verbose" && echo "    setting INSTALL to $INSTALL"
  1082. ! INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
  1083. ! test -n "$verbose" && echo "    setting INSTALL_PROGRAM to $INSTALL_PROGRAM"
  1084. ! INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
  1085. ! test -n "$verbose" && echo "    setting INSTALL_DATA to $INSTALL_DATA"
  1086.   
  1087. ! echo checking for ln -s
  1088.   rm -f conftestdata
  1089.   if ln -s X conftestdata 2>/dev/null
  1090.   then
  1091. --- 622,742 ----
  1092.   
  1093.   if test -z "$YACC"; then
  1094.     # Extract the first word of `byacc', so it can be a program name with args.
  1095. !   set ac_dummy byacc; ac_word=$2
  1096. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  1097. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1098. !   for ac_dir in $PATH; do
  1099. !     test -z "$ac_dir" && ac_dir=.
  1100. !     if test -f $ac_dir/$ac_word; then
  1101.         YACC="byacc"
  1102.         break
  1103.       fi
  1104.     done
  1105. !   IFS="$ac_save_ifs"
  1106.   fi
  1107.   
  1108. ! test -n "$YACC" && test -n "$verbose" && /bin/echo "    setting YACC to $YACC"
  1109.   
  1110.   if test -z "$YACC"; then
  1111.     # Extract the first word of `bison', so it can be a program name with args.
  1112. !   set ac_dummy bison; ac_word=$2
  1113. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  1114. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1115. !   for ac_dir in $PATH; do
  1116. !     test -z "$ac_dir" && ac_dir=.
  1117. !     if test -f $ac_dir/$ac_word; then
  1118.         YACC="bison -y"
  1119.         break
  1120.       fi
  1121.     done
  1122. !   IFS="$ac_save_ifs"
  1123.   fi
  1124.   test -z "$YACC" && YACC="yacc"
  1125. ! test -n "$YACC" && test -n "$verbose" && /bin/echo "    setting YACC to $YACC"
  1126.   
  1127.   
  1128.   if test -z "$RANLIB"; then
  1129.     # Extract the first word of `ranlib', so it can be a program name with args.
  1130. !   set ac_dummy ranlib; ac_word=$2
  1131. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  1132. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1133. !   for ac_dir in $PATH; do
  1134. !     test -z "$ac_dir" && ac_dir=.
  1135. !     if test -f $ac_dir/$ac_word; then
  1136.         RANLIB="ranlib"
  1137.         break
  1138.       fi
  1139.     done
  1140. !   IFS="$ac_save_ifs"
  1141.   fi
  1142.   test -z "$RANLIB" && RANLIB=":"
  1143. ! test -n "$RANLIB" && test -n "$verbose" && /bin/echo "    setting RANLIB to $RANLIB"
  1144.   
  1145.   # Make sure to not get the incompatible SysV /etc/install and
  1146.   # /usr/sbin/install, which might be in PATH before a BSD-like install,
  1147.   # or the SunOS /usr/etc/install directory, or the AIX /bin/install,
  1148.   # or the AFS install, which mishandles nonexistent args, or
  1149.   # /usr/ucb/install on SVR4, which tries to use the nonexistent group
  1150. ! # `staff', or /sbin/install on IRIX which has incompatible command-line
  1151. ! # syntax.  Sigh.
  1152. ! #
  1153. ! #     On most BSDish systems install is in /usr/bin, not /usr/ucb
  1154. ! #     anyway.
  1155. ! # This turns out not to be true, so the mere pathname isn't an indication
  1156. ! # of whether the program works.  What we really need is a set of tests for
  1157. ! # the install program to see if it actually works in all the required ways.
  1158. ! #
  1159. ! # Avoid using ./install, which might have been erroneously created
  1160. ! # by make from ./install.sh.
  1161. ! if test -z "${INSTALL}"; then
  1162. !   test -n "$silent" || /bin/echo "checking for a BSD compatible install"
  1163. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1164. !   for ac_dir in $PATH; do
  1165. !     case "$ac_dir" in
  1166. !     ''|.|/gnu/etc|/sbin|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
  1167.       *)
  1168. !       # OSF1 and SCO ODT 3.0 have their own names for install.
  1169. !       for ac_prog in installbsd scoinst install; do
  1170. !         if test -f $ac_dir/$ac_prog; then
  1171. !       if test $ac_prog = install &&
  1172. !             grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  1173. !         # AIX install.  It has an incompatible calling convention.
  1174. !         # OSF/1 installbsd also uses dspmsg, but is usable.
  1175. !         :
  1176. !       else
  1177. !         INSTALL="$ac_dir/$ac_prog -c"
  1178. !         break 2
  1179. !       fi
  1180.       fi
  1181. !       done
  1182.         ;;
  1183.       esac
  1184.     done
  1185. !   IFS="$ac_save_ifs"
  1186. ! fi
  1187. ! if test -z "$INSTALL"; then
  1188. !   # As a last resort, use the slow shell script.
  1189. !   for ac_dir in ${srcdir} ${srcdir}/.. ${srcdir}/../..; do
  1190. !     if test -f $ac_dir/install.sh; then
  1191. !       INSTALL="$ac_dir/install.sh -c"; break
  1192. !     fi
  1193. !   done
  1194. ! fi
  1195. ! if test -z "$INSTALL"; then
  1196. !   /bin/echo "configure: can not find install.sh in ${srcdir} or ${srcdir}/.. or ${srcdir}/../.." >&2; exit 1
  1197.   fi
  1198. ! test -n "$verbose" && /bin/echo "    setting INSTALL to $INSTALL"
  1199.   
  1200. ! # Use test -z because SunOS4 sh mishandles ${INSTALL_PROGRAM-'${INSTALL}'}.
  1201. ! # It thinks the first close brace ends the variable substitution.
  1202. ! test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
  1203. ! test -n "$verbose" && /bin/echo "    setting INSTALL_PROGRAM to $INSTALL_PROGRAM"
  1204. ! test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  1205. ! test -n "$verbose" && /bin/echo "    setting INSTALL_DATA to $INSTALL_DATA"
  1206. ! test -n "$silent" || /bin/echo "checking for ln -s"
  1207.   rm -f conftestdata
  1208.   if ln -s X conftestdata 2>/dev/null
  1209.   then
  1210. ***************
  1211. *** 549,588 ****
  1212.       rm -f conftest.c
  1213.   done
  1214.   
  1215. ! echo 'checking for csh # hack'
  1216. ! cat <<EOF >conftest.sh
  1217. ! #!/bin/sh
  1218. ! true || exit 0
  1219. ! export PATH || exit 0
  1220. ! exit 1
  1221. ! EOF
  1222. ! chmod +x conftest.sh
  1223. ! if echo ./conftest.sh | (csh >/dev/null 2>&1) >/dev/null 2>&1
  1224. ! then
  1225. !     :; SH_SCRIPT_SED_CMD='1s/.*/:/'
  1226. ! else
  1227. !     :; SH_SCRIPT_SED_CMD=''
  1228. ! fi
  1229. ! rm -f conftest.sh
  1230.   
  1231. ! for hdr in unistd.h dirent.h limits.h sys/dir.h stdlib.h
  1232. ! do
  1233. ! trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
  1234. ! echo checking for ${hdr}
  1235. ! echo checking how to run the C preprocessor
  1236.   if test -z "$CPP"; then
  1237.     # This must be in double quotes, not single quotes, because CPP may get
  1238.     # substituted into the Makefile and ``${CC-cc}'' will simply confuse
  1239.     # make.  It must be expanded now.
  1240.     CPP="${CC-cc} -E"
  1241. !   cat > conftest.c <<EOF
  1242.   #include "confdefs.h"
  1243.   #include <stdio.h>
  1244.   Syntax Error
  1245.   EOF
  1246. ! err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
  1247. ! if test -z "$err"; then
  1248.     :
  1249.   else
  1250.     rm -rf conftest*
  1251. --- 757,793 ----
  1252.       rm -f conftest.c
  1253.   done
  1254.   
  1255. ! #Disable this for now, it croaks the Amiga pdksh port.
  1256. ! #GROFF_CSH_HACK(SH_SCRIPT_SED_CMD='1s/.*/:/', SH_SCRIPT_SED_CMD='')
  1257.   
  1258. ! test -n "$silent" || /bin/echo "checking how to run the C preprocessor"
  1259.   if test -z "$CPP"; then
  1260.     # This must be in double quotes, not single quotes, because CPP may get
  1261.     # substituted into the Makefile and ``${CC-cc}'' will simply confuse
  1262.     # make.  It must be expanded now.
  1263.     CPP="${CC-cc} -E"
  1264. !   cat > conftest.${ac_ext} <<EOF
  1265. ! #include "confdefs.h"
  1266. ! #include <stdio.h>
  1267. ! Syntax Error
  1268. ! EOF
  1269. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1270. ! # the parens.
  1271. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1272. ! if test -z "$ac_err"; then
  1273. !   :
  1274. ! else
  1275. !   rm -rf conftest*
  1276. !   CPP="${CC-cc} -E -traditional-cpp"
  1277. !   cat > conftest.${ac_ext} <<EOF
  1278.   #include "confdefs.h"
  1279.   #include <stdio.h>
  1280.   Syntax Error
  1281.   EOF
  1282. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1283. ! # the parens.
  1284. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1285. ! if test -z "$ac_err"; then
  1286.     :
  1287.   else
  1288.     rm -rf conftest*
  1289. ***************
  1290. *** 590,610 ****
  1291.   fi
  1292.   rm -f conftest*
  1293.   fi
  1294. ! test ".${verbose}" != "." && echo "    setting CPP to $CPP"
  1295.   
  1296. ! cat > conftest.c <<EOF
  1297.   #include "confdefs.h"
  1298. ! #include <${hdr}>
  1299.   EOF
  1300. ! err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
  1301. ! if test -z "$err"; then
  1302.     rm -rf conftest*
  1303.     
  1304.   {
  1305.   test -n "$verbose" && \
  1306. ! echo "    defining ${trhdr}"
  1307. ! echo "#define" ${trhdr} 1 >> confdefs.h
  1308. ! DEFS="$DEFS -D${trhdr}=1"
  1309.   }
  1310.   
  1311.   
  1312. --- 795,823 ----
  1313.   fi
  1314.   rm -f conftest*
  1315.   fi
  1316. ! rm -f conftest*
  1317. ! fi
  1318. ! test -n "$verbose" && /bin/echo "    setting CPP to $CPP"
  1319.   
  1320. ! for ac_hdr in unistd.h dirent.h limits.h sys/dir.h stdlib.h
  1321. ! do
  1322. ! ac_tr_hdr=HAVE_`/bin/echo $ac_hdr | tr '[a-z]./' '[A-Z]__'`
  1323. ! test -n "$silent" || /bin/echo "checking for ${ac_hdr}"
  1324. ! cat > conftest.${ac_ext} <<EOF
  1325.   #include "confdefs.h"
  1326. ! #include <${ac_hdr}>
  1327.   EOF
  1328. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1329. ! # the parens.
  1330. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1331. ! if test -z "$ac_err"; then
  1332.     rm -rf conftest*
  1333.     
  1334.   {
  1335.   test -n "$verbose" && \
  1336. ! /bin/echo "    defining ${ac_tr_hdr}"
  1337. ! /bin/echo "#define" ${ac_tr_hdr} "1" >> confdefs.h
  1338. ! DEFS="$DEFS -D${ac_tr_hdr}=1"
  1339.   }
  1340.   
  1341.   
  1342. ***************
  1343. *** 613,625 ****
  1344.   done
  1345.   
  1346.   echo 'checking for ISC 3.x or 4.x'
  1347. ! if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  1348.   then
  1349.       
  1350.   {
  1351.   test -n "$verbose" && \
  1352. ! echo "    defining _SYSV3"
  1353. ! echo "#define" _SYSV3 1 >> confdefs.h
  1354.   DEFS="$DEFS -D_SYSV3=1"
  1355.   }
  1356.   
  1357. --- 826,838 ----
  1358.   done
  1359.   
  1360.   echo 'checking for ISC 3.x or 4.x'
  1361. ! if true || grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  1362.   then
  1363.       
  1364.   {
  1365.   test -n "$verbose" && \
  1366. ! /bin/echo "    defining _SYSV3"
  1367. ! /bin/echo "#define" _SYSV3 "1" >> confdefs.h
  1368.   DEFS="$DEFS -D_SYSV3=1"
  1369.   }
  1370.   
  1371. ***************
  1372. *** 635,642 ****
  1373.     
  1374.   {
  1375.   test -n "$verbose" && \
  1376. ! echo "    defining _POSIX_SOURCE"
  1377. ! echo "#define" _POSIX_SOURCE 1 >> confdefs.h
  1378.   DEFS="$DEFS -D_POSIX_SOURCE=1"
  1379.   }
  1380.   
  1381. --- 848,855 ----
  1382.     
  1383.   {
  1384.   test -n "$verbose" && \
  1385. ! /bin/echo "    defining _POSIX_SOURCE"
  1386. ! /bin/echo "#define" _POSIX_SOURCE "1" >> confdefs.h
  1387.   DEFS="$DEFS -D_POSIX_SOURCE=1"
  1388.   }
  1389.   
  1390. ***************
  1391. *** 651,658 ****
  1392.     
  1393.   {
  1394.   test -n "$verbose" && \
  1395. ! echo "    defining HAVE_CC_LIMITS_H"
  1396. ! echo "#define" HAVE_CC_LIMITS_H 1 >> confdefs.h
  1397.   DEFS="$DEFS -DHAVE_CC_LIMITS_H=1"
  1398.   }
  1399.   
  1400. --- 864,871 ----
  1401.     
  1402.   {
  1403.   test -n "$verbose" && \
  1404. ! /bin/echo "    defining HAVE_CC_LIMITS_H"
  1405. ! /bin/echo "#define" HAVE_CC_LIMITS_H "1" >> confdefs.h
  1406.   DEFS="$DEFS -DHAVE_CC_LIMITS_H=1"
  1407.   }
  1408.   
  1409. ***************
  1410. *** 667,674 ****
  1411.     
  1412.   {
  1413.   test -n "$verbose" && \
  1414. ! echo "    defining HAVE_CC_OSFCN_H"
  1415. ! echo "#define" HAVE_CC_OSFCN_H 1 >> confdefs.h
  1416.   DEFS="$DEFS -DHAVE_CC_OSFCN_H=1"
  1417.   }
  1418.   
  1419. --- 880,887 ----
  1420.     
  1421.   {
  1422.   test -n "$verbose" && \
  1423. ! /bin/echo "    defining HAVE_CC_OSFCN_H"
  1424. ! /bin/echo "#define" HAVE_CC_OSFCN_H "1" >> confdefs.h
  1425.   DEFS="$DEFS -DHAVE_CC_OSFCN_H=1"
  1426.   }
  1427.   
  1428. ***************
  1429. *** 686,693 ****
  1430.     
  1431.   {
  1432.   test -n "$verbose" && \
  1433. ! echo "    defining STDLIB_H_DECLARES_GETOPT"
  1434. ! echo "#define" STDLIB_H_DECLARES_GETOPT 1 >> confdefs.h
  1435.   DEFS="$DEFS -DSTDLIB_H_DECLARES_GETOPT=1"
  1436.   }
  1437.   
  1438. --- 899,906 ----
  1439.     
  1440.   {
  1441.   test -n "$verbose" && \
  1442. ! /bin/echo "    defining STDLIB_H_DECLARES_GETOPT"
  1443. ! /bin/echo "#define" STDLIB_H_DECLARES_GETOPT "1" >> confdefs.h
  1444.   DEFS="$DEFS -DSTDLIB_H_DECLARES_GETOPT=1"
  1445.   }
  1446.   
  1447. ***************
  1448. *** 706,713 ****
  1449.     
  1450.   {
  1451.   test -n "$verbose" && \
  1452. ! echo "    defining UNISTD_H_DECLARES_GETOPT"
  1453. ! echo "#define" UNISTD_H_DECLARES_GETOPT 1 >> confdefs.h
  1454.   DEFS="$DEFS -DUNISTD_H_DECLARES_GETOPT=1"
  1455.   }
  1456.   
  1457. --- 919,926 ----
  1458.     
  1459.   {
  1460.   test -n "$verbose" && \
  1461. ! /bin/echo "    defining UNISTD_H_DECLARES_GETOPT"
  1462. ! /bin/echo "#define" UNISTD_H_DECLARES_GETOPT "1" >> confdefs.h
  1463.   DEFS="$DEFS -DUNISTD_H_DECLARES_GETOPT=1"
  1464.   }
  1465.   
  1466. ***************
  1467. *** 726,733 ****
  1468.     
  1469.   {
  1470.   test -n "$verbose" && \
  1471. ! echo "    defining STDLIB_H_DECLARES_PUTENV"
  1472. ! echo "#define" STDLIB_H_DECLARES_PUTENV 1 >> confdefs.h
  1473.   DEFS="$DEFS -DSTDLIB_H_DECLARES_PUTENV=1"
  1474.   }
  1475.   
  1476. --- 939,946 ----
  1477.     
  1478.   {
  1479.   test -n "$verbose" && \
  1480. ! /bin/echo "    defining STDLIB_H_DECLARES_PUTENV"
  1481. ! /bin/echo "#define" STDLIB_H_DECLARES_PUTENV "1" >> confdefs.h
  1482.   DEFS="$DEFS -DSTDLIB_H_DECLARES_PUTENV=1"
  1483.   }
  1484.   
  1485. ***************
  1486. *** 745,752 ****
  1487.     
  1488.   {
  1489.   test -n "$verbose" && \
  1490. ! echo "    defining STDIO_H_DECLARES_POPEN"
  1491. ! echo "#define" STDIO_H_DECLARES_POPEN 1 >> confdefs.h
  1492.   DEFS="$DEFS -DSTDIO_H_DECLARES_POPEN=1"
  1493.   }
  1494.   
  1495. --- 958,965 ----
  1496.     
  1497.   {
  1498.   test -n "$verbose" && \
  1499. ! /bin/echo "    defining STDIO_H_DECLARES_POPEN"
  1500. ! /bin/echo "#define" STDIO_H_DECLARES_POPEN "1" >> confdefs.h
  1501.   DEFS="$DEFS -DSTDIO_H_DECLARES_POPEN=1"
  1502.   }
  1503.   
  1504. ***************
  1505. *** 764,771 ****
  1506.     
  1507.   {
  1508.   test -n "$verbose" && \
  1509. ! echo "    defining STDIO_H_DECLARES_PCLOSE"
  1510. ! echo "#define" STDIO_H_DECLARES_PCLOSE 1 >> confdefs.h
  1511.   DEFS="$DEFS -DSTDIO_H_DECLARES_PCLOSE=1"
  1512.   }
  1513.   
  1514. --- 977,984 ----
  1515.     
  1516.   {
  1517.   test -n "$verbose" && \
  1518. ! /bin/echo "    defining STDIO_H_DECLARES_PCLOSE"
  1519. ! /bin/echo "#define" STDIO_H_DECLARES_PCLOSE "1" >> confdefs.h
  1520.   DEFS="$DEFS -DSTDIO_H_DECLARES_PCLOSE=1"
  1521.   }
  1522.   
  1523. ***************
  1524. *** 782,796 ****
  1525.     
  1526.   {
  1527.   test -n "$verbose" && \
  1528. ! echo "    defining LONG_FOR_TIME_T"
  1529. ! echo "#define" LONG_FOR_TIME_T 1 >> confdefs.h
  1530.   DEFS="$DEFS -DLONG_FOR_TIME_T=1"
  1531.   }
  1532.   
  1533.   fi
  1534.   rm -f conftest*
  1535. ! echo checking for return type of signal handlers
  1536. ! cat > conftest.c <<EOF
  1537.   #include "confdefs.h"
  1538.   #include <sys/types.h>
  1539.   #include <signal.h>
  1540. --- 995,1009 ----
  1541.     
  1542.   {
  1543.   test -n "$verbose" && \
  1544. ! /bin/echo "    defining LONG_FOR_TIME_T"
  1545. ! /bin/echo "#define" LONG_FOR_TIME_T "1" >> confdefs.h
  1546.   DEFS="$DEFS -DLONG_FOR_TIME_T=1"
  1547.   }
  1548.   
  1549.   fi
  1550.   rm -f conftest*
  1551. ! test -n "$silent" || /bin/echo "checking for return type of signal handlers"
  1552. ! cat > conftest.${ac_ext} <<EOF
  1553.   #include "confdefs.h"
  1554.   #include <sys/types.h>
  1555.   #include <signal.h>
  1556. ***************
  1557. *** 798,813 ****
  1558.   #undef signal
  1559.   #endif
  1560.   extern void (*signal ()) ();
  1561. ! int main() { exit(0); }
  1562. ! int t() { int i; }
  1563.   EOF
  1564. ! if eval $compile; then
  1565.     rm -rf conftest*
  1566.     
  1567.   {
  1568.   test -n "$verbose" && \
  1569. ! echo "    defining" RETSIGTYPE to be void
  1570. ! echo "#define" RETSIGTYPE void >> confdefs.h
  1571.   DEFS="$DEFS -DRETSIGTYPE=void"
  1572.   }
  1573.   
  1574. --- 1011,1026 ----
  1575.   #undef signal
  1576.   #endif
  1577.   extern void (*signal ()) ();
  1578. ! int main() { return 0; }
  1579. ! int t() { int i;; return 0; }
  1580.   EOF
  1581. ! if eval $ac_compile; then
  1582.     rm -rf conftest*
  1583.     
  1584.   {
  1585.   test -n "$verbose" && \
  1586. ! /bin/echo "    defining" RETSIGTYPE to be "void"
  1587. ! /bin/echo "#define" RETSIGTYPE "void" >> confdefs.h
  1588.   DEFS="$DEFS -DRETSIGTYPE=void"
  1589.   }
  1590.   
  1591. ***************
  1592. *** 817,824 ****
  1593.     
  1594.   {
  1595.   test -n "$verbose" && \
  1596. ! echo "    defining" RETSIGTYPE to be int
  1597. ! echo "#define" RETSIGTYPE int >> confdefs.h
  1598.   DEFS="$DEFS -DRETSIGTYPE=int"
  1599.   }
  1600.   
  1601. --- 1030,1037 ----
  1602.     
  1603.   {
  1604.   test -n "$verbose" && \
  1605. ! /bin/echo "    defining" RETSIGTYPE to be "int"
  1606. ! /bin/echo "#define" RETSIGTYPE "int" >> confdefs.h
  1607.   DEFS="$DEFS -DRETSIGTYPE=int"
  1608.   }
  1609.   
  1610. ***************
  1611. *** 826,845 ****
  1612.   rm -f conftest*
  1613.   
  1614.   
  1615. ! echo checking for struct exception
  1616. ! cat > conftest.c <<EOF
  1617.   #include "confdefs.h"
  1618.   #include <math.h>
  1619. ! int main() { exit(0); }
  1620. ! int t() { struct exception e; }
  1621.   EOF
  1622. ! if eval $compile; then
  1623.     rm -rf conftest*
  1624.     
  1625.   {
  1626.   test -n "$verbose" && \
  1627. ! echo "    defining HAVE_STRUCT_EXCEPTION"
  1628. ! echo "#define" HAVE_STRUCT_EXCEPTION 1 >> confdefs.h
  1629.   DEFS="$DEFS -DHAVE_STRUCT_EXCEPTION=1"
  1630.   }
  1631.   
  1632. --- 1039,1058 ----
  1633.   rm -f conftest*
  1634.   
  1635.   
  1636. ! test -n "$silent" || /bin/echo "checking for struct exception"
  1637. ! cat > conftest.${ac_ext} <<EOF
  1638.   #include "confdefs.h"
  1639.   #include <math.h>
  1640. ! int main() { return 0; }
  1641. ! int t() { struct exception e;; return 0; }
  1642.   EOF
  1643. ! if eval $ac_compile; then
  1644.     rm -rf conftest*
  1645.     
  1646.   {
  1647.   test -n "$verbose" && \
  1648. ! /bin/echo "    defining HAVE_STRUCT_EXCEPTION"
  1649. ! /bin/echo "#define" HAVE_STRUCT_EXCEPTION "1" >> confdefs.h
  1650.   DEFS="$DEFS -DHAVE_STRUCT_EXCEPTION=1"
  1651.   }
  1652.   
  1653. ***************
  1654. *** 847,867 ****
  1655.   fi
  1656.   rm -f conftest*
  1657.   
  1658. ! echo checking for mmap
  1659. ! cat > conftest.c <<EOF
  1660.   #include "confdefs.h"
  1661.   #include <sys/types.h>
  1662.   #include <sys/mman.h>
  1663. ! int main() { exit(0); }
  1664. ! int t() { char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0); }
  1665.   EOF
  1666. ! if eval $compile; then
  1667.     rm -rf conftest*
  1668.     
  1669.   {
  1670.   test -n "$verbose" && \
  1671. ! echo "    defining HAVE_MMAP"
  1672. ! echo "#define" HAVE_MMAP 1 >> confdefs.h
  1673.   DEFS="$DEFS -DHAVE_MMAP=1"
  1674.   }
  1675.   
  1676. --- 1060,1080 ----
  1677.   fi
  1678.   rm -f conftest*
  1679.   
  1680. ! test -n "$silent" || /bin/echo "checking for mmap"
  1681. ! cat > conftest.${ac_ext} <<EOF
  1682.   #include "confdefs.h"
  1683.   #include <sys/types.h>
  1684.   #include <sys/mman.h>
  1685. ! int main() { return 0; }
  1686. ! int t() { char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0);; return 0; }
  1687.   EOF
  1688. ! if eval $ac_compile; then
  1689.     rm -rf conftest*
  1690.     
  1691.   {
  1692.   test -n "$verbose" && \
  1693. ! /bin/echo "    defining HAVE_MMAP"
  1694. ! /bin/echo "#define" HAVE_MMAP "1" >> confdefs.h
  1695.   DEFS="$DEFS -DHAVE_MMAP=1"
  1696.   }
  1697.   
  1698. ***************
  1699. *** 869,878 ****
  1700.   fi
  1701.   rm -f conftest*
  1702.   
  1703. ! echo checking for pid_t in sys/types.h
  1704. ! echo '#include "confdefs.h"
  1705. ! #include <sys/types.h>' > conftest.c
  1706. ! eval "$CPP conftest.c > conftest.out 2>&1"
  1707.   if egrep "pid_t" conftest.out >/dev/null 2>&1; then
  1708.     :
  1709.   else
  1710. --- 1082,1091 ----
  1711.   fi
  1712.   rm -f conftest*
  1713.   
  1714. ! test -n "$silent" || /bin/echo "checking for pid_t in sys/types.h"
  1715. ! /bin/echo '#include "confdefs.h"
  1716. ! #include <sys/types.h>' > conftest.${ac_ext}
  1717. ! eval "$ac_cpp conftest.${ac_ext} > conftest.out 2>&1"
  1718.   if egrep "pid_t" conftest.out >/dev/null 2>&1; then
  1719.     :
  1720.   else
  1721. ***************
  1722. *** 880,906 ****
  1723.     
  1724.   {
  1725.   test -n "$verbose" && \
  1726. ! echo "    defining" pid_t to be int
  1727. ! echo "#define" pid_t int >> confdefs.h
  1728.   DEFS="$DEFS -Dpid_t=int"
  1729.   }
  1730.   
  1731.   fi
  1732.   rm -f conftest*
  1733.   
  1734. ! echo checking for vfork.h
  1735. ! cat > conftest.c <<EOF
  1736.   #include "confdefs.h"
  1737.   #include <vfork.h>
  1738.   EOF
  1739. ! err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
  1740. ! if test -z "$err"; then
  1741.     rm -rf conftest*
  1742.     
  1743.   {
  1744.   test -n "$verbose" && \
  1745. ! echo "    defining HAVE_VFORK_H"
  1746. ! echo "#define" HAVE_VFORK_H 1 >> confdefs.h
  1747.   DEFS="$DEFS -DHAVE_VFORK_H=1"
  1748.   }
  1749.   
  1750. --- 1093,1121 ----
  1751.     
  1752.   {
  1753.   test -n "$verbose" && \
  1754. ! /bin/echo "    defining" pid_t to be "int"
  1755. ! /bin/echo "#define" pid_t "int" >> confdefs.h
  1756.   DEFS="$DEFS -Dpid_t=int"
  1757.   }
  1758.   
  1759.   fi
  1760.   rm -f conftest*
  1761.   
  1762. ! test -n "$silent" || /bin/echo "checking for vfork.h"
  1763. ! cat > conftest.${ac_ext} <<EOF
  1764.   #include "confdefs.h"
  1765.   #include <vfork.h>
  1766.   EOF
  1767. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1768. ! # the parens.
  1769. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1770. ! if test -z "$ac_err"; then
  1771.     rm -rf conftest*
  1772.     
  1773.   {
  1774.   test -n "$verbose" && \
  1775. ! /bin/echo "    defining HAVE_VFORK_H"
  1776. ! /bin/echo "#define" HAVE_VFORK_H "1" >> confdefs.h
  1777.   DEFS="$DEFS -DHAVE_VFORK_H=1"
  1778.   }
  1779.   
  1780. ***************
  1781. *** 908,916 ****
  1782.   fi
  1783.   rm -f conftest*
  1784.   
  1785. ! echo checking for working vfork
  1786.   
  1787. ! cat > conftest.c <<EOF
  1788.   #include "confdefs.h"
  1789.   /* Thanks to Paul Eggert for this test.  */
  1790.   #include <stdio.h>
  1791. --- 1123,1131 ----
  1792.   fi
  1793.   rm -f conftest*
  1794.   
  1795. ! test -n "$silent" || /bin/echo "checking for working vfork"
  1796.   
  1797. ! cat > conftest.${ac_ext} <<EOF
  1798.   #include "confdefs.h"
  1799.   /* Thanks to Paul Eggert for this test.  */
  1800.   #include <stdio.h>
  1801. ***************
  1802. *** 929,934 ****
  1803. --- 1144,1154 ----
  1804.     pid_t parent = getpid ();
  1805.     pid_t child;
  1806.   
  1807. + #ifdef __amigados__
  1808. +   /* Force this test to succeed for AmigaDOS, which has a fairly good
  1809. +      vfork() emulation, but doesn't support fork() at all.  -fnf */
  1810. +   exit (0);
  1811. + #endif
  1812.     signal (SIGINT, catch);
  1813.   
  1814.     child = vfork ();
  1815. ***************
  1816. *** 994,1008 ****
  1817.     }
  1818.   }
  1819.   EOF
  1820. ! eval $compile
  1821.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  1822.     :
  1823.   else
  1824.     
  1825.   {
  1826.   test -n "$verbose" && \
  1827. ! echo "    defining" vfork to be fork
  1828. ! echo "#define" vfork fork >> confdefs.h
  1829.   DEFS="$DEFS -Dvfork=fork"
  1830.   }
  1831.   
  1832. --- 1214,1228 ----
  1833.     }
  1834.   }
  1835.   EOF
  1836. ! eval $ac_compile
  1837.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  1838.     :
  1839.   else
  1840.     
  1841.   {
  1842.   test -n "$verbose" && \
  1843. ! /bin/echo "    defining" vfork to be "fork"
  1844. ! /bin/echo "#define" vfork "fork" >> confdefs.h
  1845.   DEFS="$DEFS -Dvfork=fork"
  1846.   }
  1847.   
  1848. ***************
  1849. *** 1011,1074 ****
  1850.   
  1851.   saved_libs="$LIBS"
  1852.   LIBS="$LIBS -lm"
  1853. ! for func in fmod strtol getcwd strerror putenv
  1854.   do
  1855. ! echo checking for ${func}
  1856. ! cat > conftest.c <<EOF
  1857.   #include "confdefs.h"
  1858.   #include <ctype.h>
  1859. ! int main() { exit(0); }
  1860.   int t() { 
  1861.   /* The GNU C library defines this for functions which it implements
  1862.       to always fail with ENOSYS.  Some functions are actually named
  1863.       something starting with __ and the normal name is an alias.  */
  1864. ! #if defined (__stub_${func}) || defined (__stub___${func})
  1865.   choke me
  1866.   #else
  1867.   /* Override any gcc2 internal prototype to avoid an error.  */
  1868. ! extern char ${func}(); ${func}();
  1869.   #endif
  1870. !  }
  1871.   EOF
  1872. ! if eval $compile; then
  1873.     :
  1874.   else
  1875.     rm -rf conftest*
  1876. !   LIBOBJS="$LIBOBJS ${func}.o"
  1877. ! test -n "$verbose" && echo "    using ${func}.o instead"
  1878.   fi
  1879.   rm -f conftest*
  1880.   
  1881.   done
  1882.   
  1883.   LIBS="$saved_libs"
  1884. ! for func in rename mkstemp
  1885.   do
  1886. ! trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
  1887. ! echo checking for ${func}
  1888. ! cat > conftest.c <<EOF
  1889.   #include "confdefs.h"
  1890.   #include <ctype.h>
  1891. ! int main() { exit(0); }
  1892.   int t() { 
  1893.   /* The GNU C library defines this for functions which it implements
  1894.       to always fail with ENOSYS.  Some functions are actually named
  1895.       something starting with __ and the normal name is an alias.  */
  1896. ! #if defined (__stub_${func}) || defined (__stub___${func})
  1897.   choke me
  1898.   #else
  1899.   /* Override any gcc2 internal prototype to avoid an error.  */
  1900. ! extern char ${func}(); ${func}();
  1901.   #endif
  1902. !  }
  1903.   EOF
  1904. ! if eval $compile; then
  1905.     rm -rf conftest*
  1906.     {
  1907.   test -n "$verbose" && \
  1908. ! echo "    defining ${trfunc}"
  1909. ! echo "#define" ${trfunc} 1 >> confdefs.h
  1910. ! DEFS="$DEFS -D${trfunc}=1"
  1911.   }
  1912.   
  1913.   
  1914. --- 1231,1294 ----
  1915.   
  1916.   saved_libs="$LIBS"
  1917.   LIBS="$LIBS -lm"
  1918. ! for ac_func in fmod strtol getcwd strerror putenv
  1919.   do
  1920. ! test -n "$silent" || /bin/echo "checking for ${ac_func}"
  1921. ! cat > conftest.${ac_ext} <<EOF
  1922.   #include "confdefs.h"
  1923.   #include <ctype.h>
  1924. ! int main() { return 0; }
  1925.   int t() { 
  1926.   /* The GNU C library defines this for functions which it implements
  1927.       to always fail with ENOSYS.  Some functions are actually named
  1928.       something starting with __ and the normal name is an alias.  */
  1929. ! #if defined (__stub_${ac_func}) || defined (__stub___${ac_func})
  1930.   choke me
  1931.   #else
  1932.   /* Override any gcc2 internal prototype to avoid an error.  */
  1933. ! extern char ${ac_func}(); ${ac_func}();
  1934.   #endif
  1935. ! ; return 0; }
  1936.   EOF
  1937. ! if eval $ac_compile; then
  1938.     :
  1939.   else
  1940.     rm -rf conftest*
  1941. !   LIBOBJS="$LIBOBJS ${ac_func}.o"
  1942. ! test -n "$verbose" && /bin/echo "    using ${ac_func}.o instead"
  1943.   fi
  1944.   rm -f conftest*
  1945.   
  1946.   done
  1947.   
  1948.   LIBS="$saved_libs"
  1949. ! for ac_func in rename mkstemp
  1950.   do
  1951. ! ac_tr_func=HAVE_`/bin/echo $ac_func | tr '[a-z]' '[A-Z]'`
  1952. ! test -n "$silent" || /bin/echo "checking for ${ac_func}"
  1953. ! cat > conftest.${ac_ext} <<EOF
  1954.   #include "confdefs.h"
  1955.   #include <ctype.h>
  1956. ! int main() { return 0; }
  1957.   int t() { 
  1958.   /* The GNU C library defines this for functions which it implements
  1959.       to always fail with ENOSYS.  Some functions are actually named
  1960.       something starting with __ and the normal name is an alias.  */
  1961. ! #if defined (__stub_${ac_func}) || defined (__stub___${ac_func})
  1962.   choke me
  1963.   #else
  1964.   /* Override any gcc2 internal prototype to avoid an error.  */
  1965. ! extern char ${ac_func}(); ${ac_func}();
  1966.   #endif
  1967. ! ; return 0; }
  1968.   EOF
  1969. ! if eval $ac_compile; then
  1970.     rm -rf conftest*
  1971.     {
  1972.   test -n "$verbose" && \
  1973. ! /bin/echo "    defining ${ac_tr_func}"
  1974. ! /bin/echo "#define" ${ac_tr_func} "1" >> confdefs.h
  1975. ! DEFS="$DEFS -D${ac_tr_func}=1"
  1976.   }
  1977.   
  1978.   
  1979. ***************
  1980. *** 1076,1095 ****
  1981.   rm -f conftest*
  1982.   done
  1983.   
  1984. ! echo checking for sys_siglist
  1985. ! cat > conftest.c <<EOF
  1986.   #include "confdefs.h"
  1987.   
  1988. ! int main() { exit(0); }
  1989. ! int t() { extern char *sys_siglist[]; sys_siglist[0] = 0; }
  1990.   EOF
  1991. ! if eval $compile; then
  1992.     rm -rf conftest*
  1993.     
  1994.   {
  1995.   test -n "$verbose" && \
  1996. ! echo "    defining HAVE_SYS_SIGLIST"
  1997. ! echo "#define" HAVE_SYS_SIGLIST 1 >> confdefs.h
  1998.   DEFS="$DEFS -DHAVE_SYS_SIGLIST=1"
  1999.   }
  2000.   
  2001. --- 1296,1315 ----
  2002.   rm -f conftest*
  2003.   done
  2004.   
  2005. ! test -n "$silent" || /bin/echo "checking for sys_siglist"
  2006. ! cat > conftest.${ac_ext} <<EOF
  2007.   #include "confdefs.h"
  2008.   
  2009. ! int main() { return 0; }
  2010. ! int t() { extern char *sys_siglist[]; sys_siglist[0] = 0;; return 0; }
  2011.   EOF
  2012. ! if eval $ac_compile; then
  2013.     rm -rf conftest*
  2014.     
  2015.   {
  2016.   test -n "$verbose" && \
  2017. ! /bin/echo "    defining HAVE_SYS_SIGLIST"
  2018. ! /bin/echo "#define" HAVE_SYS_SIGLIST "1" >> confdefs.h
  2019.   DEFS="$DEFS -DHAVE_SYS_SIGLIST=1"
  2020.   }
  2021.   
  2022. ***************
  2023. *** 1143,1150 ****
  2024.     
  2025.   {
  2026.   test -n "$verbose" && \
  2027. ! echo "    defining COOKIE_BUG"
  2028. ! echo "#define" COOKIE_BUG 1 >> confdefs.h
  2029.   DEFS="$DEFS -DCOOKIE_BUG=1"
  2030.   }
  2031.   
  2032. --- 1363,1370 ----
  2033.     
  2034.   {
  2035.   test -n "$verbose" && \
  2036. ! /bin/echo "    defining COOKIE_BUG"
  2037. ! /bin/echo "#define" COOKIE_BUG "1" >> confdefs.h
  2038.   DEFS="$DEFS -DCOOKIE_BUG=1"
  2039.   }
  2040.   
  2041. ***************
  2042. *** 1175,1182 ****
  2043.     
  2044.   {
  2045.   test -n "$verbose" && \
  2046. ! echo "    defining CFRONT_ANSI_BUG"
  2047. ! echo "#define" CFRONT_ANSI_BUG 1 >> confdefs.h
  2048.   DEFS="$DEFS -DCFRONT_ANSI_BUG=1"
  2049.   }
  2050.   
  2051. --- 1395,1402 ----
  2052.     
  2053.   {
  2054.   test -n "$verbose" && \
  2055. ! /bin/echo "    defining CFRONT_ANSI_BUG"
  2056. ! /bin/echo "#define" CFRONT_ANSI_BUG "1" >> confdefs.h
  2057.   DEFS="$DEFS -DCFRONT_ANSI_BUG=1"
  2058.   }
  2059.   
  2060. ***************
  2061. *** 1193,1200 ****
  2062.     
  2063.   {
  2064.   test -n "$verbose" && \
  2065. ! echo "    defining ARRAY_DELETE_NEEDS_SIZE"
  2066. ! echo "#define" ARRAY_DELETE_NEEDS_SIZE 1 >> confdefs.h
  2067.   DEFS="$DEFS -DARRAY_DELETE_NEEDS_SIZE=1"
  2068.   }
  2069.   
  2070. --- 1413,1420 ----
  2071.     
  2072.   {
  2073.   test -n "$verbose" && \
  2074. ! /bin/echo "    defining ARRAY_DELETE_NEEDS_SIZE"
  2075. ! /bin/echo "#define" ARRAY_DELETE_NEEDS_SIZE "1" >> confdefs.h
  2076.   DEFS="$DEFS -DARRAY_DELETE_NEEDS_SIZE=1"
  2077.   }
  2078.   
  2079. ***************
  2080. *** 1209,1223 ****
  2081.     
  2082.   {
  2083.   test -n "$verbose" && \
  2084. ! echo "    defining TRADITIONAL_CPP"
  2085. ! echo "#define" TRADITIONAL_CPP 1 >> confdefs.h
  2086.   DEFS="$DEFS -DTRADITIONAL_CPP=1"
  2087.   }
  2088.   
  2089.   fi
  2090.   rm -f conftest*
  2091.   echo checking for w_coredump
  2092. ! cat > conftest.c <<EOF
  2093.   #include "confdefs.h"
  2094.   
  2095.   #include <sys/types.h>
  2096. --- 1429,1443 ----
  2097.     
  2098.   {
  2099.   test -n "$verbose" && \
  2100. ! /bin/echo "    defining TRADITIONAL_CPP"
  2101. ! /bin/echo "#define" TRADITIONAL_CPP "1" >> confdefs.h
  2102.   DEFS="$DEFS -DTRADITIONAL_CPP=1"
  2103.   }
  2104.   
  2105.   fi
  2106.   rm -f conftest*
  2107.   echo checking for w_coredump
  2108. ! cat > conftest.${ac_ext} <<EOF
  2109.   #include "confdefs.h"
  2110.   
  2111.   #include <sys/types.h>
  2112. ***************
  2113. *** 1234,1246 ****
  2114.   }
  2115.   
  2116.   EOF
  2117. ! eval $compile
  2118.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  2119.     
  2120.   {
  2121.   test -n "$verbose" && \
  2122. ! echo "    defining" WCOREFLAG to be 0200
  2123. ! echo "#define" WCOREFLAG 0200 >> confdefs.h
  2124.   DEFS="$DEFS -DWCOREFLAG=0200"
  2125.   }
  2126.   
  2127. --- 1454,1466 ----
  2128.   }
  2129.   
  2130.   EOF
  2131. ! eval $ac_compile
  2132.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  2133.     
  2134.   {
  2135.   test -n "$verbose" && \
  2136. ! /bin/echo "    defining" WCOREFLAG to be "0200"
  2137. ! /bin/echo "#define" WCOREFLAG "0200" >> confdefs.h
  2138.   DEFS="$DEFS -DWCOREFLAG=0200"
  2139.   }
  2140.   
  2141. ***************
  2142. *** 1285,1311 ****
  2143.   test -n "$PAGE" || PAGE=letter
  2144.   echo guessing $PAGE size paper
  2145.   
  2146. ! # Set default prefixes.
  2147.   if test -n "$prefix"; then
  2148. !   test -z "$exec_prefix" && exec_prefix='${prefix}'
  2149. !   prsub="s%^prefix\\([     ]*\\)=\\([     ]*\\).*$%prefix\\1=\\2$prefix%"
  2150.   fi
  2151.   if test -n "$exec_prefix"; then
  2152. !   prsub="$prsub
  2153.   s%^exec_prefix\\([     ]*\\)=\\([     ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
  2154.   fi
  2155.   # Quote sed substitution magic chars in DEFS.
  2156.   cat >conftest.def <<EOF
  2157.   $DEFS
  2158.   EOF
  2159. ! escape_ampersand_and_backslash='s%[&\\]%\\&%g'
  2160. ! DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`
  2161.   rm -f conftest.def
  2162.   # Substitute for predefined variables.
  2163.   
  2164. ! trap 'rm -f config.status; exit 1' 1 3 15
  2165. ! echo creating config.status
  2166. ! rm -f config.status
  2167.   cat > config.status <<EOF
  2168.   #!/bin/sh
  2169.   # Generated automatically by configure.
  2170. --- 1505,1545 ----
  2171.   test -n "$PAGE" || PAGE=letter
  2172.   echo guessing $PAGE size paper
  2173.   
  2174. ! # The preferred way to propogate these variables is regular @ substitutions.
  2175.   if test -n "$prefix"; then
  2176. !   ac_prsub="s%^prefix\\([     ]*\\)=\\([     ]*\\).*$%prefix\\1=\\2$prefix%"
  2177. ! else
  2178. !   prefix=/usr/local
  2179.   fi
  2180.   if test -n "$exec_prefix"; then
  2181. !   ac_prsub="$ac_prsub
  2182.   s%^exec_prefix\\([     ]*\\)=\\([     ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
  2183. + else
  2184. +   exec_prefix='${prefix}' # Let make expand it.
  2185. + fi
  2186. + # Any assignment to VPATH causes Sun make to only execute
  2187. + # the first set of double-colon rules, so remove it if not needed.
  2188. + # If there is a colon in the path, we need to keep it.
  2189. + if test "x$srcdir" = x.; then
  2190. +   ac_vpsub='/^[     ]*VPATH[     ]*=[^:]*$/d'
  2191.   fi
  2192.   # Quote sed substitution magic chars in DEFS.
  2193.   cat >conftest.def <<EOF
  2194.   $DEFS
  2195.   EOF
  2196. ! ac_escape_ampersand_and_backslash='s%[&\\]%\\&%g'
  2197. ! DEFS=`sed "$ac_escape_ampersand_and_backslash" <conftest.def`
  2198.   rm -f conftest.def
  2199.   # Substitute for predefined variables.
  2200.   
  2201. ! trap 'rm -f config.status; exit 1' 1 2 15
  2202. ! /bin/echo creating config.status
  2203. ! # Some systems, like AmigaDOS, won't allow you to remove a script that is
  2204. ! # being executed, so just move it out of the way instead.
  2205. ! if test -f config.status; then mv config.status config.status.old; else true; fi
  2206.   cat > config.status <<EOF
  2207.   #!/bin/sh
  2208.   # Generated automatically by configure.
  2209. ***************
  2210. *** 1315,1331 ****
  2211.   #
  2212.   # $0 $configure_args
  2213.   
  2214. ! for arg
  2215.   do
  2216. !   case "\$arg" in
  2217. !     -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  2218. !     echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args
  2219. !     exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args ;;
  2220. !     *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
  2221.     esac
  2222.   done
  2223.   
  2224. ! trap 'rm -f Makefile; exit 1' 1 3 15
  2225.   CC='$CC'
  2226.   CCLIBS='$CCLIBS'
  2227.   CCC='$CCC'
  2228. --- 1549,1571 ----
  2229.   #
  2230.   # $0 $configure_args
  2231.   
  2232. ! ac_cs_usage="Usage: config.status [--recheck] [--version] [--help]"
  2233. ! for ac_option
  2234.   do
  2235. !   case "\$ac_option" in
  2236. !   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  2237. !     /bin/echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args --no-create
  2238. !     exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args --no-create ;;
  2239. !   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
  2240. !     /bin/echo "config.status generated by autoconf version 1.11"
  2241. !     exit 0 ;;
  2242. !   -help | --help | --hel | --he | --h)
  2243. !     /bin/echo "\$ac_cs_usage"; exit 0 ;;
  2244. !   *) /bin/echo "\$ac_cs_usage"; exit 1 ;;
  2245.     esac
  2246.   done
  2247.   
  2248. ! trap 'rm -f Makefile; exit 1' 1 2 15
  2249.   CC='$CC'
  2250.   CCLIBS='$CCLIBS'
  2251.   CCC='$CCC'
  2252. ***************
  2253. *** 1349,1378 ****
  2254.   PAGE='$PAGE'
  2255.   LIBS='$LIBS'
  2256.   srcdir='$srcdir'
  2257. ! DEFS='$DEFS'
  2258.   prefix='$prefix'
  2259.   exec_prefix='$exec_prefix'
  2260. ! prsub='$prsub'
  2261.   extrasub='$extrasub'
  2262.   EOF
  2263.   cat >> config.status <<\EOF
  2264.   
  2265. ! top_srcdir=$srcdir
  2266.   
  2267.   CONFIG_FILES=${CONFIG_FILES-"Makefile"}
  2268. ! for file in .. ${CONFIG_FILES}; do if test "x$file" != x..; then
  2269. !   srcdir=$top_srcdir
  2270.     # Remove last slash and all that follows it.  Not all systems have dirname.
  2271. !   dir=`echo $file|sed 's%/[^/][^/]*$%%'`
  2272. !   if test "$dir" != "$file"; then
  2273. !     test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
  2274. !     test ! -d $dir && mkdir $dir
  2275.     fi
  2276. !   echo creating $file
  2277. !   rm -f $file
  2278. !   echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
  2279.     sed -e "
  2280. ! $prsub
  2281.   $extrasub
  2282.   s%@CC@%$CC%g
  2283.   s%@CCLIBS@%$CCLIBS%g
  2284. --- 1589,1640 ----
  2285.   PAGE='$PAGE'
  2286.   LIBS='$LIBS'
  2287.   srcdir='$srcdir'
  2288. ! top_srcdir='$top_srcdir'
  2289.   prefix='$prefix'
  2290.   exec_prefix='$exec_prefix'
  2291. ! DEFS='$DEFS'
  2292. ! ac_prsub='$ac_prsub'
  2293. ! ac_vpsub='$ac_vpsub'
  2294.   extrasub='$extrasub'
  2295.   EOF
  2296.   cat >> config.status <<\EOF
  2297.   
  2298. ! ac_given_srcdir=$srcdir
  2299.   
  2300.   CONFIG_FILES=${CONFIG_FILES-"Makefile"}
  2301. ! for ac_file in .. ${CONFIG_FILES}; do if test "x$ac_file" != x..; then
  2302.     # Remove last slash and all that follows it.  Not all systems have dirname.
  2303. !   ac_dir=`/bin/echo $ac_file|sed 's%/[^/][^/]*$%%'`
  2304. !   if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
  2305. !     # The file is in a subdirectory.
  2306. !     test ! -d "$ac_dir" && mkdir "$ac_dir"
  2307. !     ac_dir_suffix="/$ac_dir"
  2308. !   else
  2309. !     ac_dir_suffix=
  2310.     fi
  2311. !   # A "../" for each directory in $ac_dir_suffix.
  2312. !   ac_dots=`/bin/echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
  2313. !   case "$ac_given_srcdir" in
  2314. !   .)  srcdir=.
  2315. !       if test -z "$ac_dir_suffix"; then top_srcdir=.
  2316. !       else top_srcdir=`/bin/echo $ac_dots|sed 's%/$%%'`; fi ;;
  2317. !   /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
  2318. !   *) # Relative path.
  2319. !     srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
  2320. !     top_srcdir="$ac_dots$ac_given_srcdir" ;;
  2321. !   esac
  2322. !   /bin/echo creating "$ac_file"
  2323. !   rm -f "$ac_file"
  2324. !   comment_str="Generated automatically from `/bin/echo $ac_file|sed 's|.*/||'`.in by configure."
  2325. !   case "$ac_file" in
  2326. !     *.c | *.h | *.C | *.cc | *.m )  /bin/echo "/* $comment_str */" > "$ac_file" ;;
  2327. !     * )          /bin/echo "# $comment_str"     > "$ac_file" ;;
  2328. !   esac
  2329.     sed -e "
  2330. ! $ac_prsub
  2331. ! $ac_vpsub
  2332.   $extrasub
  2333.   s%@CC@%$CC%g
  2334.   s%@CCLIBS@%$CCLIBS%g
  2335. ***************
  2336. *** 1397,1409 ****
  2337.   s%@PAGE@%$PAGE%g
  2338.   s%@LIBS@%$LIBS%g
  2339.   s%@srcdir@%$srcdir%g
  2340.   s%@DEFS@%$DEFS%
  2341. ! " $top_srcdir/${file}.in >> $file
  2342.   fi; done
  2343.   
  2344.   
  2345.   exit 0
  2346.   EOF
  2347.   chmod +x config.status
  2348. ! ${CONFIG_SHELL-/bin/sh} config.status
  2349.   
  2350. --- 1659,1675 ----
  2351.   s%@PAGE@%$PAGE%g
  2352.   s%@LIBS@%$LIBS%g
  2353.   s%@srcdir@%$srcdir%g
  2354. + s%@top_srcdir@%$top_srcdir%g
  2355. + s%@prefix@%$prefix%g
  2356. + s%@exec_prefix@%$exec_prefix%g
  2357.   s%@DEFS@%$DEFS%
  2358. ! " $ac_given_srcdir/${ac_file}.in >> $ac_file
  2359.   fi; done
  2360.   
  2361.   
  2362.   exit 0
  2363.   EOF
  2364.   chmod +x config.status
  2365. ! # Some shells look in PATH for config.status without the "./".
  2366. ! test -n "$no_create" || ${CONFIG_SHELL-/bin/sh} ./config.status
  2367.   
  2368. diff -rc --new-file groff-1.09/configure.in /gnu/src/amiga/groff-1.09/configure.in
  2369. *** groff-1.09/configure.in    Sat Feb 12 14:42:54 1994
  2370. --- /gnu/src/amiga/groff-1.09/configure.in    Sat Oct  8 16:20:31 1994
  2371. ***************
  2372. *** 12,18 ****
  2373.   AC_PROG_INSTALL
  2374.   AC_LN_S
  2375.   GROFF_ETAGSCCFLAG
  2376. ! GROFF_CSH_HACK(SH_SCRIPT_SED_CMD='1s/.*/:/', SH_SCRIPT_SED_CMD='')
  2377.   AC_SUBST(SH_SCRIPT_SED_CMD)
  2378.   dnl checks for headers
  2379.   AC_HAVE_HEADERS(unistd.h dirent.h limits.h sys/dir.h stdlib.h)
  2380. --- 12,19 ----
  2381.   AC_PROG_INSTALL
  2382.   AC_LN_S
  2383.   GROFF_ETAGSCCFLAG
  2384. ! #Disable this for now, it croaks the Amiga pdksh port.
  2385. ! #GROFF_CSH_HACK(SH_SCRIPT_SED_CMD='1s/.*/:/', SH_SCRIPT_SED_CMD='')
  2386.   AC_SUBST(SH_SCRIPT_SED_CMD)
  2387.   dnl checks for headers
  2388.   AC_HAVE_HEADERS(unistd.h dirent.h limits.h sys/dir.h stdlib.h)
  2389. diff -rc --new-file groff-1.09/devdvi/generate/Makefile /gnu/src/amiga/groff-1.09/devdvi/generate/Makefile
  2390. *** groff-1.09/devdvi/generate/Makefile    Sun Aug  9 16:06:04 1992
  2391. --- /gnu/src/amiga/groff-1.09/devdvi/generate/Makefile    Mon Feb 21 16:35:01 1994
  2392. ***************
  2393. *** 22,29 ****
  2394.   # in the parent directory of the directory containing this file.
  2395.   
  2396.   srcdir=.
  2397. ! tfmdir=/usr/local/lib/groff-tfm
  2398. ! gfdir=/usr/local/lib/groff-gf
  2399.   
  2400.   TFMTODIT=tfmtodit
  2401.   FONTS=R I B BI CW MI S EX H HI HB SA SB
  2402. --- 22,29 ----
  2403.   # in the parent directory of the directory containing this file.
  2404.   
  2405.   srcdir=.
  2406. ! tfmdir=/gnu/lib/groff-tfm
  2407. ! gfdir=/gnu/lib/groff-gf
  2408.   
  2409.   TFMTODIT=tfmtodit
  2410.   FONTS=R I B BI CW MI S EX H HI HB SA SB
  2411. diff -rc --new-file groff-1.09/devps/generate/Makefile /gnu/src/amiga/groff-1.09/devps/generate/Makefile
  2412. *** groff-1.09/devps/generate/Makefile    Thu Aug 27 16:03:52 1992
  2413. --- /gnu/src/amiga/groff-1.09/devps/generate/Makefile    Mon Feb 21 16:34:50 1994
  2414. ***************
  2415. *** 24,30 ****
  2416.   # Directory containing AFM files.  Must not be current directory.
  2417.   # Either long names (eg Times-Roman.afm) or short names (eg timesr.afm)
  2418.   # may be used. See the afmname script.
  2419. ! afmdir=/usr/local/afm
  2420.   srcdir=generate
  2421.   
  2422.   SPECIALFONTS=S
  2423. --- 24,30 ----
  2424.   # Directory containing AFM files.  Must not be current directory.
  2425.   # Either long names (eg Times-Roman.afm) or short names (eg timesr.afm)
  2426.   # may be used. See the afmname script.
  2427. ! afmdir=/gnu/afm
  2428.   srcdir=generate
  2429.   
  2430.   SPECIALFONTS=S
  2431. diff -rc --new-file groff-1.09/eqn/eqn.cc /gnu/src/amiga/groff-1.09/eqn/eqn.cc
  2432. *** groff-1.09/eqn/eqn.cc    Tue Apr 13 15:22:04 1993
  2433. --- /gnu/src/amiga/groff-1.09/eqn/eqn.cc    Mon Feb 21 18:22:41 1994
  2434. ***************
  2435. *** 1,10 ****
  2436. ! #ifndef lint
  2437. ! static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  2438. ! #endif
  2439. ! #define YYBYACC 1
  2440. ! #line 20 "/u/jjc/groff/eqn/eqn.y"
  2441.   #include <stdio.h>
  2442. ! #include <string.h>
  2443.   #include <stdlib.h>
  2444.   
  2445.   #include "lib.h"
  2446. --- 1,72 ----
  2447. ! /*  A Bison parser, made from /ISO/groff/groff-1.09-amiga/eqn/eqn.y with Bison version GNU Bison version 1.22
  2448. !   */
  2449. ! #define YYBISON 1  /* Identify Bison output.  */
  2450. ! #define    OVER    258
  2451. ! #define    SMALLOVER    259
  2452. ! #define    SQRT    260
  2453. ! #define    SUB    261
  2454. ! #define    SUP    262
  2455. ! #define    LPILE    263
  2456. ! #define    RPILE    264
  2457. ! #define    CPILE    265
  2458. ! #define    PILE    266
  2459. ! #define    LEFT    267
  2460. ! #define    RIGHT    268
  2461. ! #define    TO    269
  2462. ! #define    FROM    270
  2463. ! #define    SIZE    271
  2464. ! #define    FONT    272
  2465. ! #define    ROMAN    273
  2466. ! #define    BOLD    274
  2467. ! #define    ITALIC    275
  2468. ! #define    FAT    276
  2469. ! #define    ACCENT    277
  2470. ! #define    BAR    278
  2471. ! #define    UNDER    279
  2472. ! #define    ABOVE    280
  2473. ! #define    TEXT    281
  2474. ! #define    QUOTED_TEXT    282
  2475. ! #define    FWD    283
  2476. ! #define    BACK    284
  2477. ! #define    DOWN    285
  2478. ! #define    UP    286
  2479. ! #define    MATRIX    287
  2480. ! #define    COL    288
  2481. ! #define    LCOL    289
  2482. ! #define    RCOL    290
  2483. ! #define    CCOL    291
  2484. ! #define    MARK    292
  2485. ! #define    LINEUP    293
  2486. ! #define    TYPE    294
  2487. ! #define    VCENTER    295
  2488. ! #define    PRIME    296
  2489. ! #define    SPLIT    297
  2490. ! #define    NOSPLIT    298
  2491. ! #define    UACCENT    299
  2492. ! #define    SPECIAL    300
  2493. ! #define    SPACE    301
  2494. ! #define    GFONT    302
  2495. ! #define    GSIZE    303
  2496. ! #define    DEFINE    304
  2497. ! #define    NDEFINE    305
  2498. ! #define    TDEFINE    306
  2499. ! #define    SDEFINE    307
  2500. ! #define    UNDEF    308
  2501. ! #define    IFDEF    309
  2502. ! #define    INCLUDE    310
  2503. ! #define    DELIM    311
  2504. ! #define    CHARTYPE    312
  2505. ! #define    SET    313
  2506. ! #define    GRFONT    314
  2507. ! #define    GBFONT    315
  2508. ! #line 19 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  2509.   #include <stdio.h>
  2510. ! #include </gnu/include/string.h>
  2511.   #include <stdlib.h>
  2512.   
  2513.   #include "lib.h"
  2514. ***************
  2515. *** 13,19 ****
  2516.   char *strsave(const char *);
  2517.   int yylex();
  2518.   void yyerror(const char *);
  2519. ! #line 32 "/u/jjc/groff/eqn/eqn.y"
  2520.   typedef union {
  2521.       char *str;
  2522.       box *b;
  2523. --- 75,82 ----
  2524.   char *strsave(const char *);
  2525.   int yylex();
  2526.   void yyerror(const char *);
  2527. ! #line 32 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  2528.   typedef union {
  2529.       char *str;
  2530.       box *b;
  2531. ***************
  2532. *** 22,1162 ****
  2533.       int n;
  2534.       column *col;
  2535.   } YYSTYPE;
  2536. ! #line 26 "y.tab.c"
  2537. ! #define OVER 257
  2538. ! #define SMALLOVER 258
  2539. ! #define SQRT 259
  2540. ! #define SUB 260
  2541. ! #define SUP 261
  2542. ! #define LPILE 262
  2543. ! #define RPILE 263
  2544. ! #define CPILE 264
  2545. ! #define PILE 265
  2546. ! #define LEFT 266
  2547. ! #define RIGHT 267
  2548. ! #define TO 268
  2549. ! #define FROM 269
  2550. ! #define SIZE 270
  2551. ! #define FONT 271
  2552. ! #define ROMAN 272
  2553. ! #define BOLD 273
  2554. ! #define ITALIC 274
  2555. ! #define FAT 275
  2556. ! #define ACCENT 276
  2557. ! #define BAR 277
  2558. ! #define UNDER 278
  2559. ! #define ABOVE 279
  2560. ! #define TEXT 280
  2561. ! #define QUOTED_TEXT 281
  2562. ! #define FWD 282
  2563. ! #define BACK 283
  2564. ! #define DOWN 284
  2565. ! #define UP 285
  2566. ! #define MATRIX 286
  2567. ! #define COL 287
  2568. ! #define LCOL 288
  2569. ! #define RCOL 289
  2570. ! #define CCOL 290
  2571. ! #define MARK 291
  2572. ! #define LINEUP 292
  2573. ! #define TYPE 293
  2574. ! #define VCENTER 294
  2575. ! #define PRIME 295
  2576. ! #define SPLIT 296
  2577. ! #define NOSPLIT 297
  2578. ! #define UACCENT 298
  2579. ! #define SPECIAL 299
  2580. ! #define SPACE 300
  2581. ! #define GFONT 301
  2582. ! #define GSIZE 302
  2583. ! #define DEFINE 303
  2584. ! #define NDEFINE 304
  2585. ! #define TDEFINE 305
  2586. ! #define SDEFINE 306
  2587. ! #define UNDEF 307
  2588. ! #define IFDEF 308
  2589. ! #define INCLUDE 309
  2590. ! #define DELIM 310
  2591. ! #define CHARTYPE 311
  2592. ! #define SET 312
  2593. ! #define GRFONT 313
  2594. ! #define GBFONT 314
  2595. ! #define YYERRCODE 256
  2596. ! short yylhs[] = {                                        -1,
  2597. !     0,    0,    6,    6,    1,    1,    1,    2,    2,    2,
  2598. !     2,    2,    3,    3,    3,    3,    4,    4,    7,    7,
  2599. !     7,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  2600. !     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  2601. !     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  2602. !     5,    5,    5,    5,    8,   11,   11,   12,   12,   13,
  2603. !    13,   16,   16,   15,   15,   14,   14,   14,   14,    9,
  2604. !     9,   10,   10,   10,
  2605.   };
  2606. ! short yylen[] = {                                         2,
  2607. !     0,    1,    1,    2,    1,    2,    2,    1,    3,    3,
  2608. !     5,    5,    1,    2,    3,    3,    1,    3,    1,    3,
  2609. !     5,    1,    1,    2,    2,    1,    1,    1,    3,    2,
  2610. !     2,    2,    2,    4,    5,    3,    2,    2,    2,    3,
  2611. !     3,    2,    2,    2,    2,    3,    3,    3,    3,    3,
  2612. !     3,    3,    2,    3,    1,    1,    3,    3,    4,    1,
  2613. !     2,    1,    3,    3,    4,    2,    2,    2,    2,    1,
  2614. !     1,    1,    1,    1,
  2615.   };
  2616. ! short yydefred[] = {                                      0,
  2617. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2618. !     0,    0,   22,   23,    0,    0,    0,    0,    0,    0,
  2619. !     0,    0,    0,    0,    0,    0,   26,   27,   28,    0,
  2620. !     0,    3,    5,    0,   13,    0,    0,   17,   14,   70,
  2621. !    71,    0,    0,   55,   31,   32,   33,   30,   73,   74,
  2622. !    72,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2623. !     0,    0,    0,    6,    7,    0,    0,   24,   25,    0,
  2624. !     0,    0,    0,    0,    0,    0,    0,    0,   37,   38,
  2625. !    39,    0,    4,    0,    0,    0,    0,    0,    0,    0,
  2626. !     0,    0,    0,    0,    0,    0,    0,    0,   60,    0,
  2627. !     0,   29,   15,   16,    9,    0,    0,   20,   18,   40,
  2628. !    41,    0,   58,    0,    0,    0,    0,   66,   67,   68,
  2629. !    69,   34,   61,    0,    0,    0,    0,   59,   35,    0,
  2630. !     0,    0,   11,   12,   21,    0,   64,    0,    0,   65,
  2631.   };
  2632. ! short yydgoto[] = {                                      31,
  2633. !    32,   33,   34,   35,   36,   84,   38,   43,   44,   52,
  2634. !    85,   45,   98,   99,  118,  131,
  2635.   };
  2636. ! short yysindex[] = {                                   1488,
  2637. !  1527, -120, -120, -120, -120, -123, -249, -249, 1566, 1566,
  2638. !  1566, 1566,    0,    0, -249, -249, -249, -249, -115, 1488,
  2639. !  1488, -249, 1566, -256, -251, -249,    0,    0,    0, 1488,
  2640. !     0,    0,    0, -221,    0, -233, 1488,    0,    0,    0,
  2641. !     0, 1488,  -85,    0,    0,    0,    0,    0,    0,    0,
  2642. !     0, 1488, 1566, 1566, -195, -195, -195, -195, 1566, 1566,
  2643. !  1566, 1566, -272,    0,    0, 1566, -195,    0,    0, 1566,
  2644. !  1402, 1527, 1527, 1527, 1527, 1566, 1566, 1566,    0,    0,
  2645. !     0, 1566,    0, 1488, -113, 1488, 1444, -195, -195, -195,
  2646. !  -195, -195, -195, -117, -117, -117, -117, -118,    0, -195,
  2647. !  -195,    0,    0,    0,    0, -167, -189,    0,    0,    0,
  2648. !     0, 1488,    0, -106, -123, 1488,  -83,    0,    0,    0,
  2649. !     0,    0,    0, 1527, 1527, 1566, 1488,    0,    0, 1488,
  2650. !  -105, 1488,    0,    0,    0, 1488,    0, -104, 1488,    0,
  2651.   };
  2652. ! short yyrindex[] = {                                     41,
  2653. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2654. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2655. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2656. !     0,    0,    0,    1,    0, 1220,   46,    0,    0,    0,
  2657. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2658. !     0,    0,    0,    0,   85,  128,  363,  406,    0,    0,
  2659. !     0,    0,    0,    0,    0,    0,  449,    0,    0,    0,
  2660. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2661. !     0,    0,    0, -103,    0,    0,  185,  492,  727,  770,
  2662. !   813,  856, 1091,    0,    0,    0,    0,    0,    0, 1134,
  2663. !  1177,    0,    0,    0,    0,   42, 1220,    0,    0,    0,
  2664. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2665. !     0,    0,    0,    0,    0,    0, -102,    0,    0, -101,
  2666. !     0,    0,    0,    0,    0,    0,    0,    0,  -99,    0,
  2667.   };
  2668. ! short yygindex[] = {                                      0,
  2669. !    -7,  -69,    3,  -66,  458,    9,  -26,   52,   27,  -63,
  2670. !   -32,   54,    0,  -35,    2,  -59,
  2671.   };
  2672. ! #define YYTABLESIZE 1865
  2673. ! short yytable[] = {                                      49,
  2674. !     8,   50,   42,   39,  105,  116,  122,   63,   37,    8,
  2675. !   109,  113,   64,   65,   94,   95,   96,   97,  128,  137,
  2676. !   140,   56,   57,   62,   68,   63,   76,   77,   69,   83,
  2677. !    40,   41,   51,   53,   54,   72,   73,   86,   71,  132,
  2678. !     1,   10,   78,   79,   80,    2,   74,   75,   66,  108,
  2679. !    10,  129,   70,  114,  133,  134,   46,   47,   48,  135,
  2680. !    87,   81,  123,   83,   82,    0,   59,   60,   61,   62,
  2681. !    76,  126,  138,    0,  103,  104,   83,  106,    0,   83,
  2682. !    78,   79,   80,    0,   42,    0,   78,   79,   80,   72,
  2683. !    73,    0,    0,   42,    8,    0,  119,  120,  121,   81,
  2684. !   124,  125,   82,    0,    0,   81,    0,    0,   82,    0,
  2685. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   83,
  2686. !   127,    0,   83,    8,  130,    8,    8,   43,    0,    0,
  2687. !     0,   83,    0,    0,    0,   10,   43,    0,    0,    0,
  2688. !   130,   51,    0,    0,  139,  117,  117,  117,  117,    0,
  2689. !     0,    0,    0,    0,    0,    0,   40,   41,    0,   40,
  2690. !    41,    0,   40,   41,   10,  112,   10,   10,   94,   95,
  2691. !    96,   97,  112,  136,  136,   56,   57,   62,   42,   63,
  2692. !     0,    0,    0,    0,   36,    0,    0,    0,    0,    0,
  2693. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2694. !     0,    0,    0,    0,    0,    0,    0,   42,    0,   42,
  2695. !    42,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2696. !     0,   43,    0,    0,    0,    0,    0,    0,    0,    0,
  2697. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2698. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2699. !    43,    0,   43,   43,    0,    0,    0,    0,    0,    8,
  2700. !     8,    8,    8,    8,    8,    8,    8,    8,    0,    0,
  2701. !     8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
  2702. !     8,    8,    8,    8,    8,    8,    8,    0,    0,    0,
  2703. !     0,    8,    8,    8,    8,    8,    8,    8,    8,    8,
  2704. !    10,   10,   10,   10,   10,   10,   10,   10,   10,   36,
  2705. !     0,   10,   10,   10,   10,   10,   10,   10,   10,   10,
  2706. !    10,   10,   10,   10,   10,   10,   10,   10,    0,    0,
  2707. !     0,    0,   10,   10,   10,   10,   10,   10,   10,   10,
  2708. !    10,   42,   42,   42,   42,   42,   42,   42,   42,   42,
  2709. !    42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
  2710. !     0,    0,   44,   42,   42,   42,   42,   42,   42,   42,
  2711. !    42,   44,    0,    0,    0,   42,   42,   42,   42,    0,
  2712. !    42,   42,    0,   42,   43,   43,   43,   43,   43,   43,
  2713. !    43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
  2714. !    43,   43,   43,    0,    0,   45,   43,   43,   43,   43,
  2715. !    43,   43,   43,   43,   45,    0,    0,    0,   43,   43,
  2716. !    43,   43,    0,   43,   43,    0,   43,    0,    0,    0,
  2717. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2718. !     0,   36,   36,    0,   36,   36,    0,    0,   53,    0,
  2719. !     0,    0,   36,   36,    0,    0,   44,   53,    0,    0,
  2720. !    36,   36,   36,   36,    0,    0,   55,   56,   57,   58,
  2721. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   36,
  2722. !    67,    0,   36,    0,    0,   44,    0,   44,   44,    0,
  2723. !     0,   47,    0,    0,    0,    0,    0,    0,    0,   45,
  2724. !    47,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2725. !    88,   89,    0,    0,    0,    0,   90,   91,   92,   93,
  2726. !     0,    0,    0,  100,    0,    0,    0,  101,   45,    0,
  2727. !    45,   45,    0,  107,    0,  110,    0,    0,    0,  111,
  2728. !     0,    0,   53,    0,    0,    0,    0,    0,    0,    0,
  2729. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2730. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2731. !     0,   53,    0,   53,   53,    0,    0,    0,    0,    0,
  2732. !     0,    0,    0,    0,    0,   47,    0,    0,    0,    0,
  2733. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2734. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2735. !     0,    0,    0,    0,   47,    0,   47,   47,    0,   44,
  2736. !    44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
  2737. !    44,   44,   44,   44,   44,   44,   44,   44,    0,    0,
  2738. !     0,   44,   44,   44,   44,   44,   44,   44,   44,    0,
  2739. !     0,    0,    0,   44,   44,   44,   44,    0,   44,   44,
  2740. !     0,   44,   45,   45,   45,   45,   45,   45,   45,   45,
  2741. !    45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
  2742. !    45,    0,    0,    0,   45,   45,   45,   45,   45,   45,
  2743. !    45,   45,    0,    0,    0,    0,   45,   45,   45,   45,
  2744. !     0,   45,   45,    0,   45,   53,   53,   53,   53,   53,
  2745. !    53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
  2746. !    53,   53,   53,   53,    0,    0,   46,   53,   53,   53,
  2747. !    53,   53,   53,   53,   53,   46,    0,    0,    0,   53,
  2748. !    53,   53,   53,    0,   53,   53,    0,   53,   47,   47,
  2749. !    47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
  2750. !    47,   47,   47,   47,   47,   47,   47,    0,    0,   48,
  2751. !    47,   47,   47,   47,   47,   47,   47,   47,   48,    0,
  2752. !     0,    0,   47,   47,   47,   47,    0,   47,   47,    0,
  2753. !    47,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2754. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2755. !     0,    0,   49,    0,    0,    0,    0,    0,    0,    0,
  2756. !    46,   49,    0,    0,    0,    0,    0,    0,    0,    0,
  2757. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2758. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   46,
  2759. !     0,   46,   46,    0,    0,   51,    0,    0,    0,    0,
  2760. !     0,    0,    0,   48,   51,    0,    0,    0,    0,    0,
  2761. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2762. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2763. !     0,    0,   48,    0,   48,   48,    0,    0,    0,    0,
  2764. !     0,    0,    0,    0,    0,    0,   49,    0,    0,    0,
  2765. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2766. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2767. !     0,    0,    0,    0,    0,   49,    0,   49,   49,    0,
  2768. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   51,
  2769. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2770. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2771. !     0,    0,    0,    0,    0,    0,    0,    0,   51,    0,
  2772. !    51,   51,    0,   46,   46,   46,   46,   46,   46,   46,
  2773. !    46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
  2774. !    46,   46,    0,    0,    0,   46,   46,   46,   46,   46,
  2775. !    46,   46,   46,    0,    0,    0,    0,   46,   46,   46,
  2776. !    46,    0,   46,   46,    0,   46,   48,   48,   48,   48,
  2777. !    48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
  2778. !    48,   48,   48,   48,   48,    0,    0,    0,   48,   48,
  2779. !    48,   48,   48,   48,   48,   48,    0,    0,    0,    0,
  2780. !    48,   48,   48,   48,    0,   48,   48,    0,   48,   49,
  2781. !    49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
  2782. !    49,   49,   49,   49,   49,   49,   49,   49,    0,    0,
  2783. !    50,   49,   49,   49,   49,   49,   49,   49,   49,   50,
  2784. !     0,    0,    0,   49,   49,   49,   49,    0,   49,   49,
  2785. !     0,   49,   51,   51,   51,   51,   51,   51,   51,   51,
  2786. !    51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
  2787. !    51,    0,    0,   52,   51,   51,   51,   51,   51,   51,
  2788. !    51,   51,   52,    0,    0,    0,   51,   51,   51,   51,
  2789. !     0,   51,   51,    0,   51,    0,    0,    0,    0,    0,
  2790. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2791. !     0,    0,    0,    0,    0,    0,   54,    0,    0,    0,
  2792. !     0,    0,    0,    0,   50,   54,    0,    0,    0,    0,
  2793. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2794. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2795. !     0,    0,    0,   50,    0,   50,   50,    0,    0,   19,
  2796. !     0,    0,    0,    0,    0,    0,    0,   52,   19,    0,
  2797. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2798. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2799. !     0,    0,    0,    0,    0,    0,   52,    0,   52,   52,
  2800. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2801. !    54,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2802. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2803. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   54,
  2804. !     0,   54,   54,    0,    0,    0,    0,    0,    0,    0,
  2805. !     0,    0,    0,   19,    0,    0,    0,    0,    0,    0,
  2806. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2807. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2808. !     0,    0,   19,    0,   19,   19,    0,   50,   50,   50,
  2809. !    50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
  2810. !    50,   50,   50,   50,   50,   50,    0,    0,    0,   50,
  2811. !    50,   50,   50,   50,   50,   50,   50,    0,    0,    0,
  2812. !     0,   50,   50,   50,   50,    0,   50,   50,    0,   50,
  2813. !    52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
  2814. !    52,   52,   52,   52,   52,   52,   52,   52,   52,    0,
  2815. !    29,    0,   52,   52,   52,   52,   52,   52,   52,   52,
  2816. !     0,    0,    0,    0,   52,   52,   52,   52,    0,   52,
  2817. !    52,    0,   52,   54,   54,   54,   54,   54,   54,   54,
  2818. !    54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
  2819. !    54,   54,   29,    0,    0,   54,   54,   54,   54,   54,
  2820. !    54,   54,   54,    0,    0,    0,    0,   54,   54,   54,
  2821. !    54,    0,   54,   54,    0,   54,   19,   19,   19,    0,
  2822. !     0,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  2823. !    19,   19,   19,   19,   19,   27,   29,    0,   19,   19,
  2824. !    19,   19,   19,   19,   19,   19,    0,    0,    0,    0,
  2825. !    19,   19,   19,   19,    0,   19,   19,    0,   19,    0,
  2826. !     0,    0,    0,    0,   30,    0,  102,   28,    0,    0,
  2827. !     0,    0,    0,    0,    0,   29,    0,   27,    0,    0,
  2828. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2829. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2830. !     0,    0,    0,    0,    0,    0,   30,    0,    0,   28,
  2831. !     0,    0,    0,    0,   29,    0,    0,    0,    0,    0,
  2832. !     0,   27,    0,    0,    0,    0,    0,    0,    0,    0,
  2833. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2834. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2835. !    30,    0,    0,   28,    0,    0,    0,    0,    0,    0,
  2836. !    27,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2837. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2838. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   30,
  2839. !     0,    0,   28,    0,    0,    0,    0,    0,    0,   27,
  2840. !     1,    0,    0,    2,    3,    4,    5,    6,    0,    0,
  2841. !     0,    7,    8,    9,   10,   11,   12,    0,    0,    0,
  2842. !     0,   13,   14,   15,   16,   17,   18,   19,   30,    0,
  2843. !     0,   28,   20,   21,   22,   23,    0,   24,   25,    0,
  2844. !    26,    0,    1,    0,    0,    2,    3,    4,    5,    6,
  2845. !   115,    0,    0,    7,    8,    9,   10,   11,   12,    0,
  2846. !     0,    0,    0,   13,   14,   15,   16,   17,   18,   19,
  2847. !     0,    0,    0,    0,   20,   21,   22,   23,    0,   24,
  2848. !    25,    0,   26,    0,    0,    0,    1,    0,    0,    2,
  2849. !     3,    4,    5,    6,    0,    0,    0,    7,    8,    9,
  2850. !    10,   11,   12,    0,    0,    0,    0,   13,   14,   15,
  2851. !    16,   17,   18,   19,    0,    0,    0,    0,   20,   21,
  2852. !    22,   23,    0,   24,   25,    1,   26,    0,    2,    3,
  2853. !     4,    5,    6,    0,    0,    0,    7,    8,    9,   10,
  2854. !    11,   12,    0,    0,    0,    0,   13,   14,   15,   16,
  2855. !    17,   18,   19,    0,    0,    0,    0,    0,    0,   22,
  2856. !    23,    0,   24,   25,    0,   26,    0,    2,    3,    4,
  2857. !     5,    6,    0,    0,    0,    7,    8,    9,   10,   11,
  2858. !    12,    0,    0,    0,    0,   13,   14,   15,   16,   17,
  2859. !    18,   19,    0,    0,    0,    0,    0,    0,   22,   23,
  2860. !     0,   24,   25,    0,   26,
  2861.   };
  2862. ! short yycheck[] = {                                     123,
  2863. !     0,  125,  123,    1,   74,  123,  125,  123,    0,    9,
  2864. !    77,  125,   20,   21,  287,  288,  289,  290,  125,  125,
  2865. !   125,  125,  125,  125,  281,  125,  260,  261,  280,   37,
  2866. !   280,  281,    6,    7,    8,  257,  258,  123,   30,  123,
  2867. !     0,    0,  276,  277,  278,    0,  268,  269,   22,   76,
  2868. !     9,  115,   26,   86,  124,  125,    3,    4,    5,  126,
  2869. !    52,  295,   98,   71,  298,   -1,   15,   16,   17,   18,
  2870. !   260,  261,  132,   -1,   72,   73,   84,   75,   -1,   87,
  2871. !   276,  277,  278,   -1,    0,   -1,  276,  277,  278,  257,
  2872. !   258,   -1,   -1,    9,   94,   -1,   95,   96,   97,  295,
  2873. !   268,  269,  298,   -1,   -1,  295,   -1,   -1,  298,   -1,
  2874. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  127,
  2875. !   112,   -1,  130,  123,  116,  125,  126,    0,   -1,   -1,
  2876. !    -1,  139,   -1,   -1,   -1,   94,    9,   -1,   -1,   -1,
  2877. !   132,  115,   -1,   -1,  136,   94,   95,   96,   97,   -1,
  2878. !    -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  280,
  2879. !   281,   -1,  280,  281,  123,  279,  125,  126,  287,  288,
  2880. !   289,  290,  279,  279,  279,  279,  279,  279,   94,  279,
  2881. !    -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,
  2882. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2883. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,
  2884. !   126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2885. !    -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2886. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2887. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2888. !   123,   -1,  125,  126,   -1,   -1,   -1,   -1,   -1,  259,
  2889. !   260,  261,  262,  263,  264,  265,  266,  267,   -1,   -1,
  2890. !   270,  271,  272,  273,  274,  275,  276,  277,  278,  279,
  2891. !   280,  281,  282,  283,  284,  285,  286,   -1,   -1,   -1,
  2892. !    -1,  291,  292,  293,  294,  295,  296,  297,  298,  299,
  2893. !   259,  260,  261,  262,  263,  264,  265,  266,  267,  125,
  2894. !    -1,  270,  271,  272,  273,  274,  275,  276,  277,  278,
  2895. !   279,  280,  281,  282,  283,  284,  285,  286,   -1,   -1,
  2896. !    -1,   -1,  291,  292,  293,  294,  295,  296,  297,  298,
  2897. !   299,  257,  258,  259,  260,  261,  262,  263,  264,  265,
  2898. !   266,  267,  268,  269,  270,  271,  272,  273,  274,  275,
  2899. !    -1,   -1,    0,  279,  280,  281,  282,  283,  284,  285,
  2900. !   286,    9,   -1,   -1,   -1,  291,  292,  293,  294,   -1,
  2901. !   296,  297,   -1,  299,  257,  258,  259,  260,  261,  262,
  2902. !   263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
  2903. !   273,  274,  275,   -1,   -1,    0,  279,  280,  281,  282,
  2904. !   283,  284,  285,  286,    9,   -1,   -1,   -1,  291,  292,
  2905. !   293,  294,   -1,  296,  297,   -1,  299,   -1,   -1,   -1,
  2906. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2907. !    -1,  257,  258,   -1,  260,  261,   -1,   -1,    0,   -1,
  2908. !    -1,   -1,  268,  269,   -1,   -1,   94,    9,   -1,   -1,
  2909. !   276,  277,  278,  279,   -1,   -1,    9,   10,   11,   12,
  2910. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  295,
  2911. !    23,   -1,  298,   -1,   -1,  123,   -1,  125,  126,   -1,
  2912. !    -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
  2913. !     9,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2914. !    53,   54,   -1,   -1,   -1,   -1,   59,   60,   61,   62,
  2915. !    -1,   -1,   -1,   66,   -1,   -1,   -1,   70,  123,   -1,
  2916. !   125,  126,   -1,   76,   -1,   78,   -1,   -1,   -1,   82,
  2917. !    -1,   -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2918. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2919. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2920. !    -1,  123,   -1,  125,  126,   -1,   -1,   -1,   -1,   -1,
  2921. !    -1,   -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,   -1,
  2922. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2923. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2924. !    -1,   -1,   -1,   -1,  123,   -1,  125,  126,   -1,  257,
  2925. !   258,  259,  260,  261,  262,  263,  264,  265,  266,  267,
  2926. !   268,  269,  270,  271,  272,  273,  274,  275,   -1,   -1,
  2927. !    -1,  279,  280,  281,  282,  283,  284,  285,  286,   -1,
  2928. !    -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,  297,
  2929. !    -1,  299,  257,  258,  259,  260,  261,  262,  263,  264,
  2930. !   265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
  2931. !   275,   -1,   -1,   -1,  279,  280,  281,  282,  283,  284,
  2932. !   285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,
  2933. !    -1,  296,  297,   -1,  299,  257,  258,  259,  260,  261,
  2934. !   262,  263,  264,  265,  266,  267,  268,  269,  270,  271,
  2935. !   272,  273,  274,  275,   -1,   -1,    0,  279,  280,  281,
  2936. !   282,  283,  284,  285,  286,    9,   -1,   -1,   -1,  291,
  2937. !   292,  293,  294,   -1,  296,  297,   -1,  299,  257,  258,
  2938. !   259,  260,  261,  262,  263,  264,  265,  266,  267,  268,
  2939. !   269,  270,  271,  272,  273,  274,  275,   -1,   -1,    0,
  2940. !   279,  280,  281,  282,  283,  284,  285,  286,    9,   -1,
  2941. !    -1,   -1,  291,  292,  293,  294,   -1,  296,  297,   -1,
  2942. !   299,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2943. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2944. !    -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2945. !    94,    9,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2946. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2947. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  2948. !    -1,  125,  126,   -1,   -1,    0,   -1,   -1,   -1,   -1,
  2949. !    -1,   -1,   -1,   94,    9,   -1,   -1,   -1,   -1,   -1,
  2950. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2951. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2952. !    -1,   -1,  123,   -1,  125,  126,   -1,   -1,   -1,   -1,
  2953. !    -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,
  2954. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2955. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2956. !    -1,   -1,   -1,   -1,   -1,  123,   -1,  125,  126,   -1,
  2957. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
  2958. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2959. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2960. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,
  2961. !   125,  126,   -1,  257,  258,  259,  260,  261,  262,  263,
  2962. !   264,  265,  266,  267,  268,  269,  270,  271,  272,  273,
  2963. !   274,  275,   -1,   -1,   -1,  279,  280,  281,  282,  283,
  2964. !   284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  2965. !   294,   -1,  296,  297,   -1,  299,  257,  258,  259,  260,
  2966. !   261,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  2967. !   271,  272,  273,  274,  275,   -1,   -1,   -1,  279,  280,
  2968. !   281,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
  2969. !   291,  292,  293,  294,   -1,  296,  297,   -1,  299,  257,
  2970. !   258,  259,  260,  261,  262,  263,  264,  265,  266,  267,
  2971. !   268,  269,  270,  271,  272,  273,  274,  275,   -1,   -1,
  2972. !     0,  279,  280,  281,  282,  283,  284,  285,  286,    9,
  2973. !    -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,  297,
  2974. !    -1,  299,  257,  258,  259,  260,  261,  262,  263,  264,
  2975. !   265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
  2976. !   275,   -1,   -1,    0,  279,  280,  281,  282,  283,  284,
  2977. !   285,  286,    9,   -1,   -1,   -1,  291,  292,  293,  294,
  2978. !    -1,  296,  297,   -1,  299,   -1,   -1,   -1,   -1,   -1,
  2979. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2980. !    -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
  2981. !    -1,   -1,   -1,   -1,   94,    9,   -1,   -1,   -1,   -1,
  2982. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2983. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2984. !    -1,   -1,   -1,  123,   -1,  125,  126,   -1,   -1,    0,
  2985. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,    9,   -1,
  2986. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2987. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2988. !    -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,  126,
  2989. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2990. !    94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2991. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2992. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  2993. !    -1,  125,  126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2994. !    -1,   -1,   -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,
  2995. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2996. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2997. !    -1,   -1,  123,   -1,  125,  126,   -1,  257,  258,  259,
  2998. !   260,  261,  262,  263,  264,  265,  266,  267,  268,  269,
  2999. !   270,  271,  272,  273,  274,  275,   -1,   -1,   -1,  279,
  3000. !   280,  281,  282,  283,  284,  285,  286,   -1,   -1,   -1,
  3001. !    -1,  291,  292,  293,  294,   -1,  296,  297,   -1,  299,
  3002. !   257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  3003. !   267,  268,  269,  270,  271,  272,  273,  274,  275,   -1,
  3004. !     9,   -1,  279,  280,  281,  282,  283,  284,  285,  286,
  3005. !    -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,
  3006. !   297,   -1,  299,  257,  258,  259,  260,  261,  262,  263,
  3007. !   264,  265,  266,  267,  268,  269,  270,  271,  272,  273,
  3008. !   274,  275,    9,   -1,   -1,  279,  280,  281,  282,  283,
  3009. !   284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  3010. !   294,   -1,  296,  297,   -1,  299,  257,  258,  259,   -1,
  3011. !    -1,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  3012. !   271,  272,  273,  274,  275,   94,    9,   -1,  279,  280,
  3013. !   281,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
  3014. !   291,  292,  293,  294,   -1,  296,  297,   -1,  299,   -1,
  3015. !    -1,   -1,   -1,   -1,  123,   -1,  125,  126,   -1,   -1,
  3016. !    -1,   -1,   -1,   -1,   -1,    9,   -1,   94,   -1,   -1,
  3017. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  3018. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  3019. !    -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,   -1,  126,
  3020. !    -1,   -1,   -1,   -1,    9,   -1,   -1,   -1,   -1,   -1,
  3021. !    -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  3022. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  3023. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  3024. !   123,   -1,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,
  3025. !    94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  3026. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  3027. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  3028. !    -1,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,   94,
  3029. !   259,   -1,   -1,  262,  263,  264,  265,  266,   -1,   -1,
  3030. !    -1,  270,  271,  272,  273,  274,  275,   -1,   -1,   -1,
  3031. !    -1,  280,  281,  282,  283,  284,  285,  286,  123,   -1,
  3032. !    -1,  126,  291,  292,  293,  294,   -1,  296,  297,   -1,
  3033. !   299,   -1,  259,   -1,   -1,  262,  263,  264,  265,  266,
  3034. !   267,   -1,   -1,  270,  271,  272,  273,  274,  275,   -1,
  3035. !    -1,   -1,   -1,  280,  281,  282,  283,  284,  285,  286,
  3036. !    -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,
  3037. !   297,   -1,  299,   -1,   -1,   -1,  259,   -1,   -1,  262,
  3038. !   263,  264,  265,  266,   -1,   -1,   -1,  270,  271,  272,
  3039. !   273,  274,  275,   -1,   -1,   -1,   -1,  280,  281,  282,
  3040. !   283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,
  3041. !   293,  294,   -1,  296,  297,  259,  299,   -1,  262,  263,
  3042. !   264,  265,  266,   -1,   -1,   -1,  270,  271,  272,  273,
  3043. !   274,  275,   -1,   -1,   -1,   -1,  280,  281,  282,  283,
  3044. !   284,  285,  286,   -1,   -1,   -1,   -1,   -1,   -1,  293,
  3045. !   294,   -1,  296,  297,   -1,  299,   -1,  262,  263,  264,
  3046. !   265,  266,   -1,   -1,   -1,  270,  271,  272,  273,  274,
  3047. !   275,   -1,   -1,   -1,   -1,  280,  281,  282,  283,  284,
  3048. !   285,  286,   -1,   -1,   -1,   -1,   -1,   -1,  293,  294,
  3049. !    -1,  296,  297,   -1,  299,
  3050.   };
  3051. ! #define YYFINAL 31
  3052. ! #ifndef YYDEBUG
  3053. ! #define YYDEBUG 0
  3054. ! #endif
  3055. ! #define YYMAXTOKEN 314
  3056. ! #if YYDEBUG
  3057. ! char *yyname[] = {
  3058. ! "end-of-file",0,0,0,0,0,0,0,0,"'\\t'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  3059. ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  3060. ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  3061. ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  3062. ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  3063. ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  3064. ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"OVER",
  3065. ! "SMALLOVER","SQRT","SUB","SUP","LPILE","RPILE","CPILE","PILE","LEFT","RIGHT",
  3066. ! "TO","FROM","SIZE","FONT","ROMAN","BOLD","ITALIC","FAT","ACCENT","BAR","UNDER",
  3067. ! "ABOVE","TEXT","QUOTED_TEXT","FWD","BACK","DOWN","UP","MATRIX","COL","LCOL",
  3068. ! "RCOL","CCOL","MARK","LINEUP","TYPE","VCENTER","PRIME","SPLIT","NOSPLIT",
  3069. ! "UACCENT","SPECIAL","SPACE","GFONT","GSIZE","DEFINE","NDEFINE","TDEFINE",
  3070. ! "SDEFINE","UNDEF","IFDEF","INCLUDE","DELIM","CHARTYPE","SET","GRFONT","GBFONT",
  3071.   };
  3072. ! char *yyrule[] = {
  3073. ! "$accept : top",
  3074. ! "top :",
  3075. ! "top : equation",
  3076. ! "equation : mark",
  3077. ! "equation : equation mark",
  3078. ! "mark : from_to",
  3079. ! "mark : MARK mark",
  3080. ! "mark : LINEUP mark",
  3081. ! "from_to : sqrt_over",
  3082. ! "from_to : sqrt_over TO from_to",
  3083. ! "from_to : sqrt_over FROM sqrt_over",
  3084. ! "from_to : sqrt_over FROM sqrt_over TO from_to",
  3085. ! "from_to : sqrt_over FROM sqrt_over FROM from_to",
  3086. ! "sqrt_over : script",
  3087. ! "sqrt_over : SQRT sqrt_over",
  3088. ! "sqrt_over : sqrt_over OVER sqrt_over",
  3089. ! "sqrt_over : sqrt_over SMALLOVER sqrt_over",
  3090. ! "script : nonsup",
  3091. ! "script : simple SUP script",
  3092. ! "nonsup : simple",
  3093. ! "nonsup : simple SUB nonsup",
  3094. ! "nonsup : simple SUB simple SUP script",
  3095. ! "simple : TEXT",
  3096. ! "simple : QUOTED_TEXT",
  3097. ! "simple : SPLIT QUOTED_TEXT",
  3098. ! "simple : NOSPLIT TEXT",
  3099. ! "simple : '^'",
  3100. ! "simple : '~'",
  3101. ! "simple : '\\t'",
  3102. ! "simple : '{' equation '}'",
  3103. ! "simple : PILE pile_arg",
  3104. ! "simple : LPILE pile_arg",
  3105. ! "simple : RPILE pile_arg",
  3106. ! "simple : CPILE pile_arg",
  3107. ! "simple : MATRIX '{' column_list '}'",
  3108. ! "simple : LEFT delim equation RIGHT delim",
  3109. ! "simple : LEFT delim equation",
  3110. ! "simple : simple BAR",
  3111. ! "simple : simple UNDER",
  3112. ! "simple : simple PRIME",
  3113. ! "simple : simple ACCENT simple",
  3114. ! "simple : simple UACCENT simple",
  3115. ! "simple : ROMAN simple",
  3116. ! "simple : BOLD simple",
  3117. ! "simple : ITALIC simple",
  3118. ! "simple : FAT simple",
  3119. ! "simple : FONT text simple",
  3120. ! "simple : SIZE text simple",
  3121. ! "simple : FWD number simple",
  3122. ! "simple : BACK number simple",
  3123. ! "simple : UP number simple",
  3124. ! "simple : DOWN number simple",
  3125. ! "simple : TYPE text simple",
  3126. ! "simple : VCENTER simple",
  3127. ! "simple : SPECIAL text simple",
  3128. ! "number : text",
  3129. ! "pile_element_list : equation",
  3130. ! "pile_element_list : pile_element_list ABOVE equation",
  3131. ! "pile_arg : '{' pile_element_list '}'",
  3132. ! "pile_arg : number '{' pile_element_list '}'",
  3133. ! "column_list : column",
  3134. ! "column_list : column_list column",
  3135. ! "column_element_list : equation",
  3136. ! "column_element_list : column_element_list ABOVE equation",
  3137. ! "column_arg : '{' column_element_list '}'",
  3138. ! "column_arg : number '{' column_element_list '}'",
  3139. ! "column : COL column_arg",
  3140. ! "column : LCOL column_arg",
  3141. ! "column : RCOL column_arg",
  3142. ! "column : CCOL column_arg",
  3143. ! "text : TEXT",
  3144. ! "text : QUOTED_TEXT",
  3145. ! "delim : text",
  3146. ! "delim : '{'",
  3147. ! "delim : '}'",
  3148.   };
  3149.   #endif
  3150. ! #define yyclearin (yychar=(-1))
  3151. ! #define yyerrok (yyerrflag=0)
  3152. ! #ifdef YYSTACKSIZE
  3153.   #ifndef YYMAXDEPTH
  3154. ! #define YYMAXDEPTH YYSTACKSIZE
  3155.   #endif
  3156. ! #else
  3157. ! #ifdef YYMAXDEPTH
  3158. ! #define YYSTACKSIZE YYMAXDEPTH
  3159. ! #else
  3160. ! #define YYSTACKSIZE 500
  3161. ! #define YYMAXDEPTH 500
  3162.   #endif
  3163.   #endif
  3164. ! int yydebug;
  3165. ! int yynerrs;
  3166. ! int yyerrflag;
  3167. ! int yychar;
  3168. ! short *yyssp;
  3169. ! YYSTYPE *yyvsp;
  3170. ! YYSTYPE yyval;
  3171. ! YYSTYPE yylval;
  3172. ! short yyss[YYSTACKSIZE];
  3173. ! YYSTYPE yyvs[YYSTACKSIZE];
  3174. ! #define yystacksize YYSTACKSIZE
  3175. ! #define YYABORT goto yyabort
  3176. ! #define YYACCEPT goto yyaccept
  3177. ! #define YYERROR goto yyerrlab
  3178.   int
  3179.   yyparse()
  3180.   {
  3181. !     register int yym, yyn, yystate;
  3182. ! #if YYDEBUG
  3183. !     register char *yys;
  3184. !     extern char *getenv();
  3185.   
  3186. !     if (yys = getenv("YYDEBUG"))
  3187.       {
  3188. !         yyn = *yys;
  3189. !         if (yyn >= '0' && yyn <= '9')
  3190. !             yydebug = yyn - '0';
  3191.       }
  3192.   #endif
  3193.   
  3194. !     yynerrs = 0;
  3195. !     yyerrflag = 0;
  3196. !     yychar = (-1);
  3197. !     yyssp = yyss;
  3198. !     yyvsp = yyvs;
  3199. !     *yyssp = yystate = 0;
  3200. ! yyloop:
  3201. !     if (yyn = yydefred[yystate]) goto yyreduce;
  3202. !     if (yychar < 0)
  3203.       {
  3204. !         if ((yychar = yylex()) < 0) yychar = 0;
  3205. ! #if YYDEBUG
  3206. !         if (yydebug)
  3207. !         {
  3208. !             yys = 0;
  3209. !             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  3210. !             if (!yys) yys = "illegal-symbol";
  3211. !             printf("yydebug: state %d, reading %d (%s)\n", yystate,
  3212. !                     yychar, yys);
  3213. !         }
  3214.   #endif
  3215.       }
  3216. !     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
  3217. !             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  3218.       {
  3219. ! #if YYDEBUG
  3220. !         if (yydebug)
  3221. !             printf("yydebug: state %d, shifting to state %d\n",
  3222. !                     yystate, yytable[yyn]);
  3223. ! #endif
  3224. !         if (yyssp >= yyss + yystacksize - 1)
  3225. !         {
  3226. !             goto yyoverflow;
  3227. !         }
  3228. !         *++yyssp = yystate = yytable[yyn];
  3229. !         *++yyvsp = yylval;
  3230. !         yychar = (-1);
  3231. !         if (yyerrflag > 0)  --yyerrflag;
  3232. !         goto yyloop;
  3233.       }
  3234. !     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
  3235. !             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  3236.       {
  3237. !         yyn = yytable[yyn];
  3238. !         goto yyreduce;
  3239. !     }
  3240. !     if (yyerrflag) goto yyinrecovery;
  3241. ! #ifdef lint
  3242. !     goto yynewerror;
  3243. ! #endif
  3244. ! yynewerror:
  3245. !     yyerror("syntax error");
  3246. ! #ifdef lint
  3247. !     goto yyerrlab;
  3248.   #endif
  3249. - yyerrlab:
  3250. -     ++yynerrs;
  3251. - yyinrecovery:
  3252. -     if (yyerrflag < 3)
  3253. -     {
  3254. -         yyerrflag = 3;
  3255. -         for (;;)
  3256. -         {
  3257. -             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
  3258. -                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
  3259. -             {
  3260. - #if YYDEBUG
  3261. -                 if (yydebug)
  3262. -                     printf("yydebug: state %d, error recovery shifting\
  3263. -  to state %d\n", *yyssp, yytable[yyn]);
  3264. - #endif
  3265. -                 if (yyssp >= yyss + yystacksize - 1)
  3266. -                 {
  3267. -                     goto yyoverflow;
  3268. -                 }
  3269. -                 *++yyssp = yystate = yytable[yyn];
  3270. -                 *++yyvsp = yylval;
  3271. -                 goto yyloop;
  3272. -             }
  3273. -             else
  3274. -             {
  3275. - #if YYDEBUG
  3276. -                 if (yydebug)
  3277. -                     printf("yydebug: error recovery discarding state %d\n",
  3278. -                             *yyssp);
  3279. - #endif
  3280. -                 if (yyssp <= yyss) goto yyabort;
  3281. -                 --yyssp;
  3282. -                 --yyvsp;
  3283. -             }
  3284. -         }
  3285.       }
  3286. !     else
  3287.       {
  3288. !         if (yychar == 0) goto yyabort;
  3289. ! #if YYDEBUG
  3290. !         if (yydebug)
  3291. !         {
  3292. !             yys = 0;
  3293. !             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  3294. !             if (!yys) yys = "illegal-symbol";
  3295. !             printf("yydebug: state %d, error recovery discards token %d (%s)\n",
  3296. !                     yystate, yychar, yys);
  3297. !         }
  3298. ! #endif
  3299. !         yychar = (-1);
  3300. !         goto yyloop;
  3301.       }
  3302.   yyreduce:
  3303. ! #if YYDEBUG
  3304. !     if (yydebug)
  3305. !         printf("yydebug: state %d, reducing by rule %d (%s)\n",
  3306. !                 yystate, yyn, yyrule[yyn]);
  3307. ! #endif
  3308. !     yym = yylen[yyn];
  3309. !     yyval = yyvsp[1-yym];
  3310. !     switch (yyn)
  3311.       {
  3312.   case 2:
  3313. ! #line 126 "/u/jjc/groff/eqn/eqn.y"
  3314. ! { yyvsp[0].b->top_level(); non_empty_flag = 1; }
  3315. ! break;
  3316.   case 3:
  3317. ! #line 131 "/u/jjc/groff/eqn/eqn.y"
  3318. ! { yyval.b = yyvsp[0].b; }
  3319. ! break;
  3320.   case 4:
  3321. ! #line 133 "/u/jjc/groff/eqn/eqn.y"
  3322.   {
  3323.             list_box *lb = yyvsp[-1].b->to_list_box();
  3324.             if (!lb)
  3325.               lb = new list_box(yyvsp[-1].b);
  3326.             lb->append(yyvsp[0].b);
  3327.             yyval.b = lb;
  3328. !         }
  3329. ! break;
  3330.   case 5:
  3331. ! #line 144 "/u/jjc/groff/eqn/eqn.y"
  3332. ! { yyval.b = yyvsp[0].b; }
  3333. ! break;
  3334.   case 6:
  3335. ! #line 146 "/u/jjc/groff/eqn/eqn.y"
  3336. ! { yyval.b = make_mark_box(yyvsp[0].b); }
  3337. ! break;
  3338.   case 7:
  3339. ! #line 148 "/u/jjc/groff/eqn/eqn.y"
  3340. ! { yyval.b = make_lineup_box(yyvsp[0].b); }
  3341. ! break;
  3342.   case 8:
  3343. ! #line 153 "/u/jjc/groff/eqn/eqn.y"
  3344. ! { yyval.b = yyvsp[0].b; }
  3345. ! break;
  3346.   case 9:
  3347. ! #line 155 "/u/jjc/groff/eqn/eqn.y"
  3348. ! { yyval.b = make_limit_box(yyvsp[-2].b, 0, yyvsp[0].b); }
  3349. ! break;
  3350.   case 10:
  3351. ! #line 157 "/u/jjc/groff/eqn/eqn.y"
  3352. ! { yyval.b = make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0); }
  3353. ! break;
  3354.   case 11:
  3355. ! #line 159 "/u/jjc/groff/eqn/eqn.y"
  3356. ! { yyval.b = make_limit_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); }
  3357. ! break;
  3358.   case 12:
  3359. ! #line 161 "/u/jjc/groff/eqn/eqn.y"
  3360. ! { yyval.b = make_limit_box(yyvsp[-4].b, make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0), 0); }
  3361. ! break;
  3362.   case 13:
  3363. ! #line 166 "/u/jjc/groff/eqn/eqn.y"
  3364. ! { yyval.b = yyvsp[0].b; }
  3365. ! break;
  3366.   case 14:
  3367. ! #line 168 "/u/jjc/groff/eqn/eqn.y"
  3368. ! { yyval.b = make_sqrt_box(yyvsp[0].b); }
  3369. ! break;
  3370.   case 15:
  3371. ! #line 170 "/u/jjc/groff/eqn/eqn.y"
  3372. ! { yyval.b = make_over_box(yyvsp[-2].b, yyvsp[0].b); }
  3373. ! break;
  3374.   case 16:
  3375. ! #line 172 "/u/jjc/groff/eqn/eqn.y"
  3376. ! { yyval.b = make_small_over_box(yyvsp[-2].b, yyvsp[0].b); }
  3377. ! break;
  3378.   case 17:
  3379. ! #line 177 "/u/jjc/groff/eqn/eqn.y"
  3380. ! { yyval.b = yyvsp[0].b; }
  3381. ! break;
  3382.   case 18:
  3383. ! #line 179 "/u/jjc/groff/eqn/eqn.y"
  3384. ! { yyval.b = make_script_box(yyvsp[-2].b, 0, yyvsp[0].b); }
  3385. ! break;
  3386.   case 19:
  3387. ! #line 184 "/u/jjc/groff/eqn/eqn.y"
  3388. ! { yyval.b = yyvsp[0].b; }
  3389. ! break;
  3390.   case 20:
  3391. ! #line 186 "/u/jjc/groff/eqn/eqn.y"
  3392. ! { yyval.b = make_script_box(yyvsp[-2].b, yyvsp[0].b, 0); }
  3393. ! break;
  3394.   case 21:
  3395. ! #line 188 "/u/jjc/groff/eqn/eqn.y"
  3396. ! { yyval.b = make_script_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); }
  3397. ! break;
  3398.   case 22:
  3399. ! #line 193 "/u/jjc/groff/eqn/eqn.y"
  3400. ! { yyval.b = split_text(yyvsp[0].str); }
  3401. ! break;
  3402.   case 23:
  3403. ! #line 195 "/u/jjc/groff/eqn/eqn.y"
  3404. ! { yyval.b = new quoted_text_box(yyvsp[0].str); }
  3405. ! break;
  3406.   case 24:
  3407. ! #line 197 "/u/jjc/groff/eqn/eqn.y"
  3408. ! { yyval.b = split_text(yyvsp[0].str); }
  3409. ! break;
  3410.   case 25:
  3411. ! #line 199 "/u/jjc/groff/eqn/eqn.y"
  3412. ! { yyval.b = new quoted_text_box(yyvsp[0].str); }
  3413. ! break;
  3414.   case 26:
  3415. ! #line 201 "/u/jjc/groff/eqn/eqn.y"
  3416. ! { yyval.b = new half_space_box; }
  3417. ! break;
  3418.   case 27:
  3419. ! #line 203 "/u/jjc/groff/eqn/eqn.y"
  3420. ! { yyval.b = new space_box; }
  3421. ! break;
  3422.   case 28:
  3423. ! #line 205 "/u/jjc/groff/eqn/eqn.y"
  3424. ! { yyval.b = new tab_box; }
  3425. ! break;
  3426.   case 29:
  3427. ! #line 207 "/u/jjc/groff/eqn/eqn.y"
  3428. ! { yyval.b = yyvsp[-1].b; }
  3429. ! break;
  3430.   case 30:
  3431. ! #line 209 "/u/jjc/groff/eqn/eqn.y"
  3432. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; }
  3433. ! break;
  3434.   case 31:
  3435. ! #line 211 "/u/jjc/groff/eqn/eqn.y"
  3436. ! { yyvsp[0].pb->set_alignment(LEFT_ALIGN); yyval.b = yyvsp[0].pb; }
  3437. ! break;
  3438.   case 32:
  3439. ! #line 213 "/u/jjc/groff/eqn/eqn.y"
  3440. ! { yyvsp[0].pb->set_alignment(RIGHT_ALIGN); yyval.b = yyvsp[0].pb; }
  3441. ! break;
  3442.   case 33:
  3443. ! #line 215 "/u/jjc/groff/eqn/eqn.y"
  3444. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; }
  3445. ! break;
  3446.   case 34:
  3447. ! #line 217 "/u/jjc/groff/eqn/eqn.y"
  3448. ! { yyval.b = yyvsp[-1].mb; }
  3449. ! break;
  3450.   case 35:
  3451. ! #line 219 "/u/jjc/groff/eqn/eqn.y"
  3452. ! { yyval.b = make_delim_box(yyvsp[-3].str, yyvsp[-2].b, yyvsp[0].str); }
  3453. ! break;
  3454.   case 36:
  3455. ! #line 221 "/u/jjc/groff/eqn/eqn.y"
  3456. ! { yyval.b = make_delim_box(yyvsp[-1].str, yyvsp[0].b, 0); }
  3457. ! break;
  3458.   case 37:
  3459. ! #line 223 "/u/jjc/groff/eqn/eqn.y"
  3460. ! { yyval.b = make_overline_box(yyvsp[-1].b); }
  3461. ! break;
  3462.   case 38:
  3463. ! #line 225 "/u/jjc/groff/eqn/eqn.y"
  3464. ! { yyval.b = make_underline_box(yyvsp[-1].b); }
  3465. ! break;
  3466.   case 39:
  3467. ! #line 227 "/u/jjc/groff/eqn/eqn.y"
  3468. ! { yyval.b = make_prime_box(yyvsp[-1].b); }
  3469. ! break;
  3470.   case 40:
  3471. ! #line 229 "/u/jjc/groff/eqn/eqn.y"
  3472. ! { yyval.b = make_accent_box(yyvsp[-2].b, yyvsp[0].b); }
  3473. ! break;
  3474.   case 41:
  3475. ! #line 231 "/u/jjc/groff/eqn/eqn.y"
  3476. ! { yyval.b = make_uaccent_box(yyvsp[-2].b, yyvsp[0].b); }
  3477. ! break;
  3478.   case 42:
  3479. ! #line 233 "/u/jjc/groff/eqn/eqn.y"
  3480. ! { yyval.b = new font_box(strsave(get_grfont()), yyvsp[0].b); }
  3481. ! break;
  3482.   case 43:
  3483. ! #line 235 "/u/jjc/groff/eqn/eqn.y"
  3484. ! { yyval.b = new font_box(strsave(get_gbfont()), yyvsp[0].b); }
  3485. ! break;
  3486.   case 44:
  3487. ! #line 237 "/u/jjc/groff/eqn/eqn.y"
  3488. ! { yyval.b = new font_box(strsave(get_gfont()), yyvsp[0].b); }
  3489. ! break;
  3490.   case 45:
  3491. ! #line 239 "/u/jjc/groff/eqn/eqn.y"
  3492. ! { yyval.b = new fat_box(yyvsp[0].b); }
  3493. ! break;
  3494.   case 46:
  3495. ! #line 241 "/u/jjc/groff/eqn/eqn.y"
  3496. ! { yyval.b = new font_box(yyvsp[-1].str, yyvsp[0].b); }
  3497. ! break;
  3498.   case 47:
  3499. ! #line 243 "/u/jjc/groff/eqn/eqn.y"
  3500. ! { yyval.b = new size_box(yyvsp[-1].str, yyvsp[0].b); }
  3501. ! break;
  3502.   case 48:
  3503. ! #line 245 "/u/jjc/groff/eqn/eqn.y"
  3504. ! { yyval.b = new hmotion_box(yyvsp[-1].n, yyvsp[0].b); }
  3505. ! break;
  3506.   case 49:
  3507. ! #line 247 "/u/jjc/groff/eqn/eqn.y"
  3508. ! { yyval.b = new hmotion_box(-yyvsp[-1].n, yyvsp[0].b); }
  3509. ! break;
  3510.   case 50:
  3511. ! #line 249 "/u/jjc/groff/eqn/eqn.y"
  3512. ! { yyval.b = new vmotion_box(yyvsp[-1].n, yyvsp[0].b); }
  3513. ! break;
  3514.   case 51:
  3515. ! #line 251 "/u/jjc/groff/eqn/eqn.y"
  3516. ! { yyval.b = new vmotion_box(-yyvsp[-1].n, yyvsp[0].b); }
  3517. ! break;
  3518.   case 52:
  3519. ! #line 253 "/u/jjc/groff/eqn/eqn.y"
  3520. ! { yyvsp[0].b->set_spacing_type(yyvsp[-1].str); yyval.b = yyvsp[0].b; }
  3521. ! break;
  3522.   case 53:
  3523. ! #line 255 "/u/jjc/groff/eqn/eqn.y"
  3524. ! { yyval.b = new vcenter_box(yyvsp[0].b); }
  3525. ! break;
  3526.   case 54:
  3527. ! #line 257 "/u/jjc/groff/eqn/eqn.y"
  3528. ! { yyval.b = make_special_box(yyvsp[-1].str, yyvsp[0].b); }
  3529. ! break;
  3530.   case 55:
  3531. ! #line 262 "/u/jjc/groff/eqn/eqn.y"
  3532.   {
  3533.             int n;
  3534.             if (sscanf(yyvsp[0].str, "%d", &n) == 1)
  3535.               yyval.n = n;
  3536.             a_delete yyvsp[0].str;
  3537. !         }
  3538. ! break;
  3539.   case 56:
  3540. ! #line 272 "/u/jjc/groff/eqn/eqn.y"
  3541. ! { yyval.pb = new pile_box(yyvsp[0].b); }
  3542. ! break;
  3543.   case 57:
  3544. ! #line 274 "/u/jjc/groff/eqn/eqn.y"
  3545. ! { yyvsp[-2].pb->append(yyvsp[0].b); yyval.pb = yyvsp[-2].pb; }
  3546. ! break;
  3547.   case 58:
  3548. ! #line 279 "/u/jjc/groff/eqn/eqn.y"
  3549. ! { yyval.pb = yyvsp[-1].pb; }
  3550. ! break;
  3551.   case 59:
  3552. ! #line 281 "/u/jjc/groff/eqn/eqn.y"
  3553. ! { yyvsp[-1].pb->set_space(yyvsp[-3].n); yyval.pb = yyvsp[-1].pb; }
  3554. ! break;
  3555.   case 60:
  3556. ! #line 286 "/u/jjc/groff/eqn/eqn.y"
  3557. ! { yyval.mb = new matrix_box(yyvsp[0].col); }
  3558. ! break;
  3559.   case 61:
  3560. ! #line 288 "/u/jjc/groff/eqn/eqn.y"
  3561. ! { yyvsp[-1].mb->append(yyvsp[0].col); yyval.mb = yyvsp[-1].mb; }
  3562. ! break;
  3563.   case 62:
  3564. ! #line 293 "/u/jjc/groff/eqn/eqn.y"
  3565. ! { yyval.col = new column(yyvsp[0].b); }
  3566. ! break;
  3567.   case 63:
  3568. ! #line 295 "/u/jjc/groff/eqn/eqn.y"
  3569. ! { yyvsp[-2].col->append(yyvsp[0].b); yyval.col = yyvsp[-2].col; }
  3570. ! break;
  3571.   case 64:
  3572. ! #line 300 "/u/jjc/groff/eqn/eqn.y"
  3573. ! { yyval.col = yyvsp[-1].col; }
  3574. ! break;
  3575.   case 65:
  3576. ! #line 302 "/u/jjc/groff/eqn/eqn.y"
  3577. ! { yyvsp[-1].col->set_space(yyvsp[-3].n); yyval.col = yyvsp[-1].col; }
  3578. ! break;
  3579.   case 66:
  3580. ! #line 307 "/u/jjc/groff/eqn/eqn.y"
  3581. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; }
  3582. ! break;
  3583.   case 67:
  3584. ! #line 309 "/u/jjc/groff/eqn/eqn.y"
  3585. ! { yyvsp[0].col->set_alignment(LEFT_ALIGN); yyval.col = yyvsp[0].col; }
  3586. ! break;
  3587.   case 68:
  3588. ! #line 311 "/u/jjc/groff/eqn/eqn.y"
  3589. ! { yyvsp[0].col->set_alignment(RIGHT_ALIGN); yyval.col = yyvsp[0].col; }
  3590. ! break;
  3591.   case 69:
  3592. ! #line 313 "/u/jjc/groff/eqn/eqn.y"
  3593. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; }
  3594. ! break;
  3595.   case 70:
  3596. ! #line 317 "/u/jjc/groff/eqn/eqn.y"
  3597. ! { yyval.str = yyvsp[0].str; }
  3598. ! break;
  3599.   case 71:
  3600. ! #line 319 "/u/jjc/groff/eqn/eqn.y"
  3601. ! { yyval.str = yyvsp[0].str; }
  3602. ! break;
  3603.   case 72:
  3604. ! #line 324 "/u/jjc/groff/eqn/eqn.y"
  3605. ! { yyval.str = yyvsp[0].str; }
  3606. ! break;
  3607.   case 73:
  3608. ! #line 326 "/u/jjc/groff/eqn/eqn.y"
  3609. ! { yyval.str = strsave("{"); }
  3610. ! break;
  3611.   case 74:
  3612. ! #line 328 "/u/jjc/groff/eqn/eqn.y"
  3613. ! { yyval.str = strsave("}"); }
  3614. ! break;
  3615. ! #line 1107 "y.tab.c"
  3616.       }
  3617. !     yyssp -= yym;
  3618. !     yystate = *yyssp;
  3619. !     yyvsp -= yym;
  3620. !     yym = yylhs[yyn];
  3621. !     if (yystate == 0 && yym == 0)
  3622.       {
  3623. ! #if YYDEBUG
  3624. !         if (yydebug)
  3625. !             printf("yydebug: after reduction, shifting from state 0 to\
  3626. !  state %d\n", YYFINAL);
  3627. ! #endif
  3628. !         yystate = YYFINAL;
  3629. !         *++yyssp = YYFINAL;
  3630. !         *++yyvsp = yyval;
  3631. !         if (yychar < 0)
  3632. !         {
  3633. !             if ((yychar = yylex()) < 0) yychar = 0;
  3634. ! #if YYDEBUG
  3635. !             if (yydebug)
  3636. !             {
  3637. !                 yys = 0;
  3638. !                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  3639. !                 if (!yys) yys = "illegal-symbol";
  3640. !                 printf("yydebug: state %d, reading %d (%s)\n",
  3641. !                         YYFINAL, yychar, yys);
  3642. !             }
  3643. ! #endif
  3644. !         }
  3645. !         if (yychar == 0) goto yyaccept;
  3646. !         goto yyloop;
  3647.       }
  3648. -     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
  3649. -             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
  3650. -         yystate = yytable[yyn];
  3651. -     else
  3652. -         yystate = yydgoto[yym];
  3653. - #if YYDEBUG
  3654. -     if (yydebug)
  3655. -         printf("yydebug: after reduction, shifting from state %d \
  3656. - to state %d\n", *yyssp, yystate);
  3657.   #endif
  3658. !     if (yyssp >= yyss + yystacksize - 1)
  3659.       {
  3660. !         goto yyoverflow;
  3661.       }
  3662. !     *++yyssp = yystate;
  3663. !     *++yyvsp = yyval;
  3664. !     goto yyloop;
  3665. ! yyoverflow:
  3666. !     yyerror("yacc stack overflow");
  3667. ! yyabort:
  3668. !     return (1);
  3669. ! yyaccept:
  3670. !     return (0);
  3671.   }
  3672. --- 85,1342 ----
  3673.       int n;
  3674.       column *col;
  3675.   } YYSTYPE;
  3676. ! #ifndef YYLTYPE
  3677. ! typedef
  3678. !   struct yyltype
  3679. !     {
  3680. !       int timestamp;
  3681. !       int first_line;
  3682. !       int first_column;
  3683. !       int last_line;
  3684. !       int last_column;
  3685. !       char *text;
  3686. !    }
  3687. !   yyltype;
  3688. ! #define YYLTYPE yyltype
  3689. ! #endif
  3690. ! #include <stdio.h>
  3691. ! #ifndef __cplusplus
  3692. ! #ifndef __STDC__
  3693. ! #define const
  3694. ! #endif
  3695. ! #endif
  3696. ! #define    YYFINAL        142
  3697. ! #define    YYFLAG        -32768
  3698. ! #define    YYNTBASE    66
  3699. ! #define YYTRANSLATE(x) ((unsigned)(x) <= 315 ? yytranslate[x] : 83)
  3700. ! static const char yytranslate[] = {     0,
  3701. !      2,     2,     2,     2,     2,     2,     2,     2,    63,     2,
  3702. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3703. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3704. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3705. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3706. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3707. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3708. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3709. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3710. !      2,     2,     2,    61,     2,     2,     2,     2,     2,     2,
  3711. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3712. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3713. !      2,     2,    64,     2,    65,    62,     2,     2,     2,     2,
  3714. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3715. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3716. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3717. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3718. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3719. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3720. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3721. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3722. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3723. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3724. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3725. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3726. !      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
  3727. !      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
  3728. !     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  3729. !     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
  3730. !     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
  3731. !     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
  3732. !     56,    57,    58,    59,    60
  3733.   };
  3734. ! #if YYDEBUG != 0
  3735. ! static const short yyprhs[] = {     0,
  3736. !      0,     1,     3,     5,     8,    10,    13,    16,    18,    22,
  3737. !     26,    32,    38,    40,    43,    47,    51,    53,    57,    59,
  3738. !     63,    69,    71,    73,    76,    79,    81,    83,    85,    89,
  3739. !     92,    95,    98,   101,   106,   112,   116,   119,   122,   125,
  3740. !    129,   133,   136,   139,   142,   145,   149,   153,   157,   161,
  3741. !    165,   169,   173,   176,   180,   182,   184,   188,   192,   197,
  3742. !    199,   202,   204,   208,   212,   217,   220,   223,   226,   229,
  3743. !    231,   233,   235,   237
  3744.   };
  3745. ! static const short yyrhs[] = {    -1,
  3746. !     67,     0,    68,     0,    67,    68,     0,    69,     0,    37,
  3747. !     68,     0,    38,    68,     0,    70,     0,    70,    14,    69,
  3748. !      0,    70,    15,    70,     0,    70,    15,    70,    14,    69,
  3749. !      0,    70,    15,    70,    15,    69,     0,    71,     0,     5,
  3750. !     70,     0,    70,     3,    70,     0,    70,     4,    70,     0,
  3751. !     72,     0,    73,     7,    71,     0,    73,     0,    73,     6,
  3752. !     72,     0,    73,     6,    73,     7,    71,     0,    26,     0,
  3753. !     27,     0,    42,    27,     0,    43,    26,     0,    61,     0,
  3754. !     62,     0,    63,     0,    64,    67,    65,     0,    11,    76,
  3755. !      0,     8,    76,     0,     9,    76,     0,    10,    76,     0,
  3756. !     32,    64,    77,    65,     0,    12,    82,    67,    13,    82,
  3757. !      0,    12,    82,    67,     0,    73,    23,     0,    73,    24,
  3758. !      0,    73,    41,     0,    73,    22,    73,     0,    73,    44,
  3759. !     73,     0,    18,    73,     0,    19,    73,     0,    20,    73,
  3760. !      0,    21,    73,     0,    17,    81,    73,     0,    16,    81,
  3761. !     73,     0,    28,    74,    73,     0,    29,    74,    73,     0,
  3762. !     31,    74,    73,     0,    30,    74,    73,     0,    39,    81,
  3763. !     73,     0,    40,    73,     0,    45,    81,    73,     0,    81,
  3764. !      0,    67,     0,    75,    25,    67,     0,    64,    75,    65,
  3765. !      0,    74,    64,    75,    65,     0,    80,     0,    77,    80,
  3766. !      0,    67,     0,    78,    25,    67,     0,    64,    78,    65,
  3767. !      0,    74,    64,    78,    65,     0,    33,    79,     0,    34,
  3768. !     79,     0,    35,    79,     0,    36,    79,     0,    26,     0,
  3769. !     27,     0,    81,     0,    64,     0,    65,     0
  3770.   };
  3771. ! #endif
  3772. ! #if YYDEBUG != 0
  3773. ! static const short yyrline[] = { 0,
  3774. !    123,   125,   129,   132,   142,   145,   147,   151,   154,   156,
  3775. !    158,   160,   164,   167,   169,   171,   175,   178,   182,   185,
  3776. !    187,   191,   194,   196,   198,   200,   202,   204,   206,   208,
  3777. !    210,   212,   214,   216,   218,   220,   222,   224,   226,   228,
  3778. !    230,   232,   234,   236,   238,   240,   242,   244,   246,   248,
  3779. !    250,   252,   254,   256,   260,   270,   273,   277,   280,   284,
  3780. !    287,   291,   294,   298,   301,   305,   308,   310,   312,   316,
  3781. !    318,   322,   325,   327
  3782.   };
  3783. ! static const char * const yytname[] = {   "$","error","$illegal.","OVER","SMALLOVER",
  3784. ! "SQRT","SUB","SUP","LPILE","RPILE","CPILE","PILE","LEFT","RIGHT","TO","FROM",
  3785. ! "SIZE","FONT","ROMAN","BOLD","ITALIC","FAT","ACCENT","BAR","UNDER","ABOVE","TEXT",
  3786. ! "QUOTED_TEXT","FWD","BACK","DOWN","UP","MATRIX","COL","LCOL","RCOL","CCOL","MARK",
  3787. ! "LINEUP","TYPE","VCENTER","PRIME","SPLIT","NOSPLIT","UACCENT","SPECIAL","SPACE",
  3788. ! "GFONT","GSIZE","DEFINE","NDEFINE","TDEFINE","SDEFINE","UNDEF","IFDEF","INCLUDE",
  3789. ! "DELIM","CHARTYPE","SET","GRFONT","GBFONT","'^'","'~'","'\\t'","'{'","'}'","top",
  3790. ! "equation","mark","from_to","sqrt_over","script","nonsup","simple","number",
  3791. ! "pile_element_list","pile_arg","column_list","column_element_list","column_arg",
  3792. ! "column","text","delim",""
  3793.   };
  3794. ! #endif
  3795. ! static const short yyr1[] = {     0,
  3796. !     66,    66,    67,    67,    68,    68,    68,    69,    69,    69,
  3797. !     69,    69,    70,    70,    70,    70,    71,    71,    72,    72,
  3798. !     72,    73,    73,    73,    73,    73,    73,    73,    73,    73,
  3799. !     73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
  3800. !     73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
  3801. !     73,    73,    73,    73,    74,    75,    75,    76,    76,    77,
  3802. !     77,    78,    78,    79,    79,    80,    80,    80,    80,    81,
  3803. !     81,    82,    82,    82
  3804. ! };
  3805. ! static const short yyr2[] = {     0,
  3806. !      0,     1,     1,     2,     1,     2,     2,     1,     3,     3,
  3807. !      5,     5,     1,     2,     3,     3,     1,     3,     1,     3,
  3808. !      5,     1,     1,     2,     2,     1,     1,     1,     3,     2,
  3809. !      2,     2,     2,     4,     5,     3,     2,     2,     2,     3,
  3810. !      3,     2,     2,     2,     2,     3,     3,     3,     3,     3,
  3811. !      3,     3,     2,     3,     1,     1,     3,     3,     4,     1,
  3812. !      2,     1,     3,     3,     4,     2,     2,     2,     2,     1,
  3813. !      1,     1,     1,     1
  3814.   };
  3815. ! static const short yydefact[] = {     1,
  3816. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3817. !      0,     0,    22,    23,     0,     0,     0,     0,     0,     0,
  3818. !      0,     0,     0,     0,     0,     0,    26,    27,    28,     0,
  3819. !      2,     3,     5,     8,    13,    17,    19,    14,    70,    71,
  3820. !      0,     0,    31,    55,    32,    33,    30,    73,    74,    72,
  3821. !      0,     0,     0,    42,    43,    44,    45,     0,     0,     0,
  3822. !      0,     0,     6,     7,     0,    53,    24,    25,     0,     0,
  3823. !      4,     0,     0,     0,     0,     0,     0,     0,    37,    38,
  3824. !     39,     0,    56,     0,     0,    36,    47,    46,    48,    49,
  3825. !     51,    50,     0,     0,     0,     0,     0,    60,    52,    54,
  3826. !     29,    15,    16,     9,    10,    20,    19,    18,    40,    41,
  3827. !      0,    58,     0,     0,     0,     0,    66,    67,    68,    69,
  3828. !     34,    61,     0,     0,     0,    57,    59,    35,    62,     0,
  3829. !      0,    11,    12,    21,     0,    64,     0,    63,    65,     0,
  3830. !      0,     0
  3831.   };
  3832. ! static const short yydefgoto[] = {   140,
  3833. !     83,    32,    33,    34,    35,    36,    37,    42,    84,    43,
  3834. !     97,   130,   117,    98,    44,    51
  3835. ! };
  3836. ! static const short yypact[] = {   228,
  3837. !    267,     8,     8,     8,     8,     6,    68,    68,   306,   306,
  3838. !    306,   306,-32768,-32768,    68,    68,    68,    68,   -51,   228,
  3839. !    228,    68,   306,   -12,     5,    68,-32768,-32768,-32768,   228,
  3840. !    228,-32768,-32768,    25,-32768,-32768,    58,-32768,-32768,-32768,
  3841. !    228,   -46,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  3842. !    228,   306,   306,    81,    81,    81,    81,   306,   306,   306,
  3843. !    306,    83,-32768,-32768,   306,    81,-32768,-32768,   306,   128,
  3844. ! -32768,   267,   267,   267,   267,   306,   306,   306,-32768,-32768,
  3845. ! -32768,   306,   228,    -9,   228,   189,    81,    81,    81,    81,
  3846. !     81,    81,    11,    11,    11,    11,    12,-32768,    81,    81,
  3847. ! -32768,-32768,-32768,-32768,    64,-32768,   333,-32768,-32768,-32768,
  3848. !    228,-32768,    -8,     6,   228,   -38,-32768,-32768,-32768,-32768,
  3849. ! -32768,-32768,   267,   267,   306,   228,-32768,-32768,   228,    -6,
  3850. !    228,-32768,-32768,-32768,   228,-32768,    -5,   228,-32768,    27,
  3851. !     36,-32768
  3852.   };
  3853. ! static const short yypgoto[] = {-32768,
  3854. !      0,   -17,   -62,     1,   -76,   -26,    32,    -7,   -33,    19,
  3855. ! -32768,   -77,    33,   -39,    -1,   -31
  3856.   };
  3857. ! #define    YYLAST        377
  3858. ! static const short yytable[] = {    31,
  3859. !    108,    38,    63,    64,    50,    52,    53,    58,    59,    60,
  3860. !     61,   104,    62,    71,    67,   111,   111,    85,   135,   135,
  3861. !     65,    45,    46,    47,    69,   131,   141,    72,    73,    70,
  3862. !     68,    39,    40,    39,    40,   142,    39,    40,    74,    75,
  3863. !     54,    55,    56,    57,    93,    94,    95,    96,   134,   106,
  3864. !     86,   113,    71,   137,    66,   112,   127,   122,   136,   139,
  3865. !    132,   133,     0,    76,    77,    71,    72,    73,    71,    48,
  3866. !     49,    41,   102,   103,   115,   105,   121,   123,   124,    78,
  3867. !     79,    80,   128,    87,    88,   116,   116,   116,   116,    89,
  3868. !     90,    91,    92,    39,    40,     0,    99,     0,    81,     0,
  3869. !    100,    82,    78,    79,    80,     0,     0,   107,    71,   109,
  3870. !    126,    71,    50,   110,   129,    93,    94,    95,    96,     0,
  3871. !     71,    81,     0,     0,    82,     0,   118,   119,   120,     0,
  3872. !    129,     0,     1,     0,   138,     2,     3,     4,     5,     6,
  3873. !      0,     0,     0,     7,     8,     9,    10,    11,    12,     0,
  3874. !      0,     0,     0,    13,    14,    15,    16,    17,    18,    19,
  3875. !      0,     0,     0,     0,    20,    21,    22,    23,     0,    24,
  3876. !     25,     0,    26,     0,     0,     0,     0,     0,     0,     0,
  3877. !      0,     0,     0,     0,     0,     0,     0,     0,    27,    28,
  3878. !     29,    30,   101,     1,     0,     0,     2,     3,     4,     5,
  3879. !      6,   114,     0,     0,     7,     8,     9,    10,    11,    12,
  3880. !      0,     0,     0,     0,    13,    14,    15,    16,    17,    18,
  3881. !     19,     0,     0,     0,     0,    20,    21,    22,    23,     0,
  3882. !     24,    25,     1,    26,     0,     2,     3,     4,     5,     6,
  3883. !      0,     0,     0,     7,     8,     9,    10,    11,    12,    27,
  3884. !     28,    29,    30,    13,    14,    15,    16,    17,    18,    19,
  3885. !      0,     0,     0,     0,    20,    21,    22,    23,     0,    24,
  3886. !     25,     1,    26,     0,     2,     3,     4,     5,     6,     0,
  3887. !      0,     0,     7,     8,     9,    10,    11,    12,    27,    28,
  3888. !     29,    30,    13,    14,    15,    16,    17,    18,    19,     0,
  3889. !      0,     0,     0,     0,     0,    22,    23,     0,    24,    25,
  3890. !      0,    26,     0,     2,     3,     4,     5,     6,     0,     0,
  3891. !      0,     7,     8,     9,    10,    11,    12,    27,    28,    29,
  3892. !     30,    13,    14,    15,    16,    17,    18,    19,    76,   125,
  3893. !      0,     0,     0,     0,    22,    23,     0,    24,    25,     0,
  3894. !     26,     0,     0,     0,    78,    79,    80,     0,     0,     0,
  3895. !      0,     0,     0,     0,     0,     0,    27,    28,    29,    30,
  3896. !      0,     0,     0,    81,     0,     0,    82
  3897.   };
  3898. ! static const short yycheck[] = {     0,
  3899. !     77,     1,    20,    21,     6,     7,     8,    15,    16,    17,
  3900. !     18,    74,    64,    31,    27,    25,    25,    64,    25,    25,
  3901. !     22,     3,     4,     5,    26,    64,     0,     3,     4,    30,
  3902. !     26,    26,    27,    26,    27,     0,    26,    27,    14,    15,
  3903. !      9,    10,    11,    12,    33,    34,    35,    36,   125,    76,
  3904. !     51,    85,    70,   131,    23,    65,    65,    97,    65,    65,
  3905. !    123,   124,    -1,     6,     7,    83,     3,     4,    86,    64,
  3906. !     65,    64,    72,    73,    64,    75,    65,    14,    15,    22,
  3907. !     23,    24,   114,    52,    53,    93,    94,    95,    96,    58,
  3908. !     59,    60,    61,    26,    27,    -1,    65,    -1,    41,    -1,
  3909. !     69,    44,    22,    23,    24,    -1,    -1,    76,   126,    78,
  3910. !    111,   129,   114,    82,   115,    33,    34,    35,    36,    -1,
  3911. !    138,    41,    -1,    -1,    44,    -1,    94,    95,    96,    -1,
  3912. !    131,    -1,     5,    -1,   135,     8,     9,    10,    11,    12,
  3913. !     -1,    -1,    -1,    16,    17,    18,    19,    20,    21,    -1,
  3914. !     -1,    -1,    -1,    26,    27,    28,    29,    30,    31,    32,
  3915. !     -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,    42,
  3916. !     43,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3917. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,
  3918. !     63,    64,    65,     5,    -1,    -1,     8,     9,    10,    11,
  3919. !     12,    13,    -1,    -1,    16,    17,    18,    19,    20,    21,
  3920. !     -1,    -1,    -1,    -1,    26,    27,    28,    29,    30,    31,
  3921. !     32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
  3922. !     42,    43,     5,    45,    -1,     8,     9,    10,    11,    12,
  3923. !     -1,    -1,    -1,    16,    17,    18,    19,    20,    21,    61,
  3924. !     62,    63,    64,    26,    27,    28,    29,    30,    31,    32,
  3925. !     -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,    42,
  3926. !     43,     5,    45,    -1,     8,     9,    10,    11,    12,    -1,
  3927. !     -1,    -1,    16,    17,    18,    19,    20,    21,    61,    62,
  3928. !     63,    64,    26,    27,    28,    29,    30,    31,    32,    -1,
  3929. !     -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
  3930. !     -1,    45,    -1,     8,     9,    10,    11,    12,    -1,    -1,
  3931. !     -1,    16,    17,    18,    19,    20,    21,    61,    62,    63,
  3932. !     64,    26,    27,    28,    29,    30,    31,    32,     6,     7,
  3933. !     -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    -1,
  3934. !     45,    -1,    -1,    -1,    22,    23,    24,    -1,    -1,    -1,
  3935. !     -1,    -1,    -1,    -1,    -1,    -1,    61,    62,    63,    64,
  3936. !     -1,    -1,    -1,    41,    -1,    -1,    44
  3937.   };
  3938. + /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
  3939. + #line 3 "/usr/lib/bison.simple"
  3940. + /* Skeleton output parser for bison,
  3941. +    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  3942. +    This program is free software; you can redistribute it and/or modify
  3943. +    it under the terms of the GNU General Public License as published by
  3944. +    the Free Software Foundation; either version 1, or (at your option)
  3945. +    any later version.
  3946. +    This program is distributed in the hope that it will be useful,
  3947. +    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3948. +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3949. +    GNU General Public License for more details.
  3950. +    You should have received a copy of the GNU General Public License
  3951. +    along with this program; if not, write to the Free Software
  3952. +    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  3953. + #ifndef alloca
  3954. + #ifdef __GNUC__
  3955. + #define alloca __builtin_alloca
  3956. + #else /* not GNU C.  */
  3957. + #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
  3958. + #include <alloca.h>
  3959. + #else /* not sparc */
  3960. + #if defined (MSDOS) && !defined (__TURBOC__)
  3961. + #include <malloc.h>
  3962. + #else /* not MSDOS, or __TURBOC__ */
  3963. + #if defined(_AIX)
  3964. + #include <malloc.h>
  3965. +  #pragma alloca
  3966. + #else /* not MSDOS, __TURBOC__, or _AIX */
  3967. + #ifdef __hpux
  3968. + #ifdef __cplusplus
  3969. + extern "C" {
  3970. + void *alloca (unsigned int);
  3971. + };
  3972. + #else /* not __cplusplus */
  3973. + void *alloca ();
  3974. + #endif /* not __cplusplus */
  3975. + #endif /* __hpux */
  3976. + #endif /* not _AIX */
  3977. + #endif /* not MSDOS, or __TURBOC__ */
  3978. + #endif /* not sparc.  */
  3979. + #endif /* not GNU C.  */
  3980. + #endif /* alloca not defined.  */
  3981. + /* This is the parser code that is written into each bison parser
  3982. +   when the %semantic_parser declaration is not specified in the grammar.
  3983. +   It was written by Richard Stallman by simplifying the hairy parser
  3984. +   used when %semantic_parser is specified.  */
  3985. + /* Note: there must be only one dollar sign in this file.
  3986. +    It is replaced by the list of actions, each action
  3987. +    as one case of the switch.  */
  3988. + #define yyerrok        (yyerrstatus = 0)
  3989. + #define yyclearin    (yychar = YYEMPTY)
  3990. + #define YYEMPTY        -2
  3991. + #define YYEOF        0
  3992. + #define YYACCEPT    return(0)
  3993. + #define YYABORT     return(1)
  3994. + #define YYERROR        goto yyerrlab1
  3995. + /* Like YYERROR except do call yyerror.
  3996. +    This remains here temporarily to ease the
  3997. +    transition to the new meaning of YYERROR, for GCC.
  3998. +    Once GCC version 2 has supplanted version 1, this can go.  */
  3999. + #define YYFAIL        goto yyerrlab
  4000. + #define YYRECOVERING()  (!!yyerrstatus)
  4001. + #define YYBACKUP(token, value) \
  4002. + do                                \
  4003. +   if (yychar == YYEMPTY && yylen == 1)                \
  4004. +     { yychar = (token), yylval = (value);            \
  4005. +       yychar1 = YYTRANSLATE (yychar);                \
  4006. +       YYPOPSTACK;                        \
  4007. +       goto yybackup;                        \
  4008. +     }                                \
  4009. +   else                                \
  4010. +     { yyerror ("syntax error: cannot back up"); YYERROR; }    \
  4011. + while (0)
  4012. + #define YYTERROR    1
  4013. + #define YYERRCODE    256
  4014. + #ifndef YYPURE
  4015. + #define YYLEX        yylex()
  4016.   #endif
  4017. ! #ifdef YYPURE
  4018. ! #ifdef YYLSP_NEEDED
  4019. ! #define YYLEX        yylex(&yylval, &yylloc)
  4020. ! #else
  4021. ! #define YYLEX        yylex(&yylval)
  4022. ! #endif
  4023. ! #endif
  4024. ! /* If nonreentrant, generate the variables here */
  4025. ! #ifndef YYPURE
  4026. ! int    yychar;            /*  the lookahead symbol        */
  4027. ! YYSTYPE    yylval;            /*  the semantic value of the        */
  4028. !                 /*  lookahead symbol            */
  4029. ! #ifdef YYLSP_NEEDED
  4030. ! YYLTYPE yylloc;            /*  location data for the lookahead    */
  4031. !                 /*  symbol                */
  4032. ! #endif
  4033. ! int yynerrs;            /*  number of parse errors so far       */
  4034. ! #endif  /* not YYPURE */
  4035. ! #if YYDEBUG != 0
  4036. ! int yydebug;            /*  nonzero means print parse trace    */
  4037. ! /* Since this is uninitialized, it does not stop multiple parsers
  4038. !    from coexisting.  */
  4039. ! #endif
  4040. ! /*  YYINITDEPTH indicates the initial size of the parser's stacks    */
  4041. ! #ifndef    YYINITDEPTH
  4042. ! #define YYINITDEPTH 200
  4043. ! #endif
  4044. ! /*  YYMAXDEPTH is the maximum size the stacks can grow to
  4045. !     (effective only if the built-in stack extension method is used).  */
  4046. ! #if YYMAXDEPTH == 0
  4047. ! #undef YYMAXDEPTH
  4048. ! #endif
  4049.   #ifndef YYMAXDEPTH
  4050. ! #define YYMAXDEPTH 10000
  4051.   #endif
  4052. ! /* Prevent warning if -Wstrict-prototypes.  */
  4053. ! #ifdef __GNUC__
  4054. ! int yyparse (void);
  4055. ! #endif
  4056. ! #if __GNUC__ > 1        /* GNU C and GNU C++ define this.  */
  4057. ! #define __yy_bcopy(FROM,TO,COUNT)    __builtin_memcpy(TO,FROM,COUNT)
  4058. ! #else                /* not GNU C or C++ */
  4059. ! #ifndef __cplusplus
  4060. ! /* This is the most reliable way to avoid incompatibilities
  4061. !    in available built-in functions on various systems.  */
  4062. ! static void
  4063. ! __yy_bcopy (from, to, count)
  4064. !      char *from;
  4065. !      char *to;
  4066. !      int count;
  4067. ! {
  4068. !   register char *f = from;
  4069. !   register char *t = to;
  4070. !   register int i = count;
  4071. !   while (i-- > 0)
  4072. !     *t++ = *f++;
  4073. ! }
  4074. ! #else /* __cplusplus */
  4075. ! /* This is the most reliable way to avoid incompatibilities
  4076. !    in available built-in functions on various systems.  */
  4077. ! static void
  4078. ! __yy_bcopy (char *from, char *to, int count)
  4079. ! {
  4080. !   register char *f = from;
  4081. !   register char *t = to;
  4082. !   register int i = count;
  4083. !   while (i-- > 0)
  4084. !     *t++ = *f++;
  4085. ! }
  4086.   #endif
  4087.   #endif
  4088. ! #line 184 "/usr/lib/bison.simple"
  4089.   int
  4090.   yyparse()
  4091.   {
  4092. !   register int yystate;
  4093. !   register int yyn;
  4094. !   register short *yyssp;
  4095. !   register YYSTYPE *yyvsp;
  4096. !   int yyerrstatus;    /*  number of tokens to shift before error messages enabled */
  4097. !   int yychar1 = 0;        /*  lookahead token as an internal (translated) token number */
  4098. !   short    yyssa[YYINITDEPTH];    /*  the state stack            */
  4099. !   YYSTYPE yyvsa[YYINITDEPTH];    /*  the semantic value stack        */
  4100. !   short *yyss = yyssa;        /*  refer to the stacks thru separate pointers */
  4101. !   YYSTYPE *yyvs = yyvsa;    /*  to allow yyoverflow to reallocate them elsewhere */
  4102. ! #ifdef YYLSP_NEEDED
  4103. !   YYLTYPE yylsa[YYINITDEPTH];    /*  the location stack            */
  4104. !   YYLTYPE *yyls = yylsa;
  4105. !   YYLTYPE *yylsp;
  4106. ! #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
  4107. ! #else
  4108. ! #define YYPOPSTACK   (yyvsp--, yyssp--)
  4109. ! #endif
  4110. !   int yystacksize = YYINITDEPTH;
  4111. ! #ifdef YYPURE
  4112. !   int yychar;
  4113. !   YYSTYPE yylval;
  4114. !   int yynerrs;
  4115. ! #ifdef YYLSP_NEEDED
  4116. !   YYLTYPE yylloc;
  4117. ! #endif
  4118. ! #endif
  4119.   
  4120. !   YYSTYPE yyval;        /*  the variable used to return        */
  4121. !                 /*  semantic values from the action    */
  4122. !                 /*  routines                */
  4123. !   int yylen;
  4124. ! #if YYDEBUG != 0
  4125. !   if (yydebug)
  4126. !     fprintf(stderr, "Starting parse\n");
  4127. ! #endif
  4128. !   yystate = 0;
  4129. !   yyerrstatus = 0;
  4130. !   yynerrs = 0;
  4131. !   yychar = YYEMPTY;        /* Cause a token to be read.  */
  4132. !   /* Initialize stack pointers.
  4133. !      Waste one element of value and location stack
  4134. !      so that they stay on the same level as the state stack.
  4135. !      The wasted elements are never initialized.  */
  4136. !   yyssp = yyss - 1;
  4137. !   yyvsp = yyvs;
  4138. ! #ifdef YYLSP_NEEDED
  4139. !   yylsp = yyls;
  4140. ! #endif
  4141. ! /* Push a new state, which is found in  yystate  .  */
  4142. ! /* In all cases, when you get here, the value and location stacks
  4143. !    have just been pushed. so pushing a state here evens the stacks.  */
  4144. ! yynewstate:
  4145. !   *++yyssp = yystate;
  4146. !   if (yyssp >= yyss + yystacksize - 1)
  4147.       {
  4148. !       /* Give user a chance to reallocate the stack */
  4149. !       /* Use copies of these so that the &'s don't force the real ones into memory. */
  4150. !       YYSTYPE *yyvs1 = yyvs;
  4151. !       short *yyss1 = yyss;
  4152. ! #ifdef YYLSP_NEEDED
  4153. !       YYLTYPE *yyls1 = yyls;
  4154. ! #endif
  4155. !       /* Get the current used size of the three stacks, in elements.  */
  4156. !       int size = yyssp - yyss + 1;
  4157. ! #ifdef yyoverflow
  4158. !       /* Each stack pointer address is followed by the size of
  4159. !      the data in use in that stack, in bytes.  */
  4160. ! #ifdef YYLSP_NEEDED
  4161. !       /* This used to be a conditional around just the two extra args,
  4162. !      but that might be undefined if yyoverflow is a macro.  */
  4163. !       yyoverflow("parser stack overflow",
  4164. !          &yyss1, size * sizeof (*yyssp),
  4165. !          &yyvs1, size * sizeof (*yyvsp),
  4166. !          &yyls1, size * sizeof (*yylsp),
  4167. !          &yystacksize);
  4168. ! #else
  4169. !       yyoverflow("parser stack overflow",
  4170. !          &yyss1, size * sizeof (*yyssp),
  4171. !          &yyvs1, size * sizeof (*yyvsp),
  4172. !          &yystacksize);
  4173. ! #endif
  4174. !       yyss = yyss1; yyvs = yyvs1;
  4175. ! #ifdef YYLSP_NEEDED
  4176. !       yyls = yyls1;
  4177. ! #endif
  4178. ! #else /* no yyoverflow */
  4179. !       /* Extend the stack our own way.  */
  4180. !       if (yystacksize >= YYMAXDEPTH)
  4181. !     {
  4182. !       yyerror("parser stack overflow");
  4183. !       return 2;
  4184. !     }
  4185. !       yystacksize *= 2;
  4186. !       if (yystacksize > YYMAXDEPTH)
  4187. !     yystacksize = YYMAXDEPTH;
  4188. !       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
  4189. !       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
  4190. !       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
  4191. !       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
  4192. ! #ifdef YYLSP_NEEDED
  4193. !       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
  4194. !       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
  4195. ! #endif
  4196. ! #endif /* no yyoverflow */
  4197. !       yyssp = yyss + size - 1;
  4198. !       yyvsp = yyvs + size - 1;
  4199. ! #ifdef YYLSP_NEEDED
  4200. !       yylsp = yyls + size - 1;
  4201. ! #endif
  4202. ! #if YYDEBUG != 0
  4203. !       if (yydebug)
  4204. !     fprintf(stderr, "Stack size increased to %d\n", yystacksize);
  4205. ! #endif
  4206. !       if (yyssp >= yyss + yystacksize - 1)
  4207. !     YYABORT;
  4208.       }
  4209. + #if YYDEBUG != 0
  4210. +   if (yydebug)
  4211. +     fprintf(stderr, "Entering state %d\n", yystate);
  4212.   #endif
  4213.   
  4214. !   goto yybackup;
  4215. !  yybackup:
  4216. ! /* Do appropriate processing given the current state.  */
  4217. ! /* Read a lookahead token if we need one and don't already have one.  */
  4218. ! /* yyresume: */
  4219. !   /* First try to decide what to do without reference to lookahead token.  */
  4220. !   yyn = yypact[yystate];
  4221. !   if (yyn == YYFLAG)
  4222. !     goto yydefault;
  4223. !   /* Not known => get a lookahead token if don't already have one.  */
  4224. !   /* yychar is either YYEMPTY or YYEOF
  4225. !      or a valid token in external form.  */
  4226. !   if (yychar == YYEMPTY)
  4227.       {
  4228. ! #if YYDEBUG != 0
  4229. !       if (yydebug)
  4230. !     fprintf(stderr, "Reading a token: ");
  4231.   #endif
  4232. +       yychar = YYLEX;
  4233.       }
  4234. !   /* Convert token to internal form (in yychar1) for indexing tables with */
  4235. !   if (yychar <= 0)        /* This means end of input. */
  4236.       {
  4237. !       yychar1 = 0;
  4238. !       yychar = YYEOF;        /* Don't call YYLEX any more */
  4239. ! #if YYDEBUG != 0
  4240. !       if (yydebug)
  4241. !     fprintf(stderr, "Now at end of input.\n");
  4242. ! #endif
  4243.       }
  4244. !   else
  4245.       {
  4246. !       yychar1 = YYTRANSLATE(yychar);
  4247. ! #if YYDEBUG != 0
  4248. !       if (yydebug)
  4249. !     {
  4250. !       fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
  4251. !       /* Give the individual parser a way to print the precise meaning
  4252. !          of a token, for further debugging info.  */
  4253. ! #ifdef YYPRINT
  4254. !       YYPRINT (stderr, yychar, yylval);
  4255. ! #endif
  4256. !       fprintf (stderr, ")\n");
  4257. !     }
  4258.   #endif
  4259.       }
  4260. !   yyn += yychar1;
  4261. !   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
  4262. !     goto yydefault;
  4263. !   yyn = yytable[yyn];
  4264. !   /* yyn is what to do for this token type in this state.
  4265. !      Negative => reduce, -yyn is rule number.
  4266. !      Positive => shift, yyn is new state.
  4267. !        New state is final state => don't bother to shift,
  4268. !        just return success.
  4269. !      0, or most negative number => error.  */
  4270. !   if (yyn < 0)
  4271.       {
  4272. !       if (yyn == YYFLAG)
  4273. !     goto yyerrlab;
  4274. !       yyn = -yyn;
  4275. !       goto yyreduce;
  4276.       }
  4277. +   else if (yyn == 0)
  4278. +     goto yyerrlab;
  4279. +   if (yyn == YYFINAL)
  4280. +     YYACCEPT;
  4281. +   /* Shift the lookahead token.  */
  4282. + #if YYDEBUG != 0
  4283. +   if (yydebug)
  4284. +     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
  4285. + #endif
  4286. +   /* Discard the token being shifted unless it is eof.  */
  4287. +   if (yychar != YYEOF)
  4288. +     yychar = YYEMPTY;
  4289. +   *++yyvsp = yylval;
  4290. + #ifdef YYLSP_NEEDED
  4291. +   *++yylsp = yylloc;
  4292. + #endif
  4293. +   /* count tokens shifted since error; after three, turn off error status.  */
  4294. +   if (yyerrstatus) yyerrstatus--;
  4295. +   yystate = yyn;
  4296. +   goto yynewstate;
  4297. + /* Do the default action for the current state.  */
  4298. + yydefault:
  4299. +   yyn = yydefact[yystate];
  4300. +   if (yyn == 0)
  4301. +     goto yyerrlab;
  4302. + /* Do a reduction.  yyn is the number of a rule to reduce with.  */
  4303.   yyreduce:
  4304. !   yylen = yyr2[yyn];
  4305. !   if (yylen > 0)
  4306. !     yyval = yyvsp[1-yylen]; /* implement default value of the action */
  4307. ! #if YYDEBUG != 0
  4308. !   if (yydebug)
  4309.       {
  4310. +       int i;
  4311. +       fprintf (stderr, "Reducing via rule %d (line %d), ",
  4312. +            yyn, yyrline[yyn]);
  4313. +       /* Print the symbols being reduced, and their result.  */
  4314. +       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
  4315. +     fprintf (stderr, "%s ", yytname[yyrhs[i]]);
  4316. +       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
  4317. +     }
  4318. + #endif
  4319. +   switch (yyn) {
  4320.   case 2:
  4321. ! #line 126 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4322. ! { yyvsp[0].b->top_level(); non_empty_flag = 1; ;
  4323. !     break;}
  4324.   case 3:
  4325. ! #line 131 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4326. ! { yyval.b = yyvsp[0].b; ;
  4327. !     break;}
  4328.   case 4:
  4329. ! #line 133 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4330.   {
  4331.             list_box *lb = yyvsp[-1].b->to_list_box();
  4332.             if (!lb)
  4333.               lb = new list_box(yyvsp[-1].b);
  4334.             lb->append(yyvsp[0].b);
  4335.             yyval.b = lb;
  4336. !         ;
  4337. !     break;}
  4338.   case 5:
  4339. ! #line 144 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4340. ! { yyval.b = yyvsp[0].b; ;
  4341. !     break;}
  4342.   case 6:
  4343. ! #line 146 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4344. ! { yyval.b = make_mark_box(yyvsp[0].b); ;
  4345. !     break;}
  4346.   case 7:
  4347. ! #line 148 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4348. ! { yyval.b = make_lineup_box(yyvsp[0].b); ;
  4349. !     break;}
  4350.   case 8:
  4351. ! #line 153 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4352. ! { yyval.b = yyvsp[0].b; ;
  4353. !     break;}
  4354.   case 9:
  4355. ! #line 155 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4356. ! { yyval.b = make_limit_box(yyvsp[-2].b, 0, yyvsp[0].b); ;
  4357. !     break;}
  4358.   case 10:
  4359. ! #line 157 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4360. ! { yyval.b = make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0); ;
  4361. !     break;}
  4362.   case 11:
  4363. ! #line 159 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4364. ! { yyval.b = make_limit_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); ;
  4365. !     break;}
  4366.   case 12:
  4367. ! #line 161 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4368. ! { yyval.b = make_limit_box(yyvsp[-4].b, make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0), 0); ;
  4369. !     break;}
  4370.   case 13:
  4371. ! #line 166 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4372. ! { yyval.b = yyvsp[0].b; ;
  4373. !     break;}
  4374.   case 14:
  4375. ! #line 168 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4376. ! { yyval.b = make_sqrt_box(yyvsp[0].b); ;
  4377. !     break;}
  4378.   case 15:
  4379. ! #line 170 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4380. ! { yyval.b = make_over_box(yyvsp[-2].b, yyvsp[0].b); ;
  4381. !     break;}
  4382.   case 16:
  4383. ! #line 172 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4384. ! { yyval.b = make_small_over_box(yyvsp[-2].b, yyvsp[0].b); ;
  4385. !     break;}
  4386.   case 17:
  4387. ! #line 177 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4388. ! { yyval.b = yyvsp[0].b; ;
  4389. !     break;}
  4390.   case 18:
  4391. ! #line 179 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4392. ! { yyval.b = make_script_box(yyvsp[-2].b, 0, yyvsp[0].b); ;
  4393. !     break;}
  4394.   case 19:
  4395. ! #line 184 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4396. ! { yyval.b = yyvsp[0].b; ;
  4397. !     break;}
  4398.   case 20:
  4399. ! #line 186 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4400. ! { yyval.b = make_script_box(yyvsp[-2].b, yyvsp[0].b, 0); ;
  4401. !     break;}
  4402.   case 21:
  4403. ! #line 188 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4404. ! { yyval.b = make_script_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); ;
  4405. !     break;}
  4406.   case 22:
  4407. ! #line 193 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4408. ! { yyval.b = split_text(yyvsp[0].str); ;
  4409. !     break;}
  4410.   case 23:
  4411. ! #line 195 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4412. ! { yyval.b = new quoted_text_box(yyvsp[0].str); ;
  4413. !     break;}
  4414.   case 24:
  4415. ! #line 197 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4416. ! { yyval.b = split_text(yyvsp[0].str); ;
  4417. !     break;}
  4418.   case 25:
  4419. ! #line 199 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4420. ! { yyval.b = new quoted_text_box(yyvsp[0].str); ;
  4421. !     break;}
  4422.   case 26:
  4423. ! #line 201 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4424. ! { yyval.b = new half_space_box; ;
  4425. !     break;}
  4426.   case 27:
  4427. ! #line 203 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4428. ! { yyval.b = new space_box; ;
  4429. !     break;}
  4430.   case 28:
  4431. ! #line 205 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4432. ! { yyval.b = new tab_box; ;
  4433. !     break;}
  4434.   case 29:
  4435. ! #line 207 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4436. ! { yyval.b = yyvsp[-1].b; ;
  4437. !     break;}
  4438.   case 30:
  4439. ! #line 209 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4440. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; ;
  4441. !     break;}
  4442.   case 31:
  4443. ! #line 211 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4444. ! { yyvsp[0].pb->set_alignment(LEFT_ALIGN); yyval.b = yyvsp[0].pb; ;
  4445. !     break;}
  4446.   case 32:
  4447. ! #line 213 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4448. ! { yyvsp[0].pb->set_alignment(RIGHT_ALIGN); yyval.b = yyvsp[0].pb; ;
  4449. !     break;}
  4450.   case 33:
  4451. ! #line 215 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4452. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; ;
  4453. !     break;}
  4454.   case 34:
  4455. ! #line 217 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4456. ! { yyval.b = yyvsp[-1].mb; ;
  4457. !     break;}
  4458.   case 35:
  4459. ! #line 219 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4460. ! { yyval.b = make_delim_box(yyvsp[-3].str, yyvsp[-2].b, yyvsp[0].str); ;
  4461. !     break;}
  4462.   case 36:
  4463. ! #line 221 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4464. ! { yyval.b = make_delim_box(yyvsp[-1].str, yyvsp[0].b, 0); ;
  4465. !     break;}
  4466.   case 37:
  4467. ! #line 223 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4468. ! { yyval.b = make_overline_box(yyvsp[-1].b); ;
  4469. !     break;}
  4470.   case 38:
  4471. ! #line 225 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4472. ! { yyval.b = make_underline_box(yyvsp[-1].b); ;
  4473. !     break;}
  4474.   case 39:
  4475. ! #line 227 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4476. ! { yyval.b = make_prime_box(yyvsp[-1].b); ;
  4477. !     break;}
  4478.   case 40:
  4479. ! #line 229 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4480. ! { yyval.b = make_accent_box(yyvsp[-2].b, yyvsp[0].b); ;
  4481. !     break;}
  4482.   case 41:
  4483. ! #line 231 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4484. ! { yyval.b = make_uaccent_box(yyvsp[-2].b, yyvsp[0].b); ;
  4485. !     break;}
  4486.   case 42:
  4487. ! #line 233 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4488. ! { yyval.b = new font_box(strsave(get_grfont()), yyvsp[0].b); ;
  4489. !     break;}
  4490.   case 43:
  4491. ! #line 235 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4492. ! { yyval.b = new font_box(strsave(get_gbfont()), yyvsp[0].b); ;
  4493. !     break;}
  4494.   case 44:
  4495. ! #line 237 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4496. ! { yyval.b = new font_box(strsave(get_gfont()), yyvsp[0].b); ;
  4497. !     break;}
  4498.   case 45:
  4499. ! #line 239 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4500. ! { yyval.b = new fat_box(yyvsp[0].b); ;
  4501. !     break;}
  4502.   case 46:
  4503. ! #line 241 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4504. ! { yyval.b = new font_box(yyvsp[-1].str, yyvsp[0].b); ;
  4505. !     break;}
  4506.   case 47:
  4507. ! #line 243 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4508. ! { yyval.b = new size_box(yyvsp[-1].str, yyvsp[0].b); ;
  4509. !     break;}
  4510.   case 48:
  4511. ! #line 245 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4512. ! { yyval.b = new hmotion_box(yyvsp[-1].n, yyvsp[0].b); ;
  4513. !     break;}
  4514.   case 49:
  4515. ! #line 247 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4516. ! { yyval.b = new hmotion_box(-yyvsp[-1].n, yyvsp[0].b); ;
  4517. !     break;}
  4518.   case 50:
  4519. ! #line 249 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4520. ! { yyval.b = new vmotion_box(yyvsp[-1].n, yyvsp[0].b); ;
  4521. !     break;}
  4522.   case 51:
  4523. ! #line 251 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4524. ! { yyval.b = new vmotion_box(-yyvsp[-1].n, yyvsp[0].b); ;
  4525. !     break;}
  4526.   case 52:
  4527. ! #line 253 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4528. ! { yyvsp[0].b->set_spacing_type(yyvsp[-1].str); yyval.b = yyvsp[0].b; ;
  4529. !     break;}
  4530.   case 53:
  4531. ! #line 255 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4532. ! { yyval.b = new vcenter_box(yyvsp[0].b); ;
  4533. !     break;}
  4534.   case 54:
  4535. ! #line 257 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4536. ! { yyval.b = make_special_box(yyvsp[-1].str, yyvsp[0].b); ;
  4537. !     break;}
  4538.   case 55:
  4539. ! #line 262 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4540.   {
  4541.             int n;
  4542.             if (sscanf(yyvsp[0].str, "%d", &n) == 1)
  4543.               yyval.n = n;
  4544.             a_delete yyvsp[0].str;
  4545. !         ;
  4546. !     break;}
  4547.   case 56:
  4548. ! #line 272 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4549. ! { yyval.pb = new pile_box(yyvsp[0].b); ;
  4550. !     break;}
  4551.   case 57:
  4552. ! #line 274 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4553. ! { yyvsp[-2].pb->append(yyvsp[0].b); yyval.pb = yyvsp[-2].pb; ;
  4554. !     break;}
  4555.   case 58:
  4556. ! #line 279 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4557. ! { yyval.pb = yyvsp[-1].pb; ;
  4558. !     break;}
  4559.   case 59:
  4560. ! #line 281 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4561. ! { yyvsp[-1].pb->set_space(yyvsp[-3].n); yyval.pb = yyvsp[-1].pb; ;
  4562. !     break;}
  4563.   case 60:
  4564. ! #line 286 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4565. ! { yyval.mb = new matrix_box(yyvsp[0].col); ;
  4566. !     break;}
  4567.   case 61:
  4568. ! #line 288 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4569. ! { yyvsp[-1].mb->append(yyvsp[0].col); yyval.mb = yyvsp[-1].mb; ;
  4570. !     break;}
  4571.   case 62:
  4572. ! #line 293 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4573. ! { yyval.col = new column(yyvsp[0].b); ;
  4574. !     break;}
  4575.   case 63:
  4576. ! #line 295 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4577. ! { yyvsp[-2].col->append(yyvsp[0].b); yyval.col = yyvsp[-2].col; ;
  4578. !     break;}
  4579.   case 64:
  4580. ! #line 300 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4581. ! { yyval.col = yyvsp[-1].col; ;
  4582. !     break;}
  4583.   case 65:
  4584. ! #line 302 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4585. ! { yyvsp[-1].col->set_space(yyvsp[-3].n); yyval.col = yyvsp[-1].col; ;
  4586. !     break;}
  4587.   case 66:
  4588. ! #line 307 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4589. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; ;
  4590. !     break;}
  4591.   case 67:
  4592. ! #line 309 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4593. ! { yyvsp[0].col->set_alignment(LEFT_ALIGN); yyval.col = yyvsp[0].col; ;
  4594. !     break;}
  4595.   case 68:
  4596. ! #line 311 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4597. ! { yyvsp[0].col->set_alignment(RIGHT_ALIGN); yyval.col = yyvsp[0].col; ;
  4598. !     break;}
  4599.   case 69:
  4600. ! #line 313 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4601. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; ;
  4602. !     break;}
  4603.   case 70:
  4604. ! #line 317 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4605. ! { yyval.str = yyvsp[0].str; ;
  4606. !     break;}
  4607.   case 71:
  4608. ! #line 319 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4609. ! { yyval.str = yyvsp[0].str; ;
  4610. !     break;}
  4611.   case 72:
  4612. ! #line 324 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4613. ! { yyval.str = yyvsp[0].str; ;
  4614. !     break;}
  4615.   case 73:
  4616. ! #line 326 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4617. ! { yyval.str = strsave("{"); ;
  4618. !     break;}
  4619.   case 74:
  4620. ! #line 328 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4621. ! { yyval.str = strsave("}"); ;
  4622. !     break;}
  4623. ! }
  4624. !    /* the action file gets copied in in place of this dollarsign */
  4625. ! #line 465 "/usr/lib/bison.simple"
  4626. !   yyvsp -= yylen;
  4627. !   yyssp -= yylen;
  4628. ! #ifdef YYLSP_NEEDED
  4629. !   yylsp -= yylen;
  4630. ! #endif
  4631. ! #if YYDEBUG != 0
  4632. !   if (yydebug)
  4633. !     {
  4634. !       short *ssp1 = yyss - 1;
  4635. !       fprintf (stderr, "state stack now");
  4636. !       while (ssp1 != yyssp)
  4637. !     fprintf (stderr, " %d", *++ssp1);
  4638. !       fprintf (stderr, "\n");
  4639. !     }
  4640. ! #endif
  4641. !   *++yyvsp = yyval;
  4642. ! #ifdef YYLSP_NEEDED
  4643. !   yylsp++;
  4644. !   if (yylen == 0)
  4645. !     {
  4646. !       yylsp->first_line = yylloc.first_line;
  4647. !       yylsp->first_column = yylloc.first_column;
  4648. !       yylsp->last_line = (yylsp-1)->last_line;
  4649. !       yylsp->last_column = (yylsp-1)->last_column;
  4650. !       yylsp->text = 0;
  4651. !     }
  4652. !   else
  4653. !     {
  4654. !       yylsp->last_line = (yylsp+yylen-1)->last_line;
  4655. !       yylsp->last_column = (yylsp+yylen-1)->last_column;
  4656. !     }
  4657. ! #endif
  4658. !   /* Now "shift" the result of the reduction.
  4659. !      Determine what state that goes to,
  4660. !      based on the state we popped back to
  4661. !      and the rule number reduced by.  */
  4662. !   yyn = yyr1[yyn];
  4663. !   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
  4664. !   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
  4665. !     yystate = yytable[yystate];
  4666. !   else
  4667. !     yystate = yydefgoto[yyn - YYNTBASE];
  4668. !   goto yynewstate;
  4669. ! yyerrlab:   /* here on detecting error */
  4670. !   if (! yyerrstatus)
  4671. !     /* If not already recovering from an error, report this error.  */
  4672. !     {
  4673. !       ++yynerrs;
  4674. ! #ifdef YYERROR_VERBOSE
  4675. !       yyn = yypact[yystate];
  4676. !       if (yyn > YYFLAG && yyn < YYLAST)
  4677. !     {
  4678. !       int size = 0;
  4679. !       char *msg;
  4680. !       int x, count;
  4681. !       count = 0;
  4682. !       /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
  4683. !       for (x = (yyn < 0 ? -yyn : 0);
  4684. !            x < (sizeof(yytname) / sizeof(char *)); x++)
  4685. !         if (yycheck[x + yyn] == x)
  4686. !           size += strlen(yytname[x]) + 15, count++;
  4687. !       msg = (char *) malloc(size + 15);
  4688. !       if (msg != 0)
  4689. !         {
  4690. !           strcpy(msg, "parse error");
  4691. !           if (count < 5)
  4692. !         {
  4693. !           count = 0;
  4694. !           for (x = (yyn < 0 ? -yyn : 0);
  4695. !                x < (sizeof(yytname) / sizeof(char *)); x++)
  4696. !             if (yycheck[x + yyn] == x)
  4697. !               {
  4698. !             strcat(msg, count == 0 ? ", expecting `" : " or `");
  4699. !             strcat(msg, yytname[x]);
  4700. !             strcat(msg, "'");
  4701. !             count++;
  4702. !               }
  4703. !         }
  4704. !           yyerror(msg);
  4705. !           free(msg);
  4706. !         }
  4707. !       else
  4708. !         yyerror ("parse error; also virtual memory exceeded");
  4709. !     }
  4710. !       else
  4711. ! #endif /* YYERROR_VERBOSE */
  4712. !     yyerror("parse error");
  4713. !     }
  4714. !   goto yyerrlab1;
  4715. ! yyerrlab1:   /* here on error raised explicitly by an action */
  4716. !   if (yyerrstatus == 3)
  4717. !     {
  4718. !       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
  4719. !       /* return failure if at end of input */
  4720. !       if (yychar == YYEOF)
  4721. !     YYABORT;
  4722. ! #if YYDEBUG != 0
  4723. !       if (yydebug)
  4724. !     fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
  4725. ! #endif
  4726. !       yychar = YYEMPTY;
  4727.       }
  4728. !   /* Else will try to reuse lookahead token
  4729. !      after shifting the error token.  */
  4730. !   yyerrstatus = 3;        /* Each real token shifted decrements this */
  4731. !   goto yyerrhandle;
  4732. ! yyerrdefault:  /* current state does not do anything special for the error token. */
  4733. ! #if 0
  4734. !   /* This is wrong; only states that explicitly want error tokens
  4735. !      should shift them.  */
  4736. !   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
  4737. !   if (yyn) goto yydefault;
  4738. ! #endif
  4739. ! yyerrpop:   /* pop the current state because it cannot handle the error token */
  4740. !   if (yyssp == yyss) YYABORT;
  4741. !   yyvsp--;
  4742. !   yystate = *--yyssp;
  4743. ! #ifdef YYLSP_NEEDED
  4744. !   yylsp--;
  4745. ! #endif
  4746. ! #if YYDEBUG != 0
  4747. !   if (yydebug)
  4748.       {
  4749. !       short *ssp1 = yyss - 1;
  4750. !       fprintf (stderr, "Error: state stack now");
  4751. !       while (ssp1 != yyssp)
  4752. !     fprintf (stderr, " %d", *++ssp1);
  4753. !       fprintf (stderr, "\n");
  4754.       }
  4755.   #endif
  4756. ! yyerrhandle:
  4757. !   yyn = yypact[yystate];
  4758. !   if (yyn == YYFLAG)
  4759. !     goto yyerrdefault;
  4760. !   yyn += YYTERROR;
  4761. !   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
  4762. !     goto yyerrdefault;
  4763. !   yyn = yytable[yyn];
  4764. !   if (yyn < 0)
  4765.       {
  4766. !       if (yyn == YYFLAG)
  4767. !     goto yyerrpop;
  4768. !       yyn = -yyn;
  4769. !       goto yyreduce;
  4770.       }
  4771. !   else if (yyn == 0)
  4772. !     goto yyerrpop;
  4773. !   if (yyn == YYFINAL)
  4774. !     YYACCEPT;
  4775. ! #if YYDEBUG != 0
  4776. !   if (yydebug)
  4777. !     fprintf(stderr, "Shifting error token, ");
  4778. ! #endif
  4779. !   *++yyvsp = yylval;
  4780. ! #ifdef YYLSP_NEEDED
  4781. !   *++yylsp = yylloc;
  4782. ! #endif
  4783. !   yystate = yyn;
  4784. !   goto yynewstate;
  4785.   }
  4786. + #line 331 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4787. diff -rc --new-file groff-1.09/eqn/eqn.h /gnu/src/amiga/groff-1.09/eqn/eqn.h
  4788. *** groff-1.09/eqn/eqn.h    Sun Sep 20 10:26:24 1992
  4789. --- /gnu/src/amiga/groff-1.09/eqn/eqn.h    Mon Feb 21 16:15:34 1994
  4790. ***************
  4791. *** 19,25 ****
  4792.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4793.   
  4794.   #include <stdio.h>
  4795. ! #include <string.h>
  4796.   #include <assert.h>
  4797.   #include <stdlib.h>
  4798.   #include <errno.h>
  4799. --- 19,25 ----
  4800.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4801.   
  4802.   #include <stdio.h>
  4803. ! #include </gnu/include/string.h>
  4804.   #include <assert.h>
  4805.   #include <stdlib.h>
  4806.   #include <errno.h>
  4807. diff -rc --new-file groff-1.09/eqn/eqn.tab.h /gnu/src/amiga/groff-1.09/eqn/eqn.tab.h
  4808. *** groff-1.09/eqn/eqn.tab.h    Tue Mar 30 17:04:40 1993
  4809. --- /gnu/src/amiga/groff-1.09/eqn/eqn.tab.h    Mon Feb 21 18:22:41 1994
  4810. ***************
  4811. *** 1,61 ****
  4812. - #define OVER 257
  4813. - #define SMALLOVER 258
  4814. - #define SQRT 259
  4815. - #define SUB 260
  4816. - #define SUP 261
  4817. - #define LPILE 262
  4818. - #define RPILE 263
  4819. - #define CPILE 264
  4820. - #define PILE 265
  4821. - #define LEFT 266
  4822. - #define RIGHT 267
  4823. - #define TO 268
  4824. - #define FROM 269
  4825. - #define SIZE 270
  4826. - #define FONT 271
  4827. - #define ROMAN 272
  4828. - #define BOLD 273
  4829. - #define ITALIC 274
  4830. - #define FAT 275
  4831. - #define ACCENT 276
  4832. - #define BAR 277
  4833. - #define UNDER 278
  4834. - #define ABOVE 279
  4835. - #define TEXT 280
  4836. - #define QUOTED_TEXT 281
  4837. - #define FWD 282
  4838. - #define BACK 283
  4839. - #define DOWN 284
  4840. - #define UP 285
  4841. - #define MATRIX 286
  4842. - #define COL 287
  4843. - #define LCOL 288
  4844. - #define RCOL 289
  4845. - #define CCOL 290
  4846. - #define MARK 291
  4847. - #define LINEUP 292
  4848. - #define TYPE 293
  4849. - #define VCENTER 294
  4850. - #define PRIME 295
  4851. - #define SPLIT 296
  4852. - #define NOSPLIT 297
  4853. - #define UACCENT 298
  4854. - #define SPECIAL 299
  4855. - #define SPACE 300
  4856. - #define GFONT 301
  4857. - #define GSIZE 302
  4858. - #define DEFINE 303
  4859. - #define NDEFINE 304
  4860. - #define TDEFINE 305
  4861. - #define SDEFINE 306
  4862. - #define UNDEF 307
  4863. - #define IFDEF 308
  4864. - #define INCLUDE 309
  4865. - #define DELIM 310
  4866. - #define CHARTYPE 311
  4867. - #define SET 312
  4868. - #define GRFONT 313
  4869. - #define GBFONT 314
  4870.   typedef union {
  4871.       char *str;
  4872.       box *b;
  4873. --- 1,3 ----
  4874. ***************
  4875. *** 64,67 ****
  4876. --- 6,69 ----
  4877.       int n;
  4878.       column *col;
  4879.   } YYSTYPE;
  4880. + #define    OVER    258
  4881. + #define    SMALLOVER    259
  4882. + #define    SQRT    260
  4883. + #define    SUB    261
  4884. + #define    SUP    262
  4885. + #define    LPILE    263
  4886. + #define    RPILE    264
  4887. + #define    CPILE    265
  4888. + #define    PILE    266
  4889. + #define    LEFT    267
  4890. + #define    RIGHT    268
  4891. + #define    TO    269
  4892. + #define    FROM    270
  4893. + #define    SIZE    271
  4894. + #define    FONT    272
  4895. + #define    ROMAN    273
  4896. + #define    BOLD    274
  4897. + #define    ITALIC    275
  4898. + #define    FAT    276
  4899. + #define    ACCENT    277
  4900. + #define    BAR    278
  4901. + #define    UNDER    279
  4902. + #define    ABOVE    280
  4903. + #define    TEXT    281
  4904. + #define    QUOTED_TEXT    282
  4905. + #define    FWD    283
  4906. + #define    BACK    284
  4907. + #define    DOWN    285
  4908. + #define    UP    286
  4909. + #define    MATRIX    287
  4910. + #define    COL    288
  4911. + #define    LCOL    289
  4912. + #define    RCOL    290
  4913. + #define    CCOL    291
  4914. + #define    MARK    292
  4915. + #define    LINEUP    293
  4916. + #define    TYPE    294
  4917. + #define    VCENTER    295
  4918. + #define    PRIME    296
  4919. + #define    SPLIT    297
  4920. + #define    NOSPLIT    298
  4921. + #define    UACCENT    299
  4922. + #define    SPECIAL    300
  4923. + #define    SPACE    301
  4924. + #define    GFONT    302
  4925. + #define    GSIZE    303
  4926. + #define    DEFINE    304
  4927. + #define    NDEFINE    305
  4928. + #define    TDEFINE    306
  4929. + #define    SDEFINE    307
  4930. + #define    UNDEF    308
  4931. + #define    IFDEF    309
  4932. + #define    INCLUDE    310
  4933. + #define    DELIM    311
  4934. + #define    CHARTYPE    312
  4935. + #define    SET    313
  4936. + #define    GRFONT    314
  4937. + #define    GBFONT    315
  4938.   extern YYSTYPE yylval;
  4939. diff -rc --new-file groff-1.09/eqn/eqn.y /gnu/src/amiga/groff-1.09/eqn/eqn.y
  4940. *** groff-1.09/eqn/eqn.y    Wed Apr  7 11:47:57 1993
  4941. --- /gnu/src/amiga/groff-1.09/eqn/eqn.y    Mon Feb 21 16:15:26 1994
  4942. ***************
  4943. *** 18,24 ****
  4944.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4945.   %{
  4946.   #include <stdio.h>
  4947. ! #include <string.h>
  4948.   #include <stdlib.h>
  4949.   
  4950.   #include "lib.h"
  4951. --- 18,24 ----
  4952.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4953.   %{
  4954.   #include <stdio.h>
  4955. ! #include </gnu/include/string.h>
  4956.   #include <stdlib.h>
  4957.   
  4958.   #include "lib.h"
  4959. diff -rc --new-file groff-1.09/groff/groff.cc /gnu/src/amiga/groff-1.09/groff/groff.cc
  4960. *** groff-1.09/groff/groff.cc    Tue Aug 10 07:39:26 1993
  4961. --- /gnu/src/amiga/groff-1.09/groff/groff.cc    Mon Feb 21 16:15:40 1994
  4962. ***************
  4963. *** 21,27 ****
  4964.   // A front end for groff.
  4965.   
  4966.   #include <stdio.h>
  4967. ! #include <string.h>
  4968.   #include <stdlib.h>
  4969.   #include <signal.h>
  4970.   #include <errno.h>
  4971. --- 21,27 ----
  4972.   // A front end for groff.
  4973.   
  4974.   #include <stdio.h>
  4975. ! #include </gnu/include/string.h>
  4976.   #include <stdlib.h>
  4977.   #include <signal.h>
  4978.   #include <errno.h>
  4979. diff -rc --new-file groff-1.09/grog/Makefile.sub /gnu/src/amiga/groff-1.09/grog/Makefile.sub
  4980. *** groff-1.09/grog/Makefile.sub    Mon Apr 19 08:47:11 1993
  4981. --- /gnu/src/amiga/groff-1.09/grog/Makefile.sub    Mon Feb 21 16:30:48 1994
  4982. ***************
  4983. *** 6,12 ****
  4984.   grog: grog.pl grog.sh
  4985.       if test -n "$(PERLPATH)" && test -f "$(PERLPATH)"; then \
  4986.         rm -f $@; \
  4987. !       sed -e 's;/usr/bin/perl;$(PERLPATH);' $(srcdir)/grog.pl >$@; \
  4988.       else \
  4989.         rm -f $@; \
  4990.         sed "$(SH_SCRIPT_SED_CMD)" $(srcdir)/grog.sh >$@; \
  4991. --- 6,12 ----
  4992.   grog: grog.pl grog.sh
  4993.       if test -n "$(PERLPATH)" && test -f "$(PERLPATH)"; then \
  4994.         rm -f $@; \
  4995. !       sed -e 's;/bin/perl;$(PERLPATH);' $(srcdir)/grog.pl >$@; \
  4996.       else \
  4997.         rm -f $@; \
  4998.         sed "$(SH_SCRIPT_SED_CMD)" $(srcdir)/grog.sh >$@; \
  4999. diff -rc --new-file groff-1.09/grog/grog.pl /gnu/src/amiga/groff-1.09/grog/grog.pl
  5000. *** groff-1.09/grog/grog.pl    Thu Feb 25 07:50:51 1993
  5001. --- /gnu/src/amiga/groff-1.09/grog/grog.pl    Mon Feb 21 16:30:32 1994
  5002. ***************
  5003. *** 1,4 ****
  5004. ! #!/usr/bin/perl
  5005.   # grog -- guess options for groff command
  5006.   # Inspired by doctype script in Kernighan & Pike, Unix Programming
  5007.   # Environment, pp 306-8.
  5008. --- 1,4 ----
  5009. ! #!/bin/perl
  5010.   # grog -- guess options for groff command
  5011.   # Inspired by doctype script in Kernighan & Pike, Unix Programming
  5012.   # Environment, pp 306-8.
  5013. diff -rc --new-file groff-1.09/include/driver.h /gnu/src/amiga/groff-1.09/include/driver.h
  5014. *** groff-1.09/include/driver.h    Tue Aug 25 13:57:07 1992
  5015. --- /gnu/src/amiga/groff-1.09/include/driver.h    Mon Feb 21 16:15:46 1994
  5016. ***************
  5017. *** 19,25 ****
  5018.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5019.   
  5020.   #include <stdio.h>
  5021. ! #include <string.h>
  5022.   #include <ctype.h>
  5023.   #include <stdlib.h>
  5024.   #include <stddef.h>
  5025. --- 19,25 ----
  5026.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5027.   
  5028.   #include <stdio.h>
  5029. ! #include </gnu/include/string.h>
  5030.   #include <ctype.h>
  5031.   #include <stdlib.h>
  5032.   #include <stddef.h>
  5033. diff -rc --new-file groff-1.09/include/ptable.h /gnu/src/amiga/groff-1.09/include/ptable.h
  5034. *** groff-1.09/include/ptable.h    Tue Aug 25 12:55:59 1992
  5035. --- /gnu/src/amiga/groff-1.09/include/ptable.h    Mon Feb 21 16:15:55 1994
  5036. ***************
  5037. *** 19,25 ****
  5038.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5039.   
  5040.   #include <assert.h>
  5041. ! #include <string.h>
  5042.   
  5043.   #ifdef TRADITIONAL_CPP
  5044.   #define name2(a,b) a/**/b
  5045. --- 19,25 ----
  5046.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5047.   
  5048.   #include <assert.h>
  5049. ! #include </gnu/include/string.h>
  5050.   
  5051.   #ifdef TRADITIONAL_CPP
  5052.   #define name2(a,b) a/**/b
  5053. diff -rc --new-file groff-1.09/include/stringclass.h /gnu/src/amiga/groff-1.09/include/stringclass.h
  5054. *** groff-1.09/include/stringclass.h    Thu May 27 21:19:36 1993
  5055. --- /gnu/src/amiga/groff-1.09/include/stringclass.h    Mon Feb 21 16:16:02 1994
  5056. ***************
  5057. *** 18,24 ****
  5058.   with groff; see the file COPYING.  If not, write to the Free Software
  5059.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5060.   
  5061. ! #include <string.h>
  5062.   #include <stdio.h>
  5063.   #include <assert.h>
  5064.   
  5065. --- 18,24 ----
  5066.   with groff; see the file COPYING.  If not, write to the Free Software
  5067.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5068.   
  5069. ! #include </gnu/include/string.h>
  5070.   #include <stdio.h>
  5071.   #include <assert.h>
  5072.   
  5073. diff -rc --new-file groff-1.09/indxbib/Makefile.sub /gnu/src/amiga/groff-1.09/indxbib/Makefile.sub
  5074. *** groff-1.09/indxbib/Makefile.sub    Mon Jan  4 21:57:32 1993
  5075. --- /gnu/src/amiga/groff-1.09/indxbib/Makefile.sub    Mon Feb 21 16:31:44 1994
  5076. ***************
  5077. *** 10,20 ****
  5078.   install_data: eign
  5079.       -test -d $(datadir) || mkdir $(datadir)
  5080.       -test -d $(datasubdir) || mkdir $(datasubdir)
  5081. !     if test -f /usr/lib/eign; then \
  5082.         rm -f $(common_words_file); \
  5083. !       ln -s /usr/lib/eign $(common_words_file) 2>/dev/null \
  5084. !       || ln /usr/lib/eign $(common_words_file) 2>/dev/null \
  5085. !       || cp /usr/lib/eign $(common_words_file); \
  5086.       else \
  5087.         rm -f $(common_words_file); \
  5088.         $(INSTALL_DATA) $(srcdir)/eign $(common_words_file); \
  5089. --- 10,20 ----
  5090.   install_data: eign
  5091.       -test -d $(datadir) || mkdir $(datadir)
  5092.       -test -d $(datasubdir) || mkdir $(datasubdir)
  5093. !     if test -f /gnu/lib/eign; then \
  5094.         rm -f $(common_words_file); \
  5095. !       ln -s /gnu/lib/eign $(common_words_file) 2>/dev/null \
  5096. !       || ln /gnu/lib/eign $(common_words_file) 2>/dev/null \
  5097. !       || cp /gnu/lib/eign $(common_words_file); \
  5098.       else \
  5099.         rm -f $(common_words_file); \
  5100.         $(INSTALL_DATA) $(srcdir)/eign $(common_words_file); \
  5101. diff -rc --new-file groff-1.09/indxbib/indxbib.cc /gnu/src/amiga/groff-1.09/indxbib/indxbib.cc
  5102. *** groff-1.09/indxbib/indxbib.cc    Thu Feb  3 09:34:30 1994
  5103. --- /gnu/src/amiga/groff-1.09/indxbib/indxbib.cc    Mon Feb 21 16:16:09 1994
  5104. ***************
  5105. *** 20,26 ****
  5106.   
  5107.   #include <stdio.h>
  5108.   #include <stdlib.h>
  5109. ! #include <string.h>
  5110.   #include <assert.h>
  5111.   #include <errno.h>
  5112.   
  5113. --- 20,26 ----
  5114.   
  5115.   #include <stdio.h>
  5116.   #include <stdlib.h>
  5117. ! #include </gnu/include/string.h>
  5118.   #include <assert.h>
  5119.   #include <errno.h>
  5120.   
  5121. diff -rc --new-file groff-1.09/libbib/index.cc /gnu/src/amiga/groff-1.09/libbib/index.cc
  5122. *** groff-1.09/libbib/index.cc    Sun Feb 13 10:24:49 1994
  5123. --- /gnu/src/amiga/groff-1.09/libbib/index.cc    Mon Feb 21 16:16:28 1994
  5124. ***************
  5125. *** 19,25 ****
  5126.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5127.   
  5128.   #include <stdio.h>
  5129. ! #include <string.h>
  5130.   #include <stdlib.h>
  5131.   #include <errno.h>
  5132.   
  5133. --- 19,25 ----
  5134.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5135.   
  5136.   #include <stdio.h>
  5137. ! #include </gnu/include/string.h>
  5138.   #include <stdlib.h>
  5139.   #include <errno.h>
  5140.   
  5141. diff -rc --new-file groff-1.09/libbib/linear.cc /gnu/src/amiga/groff-1.09/libbib/linear.cc
  5142. *** groff-1.09/libbib/linear.cc    Fri Feb 18 17:27:29 1994
  5143. --- /gnu/src/amiga/groff-1.09/libbib/linear.cc    Mon Feb 21 16:16:21 1994
  5144. ***************
  5145. *** 19,25 ****
  5146.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5147.   
  5148.   
  5149. ! #include <string.h>
  5150.   #include <stdlib.h>
  5151.   #include <assert.h>
  5152.   #include <errno.h>
  5153. --- 19,25 ----
  5154.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5155.   
  5156.   
  5157. ! #include </gnu/include/string.h>
  5158.   #include <stdlib.h>
  5159.   #include <assert.h>
  5160.   #include <errno.h>
  5161. diff -rc --new-file groff-1.09/libbib/search.cc /gnu/src/amiga/groff-1.09/libbib/search.cc
  5162. *** groff-1.09/libbib/search.cc    Tue Aug 25 15:03:41 1992
  5163. --- /gnu/src/amiga/groff-1.09/libbib/search.cc    Mon Feb 21 16:16:14 1994
  5164. ***************
  5165. *** 19,25 ****
  5166.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5167.   
  5168.   #include <stdlib.h>
  5169. ! #include <string.h>
  5170.   #include <assert.h>
  5171.   #include <errno.h>
  5172.   
  5173. --- 19,25 ----
  5174.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5175.   
  5176.   #include <stdlib.h>
  5177. ! #include </gnu/include/string.h>
  5178.   #include <assert.h>
  5179.   #include <errno.h>
  5180.   
  5181. diff -rc --new-file groff-1.09/libgroff/change_lf.cc /gnu/src/amiga/groff-1.09/libgroff/change_lf.cc
  5182. *** groff-1.09/libgroff/change_lf.cc    Mon Aug  3 10:34:52 1992
  5183. --- /gnu/src/amiga/groff-1.09/libgroff/change_lf.cc    Mon Feb 21 16:16:34 1994
  5184. ***************
  5185. *** 17,23 ****
  5186.   with groff; see the file COPYING.  If not, write to the Free Software
  5187.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5188.   
  5189. ! #include <string.h>
  5190.   
  5191.   extern char *strsave(const char *);
  5192.   
  5193. --- 17,23 ----
  5194.   with groff; see the file COPYING.  If not, write to the Free Software
  5195.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5196.   
  5197. ! #include </gnu/include/string.h>
  5198.   
  5199.   extern char *strsave(const char *);
  5200.   
  5201. diff -rc --new-file groff-1.09/libgroff/error.cc /gnu/src/amiga/groff-1.09/libgroff/error.cc
  5202. *** groff-1.09/libgroff/error.cc    Mon Aug  3 10:34:36 1992
  5203. --- /gnu/src/amiga/groff-1.09/libgroff/error.cc    Mon Feb 21 16:16:40 1994
  5204. ***************
  5205. *** 20,26 ****
  5206.   
  5207.   #include <stdio.h>
  5208.   #include <stdlib.h>
  5209. ! #include <string.h>
  5210.   #include "errarg.h"
  5211.   #include "error.h"
  5212.   
  5213. --- 20,26 ----
  5214.   
  5215.   #include <stdio.h>
  5216.   #include <stdlib.h>
  5217. ! #include </gnu/include/string.h>
  5218.   #include "errarg.h"
  5219.   #include "error.h"
  5220.   
  5221. diff -rc --new-file groff-1.09/libgroff/font.cc /gnu/src/amiga/groff-1.09/libgroff/font.cc
  5222. *** groff-1.09/libgroff/font.cc    Mon Feb 14 08:27:02 1994
  5223. --- /gnu/src/amiga/groff-1.09/libgroff/font.cc    Mon Feb 21 16:16:54 1994
  5224. ***************
  5225. *** 19,25 ****
  5226.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5227.   
  5228.   #include <stdio.h>
  5229. ! #include <string.h>
  5230.   #include <ctype.h>
  5231.   #include <assert.h>
  5232.   #include <math.h>
  5233. --- 19,25 ----
  5234.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5235.   
  5236.   #include <stdio.h>
  5237. ! #include </gnu/include/string.h>
  5238.   #include <ctype.h>
  5239.   #include <assert.h>
  5240.   #include <math.h>
  5241. diff -rc --new-file groff-1.09/libgroff/fontfile.cc /gnu/src/amiga/groff-1.09/libgroff/fontfile.cc
  5242. *** groff-1.09/libgroff/fontfile.cc    Mon Aug  3 10:35:02 1992
  5243. --- /gnu/src/amiga/groff-1.09/libgroff/fontfile.cc    Mon Feb 21 16:16:46 1994
  5244. ***************
  5245. *** 19,25 ****
  5246.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5247.   
  5248.   #include <stdio.h>
  5249. ! #include <string.h>
  5250.   #include <assert.h>
  5251.   #include <stdlib.h>
  5252.   #include <errno.h>
  5253. --- 19,25 ----
  5254.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5255.   
  5256.   #include <stdio.h>
  5257. ! #include </gnu/include/string.h>
  5258.   #include <assert.h>
  5259.   #include <stdlib.h>
  5260.   #include <errno.h>
  5261. diff -rc --new-file groff-1.09/libgroff/lf.cc /gnu/src/amiga/groff-1.09/libgroff/lf.cc
  5262. *** groff-1.09/libgroff/lf.cc    Mon Aug  3 10:35:03 1992
  5263. --- /gnu/src/amiga/groff-1.09/libgroff/lf.cc    Mon Feb 21 16:17:01 1994
  5264. ***************
  5265. *** 18,24 ****
  5266.   with groff; see the file COPYING.  If not, write to the Free Software
  5267.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5268.   
  5269. ! #include <string.h>
  5270.   #include <ctype.h>
  5271.   #include "cset.h"
  5272.   #include "stringclass.h"
  5273. --- 18,24 ----
  5274.   with groff; see the file COPYING.  If not, write to the Free Software
  5275.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5276.   
  5277. ! #include </gnu/include/string.h>
  5278.   #include <ctype.h>
  5279.   #include "cset.h"
  5280.   #include "stringclass.h"
  5281. diff -rc --new-file groff-1.09/libgroff/nametoindex.cc /gnu/src/amiga/groff-1.09/libgroff/nametoindex.cc
  5282. *** groff-1.09/libgroff/nametoindex.cc    Mon Aug  3 10:34:44 1992
  5283. --- /gnu/src/amiga/groff-1.09/libgroff/nametoindex.cc    Mon Feb 21 16:17:11 1994
  5284. ***************
  5285. *** 19,25 ****
  5286.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5287.   
  5288.   #include <stdio.h>
  5289. ! #include <string.h>
  5290.   #include <ctype.h>
  5291.   #include <assert.h>
  5292.   #include <stdlib.h>
  5293. --- 19,25 ----
  5294.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5295.   
  5296.   #include <stdio.h>
  5297. ! #include </gnu/include/string.h>
  5298.   #include <ctype.h>
  5299.   #include <assert.h>
  5300.   #include <stdlib.h>
  5301. diff -rc --new-file groff-1.09/libgroff/new.cc /gnu/src/amiga/groff-1.09/libgroff/new.cc
  5302. *** groff-1.09/libgroff/new.cc    Sun Feb 13 10:48:35 1994
  5303. --- /gnu/src/amiga/groff-1.09/libgroff/new.cc    Mon Feb 21 16:17:06 1994
  5304. ***************
  5305. *** 19,25 ****
  5306.   
  5307.   #include <stddef.h>
  5308.   #include <stdlib.h>
  5309. ! #include <string.h>
  5310.   
  5311.   #include "posix.h"
  5312.   
  5313. --- 19,25 ----
  5314.   
  5315.   #include <stddef.h>
  5316.   #include <stdlib.h>
  5317. ! #include </gnu/include/string.h>
  5318.   
  5319.   #include "posix.h"
  5320.   
  5321. diff -rc --new-file groff-1.09/libgroff/searchpath.cc /gnu/src/amiga/groff-1.09/libgroff/searchpath.cc
  5322. *** groff-1.09/libgroff/searchpath.cc    Mon Aug  3 10:34:46 1992
  5323. --- /gnu/src/amiga/groff-1.09/libgroff/searchpath.cc    Mon Feb 21 16:17:18 1994
  5324. ***************
  5325. *** 19,25 ****
  5326.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5327.   
  5328.   #include <stdio.h>
  5329. ! #include <string.h>
  5330.   #include <stdlib.h>
  5331.   #include <assert.h>
  5332.   
  5333. --- 19,25 ----
  5334.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5335.   
  5336.   #include <stdio.h>
  5337. ! #include </gnu/include/string.h>
  5338.   #include <stdlib.h>
  5339.   #include <assert.h>
  5340.   
  5341. diff -rc --new-file groff-1.09/libgroff/strsave.cc /gnu/src/amiga/groff-1.09/libgroff/strsave.cc
  5342. *** groff-1.09/libgroff/strsave.cc    Mon Aug  3 10:34:49 1992
  5343. --- /gnu/src/amiga/groff-1.09/libgroff/strsave.cc    Mon Feb 21 16:17:25 1994
  5344. ***************
  5345. *** 18,24 ****
  5346.   with groff; see the file COPYING.  If not, write to the Free Software
  5347.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5348.   
  5349. ! #include <string.h>
  5350.   
  5351.   char *strsave(const char *s)
  5352.   {
  5353. --- 18,24 ----
  5354.   with groff; see the file COPYING.  If not, write to the Free Software
  5355.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5356.   
  5357. ! #include </gnu/include/string.h>
  5358.   
  5359.   char *strsave(const char *s)
  5360.   {
  5361. diff -rc --new-file groff-1.09/libgroff/tmpfile.cc /gnu/src/amiga/groff-1.09/libgroff/tmpfile.cc
  5362. *** groff-1.09/libgroff/tmpfile.cc    Tue Aug 25 15:03:31 1992
  5363. --- /gnu/src/amiga/groff-1.09/libgroff/tmpfile.cc    Mon Feb 21 16:17:30 1994
  5364. ***************
  5365. *** 20,26 ****
  5366.   
  5367.   #include <stdio.h>
  5368.   #include <errno.h>
  5369. ! #include <string.h>
  5370.   #include <stdlib.h>
  5371.   
  5372.   #include "posix.h"
  5373. --- 20,26 ----
  5374.   
  5375.   #include <stdio.h>
  5376.   #include <errno.h>
  5377. ! #include </gnu/include/string.h>
  5378.   #include <stdlib.h>
  5379.   
  5380.   #include "posix.h"
  5381. diff -rc --new-file groff-1.09/lkbib/lkbib.cc /gnu/src/amiga/groff-1.09/lkbib/lkbib.cc
  5382. *** groff-1.09/lkbib/lkbib.cc    Thu May 27 22:29:33 1993
  5383. --- /gnu/src/amiga/groff-1.09/lkbib/lkbib.cc    Mon Feb 21 16:17:56 1994
  5384. ***************
  5385. *** 21,27 ****
  5386.   #include <stdlib.h>
  5387.   #include <stdio.h>
  5388.   #include <errno.h>
  5389. ! #include <string.h>
  5390.   #include <assert.h>
  5391.   
  5392.   #include "lib.h"
  5393. --- 21,27 ----
  5394.   #include <stdlib.h>
  5395.   #include <stdio.h>
  5396.   #include <errno.h>
  5397. ! #include </gnu/include/string.h>
  5398.   #include <assert.h>
  5399.   
  5400.   #include "lib.h"
  5401. diff -rc --new-file groff-1.09/lookbib/lookbib.cc /gnu/src/amiga/groff-1.09/lookbib/lookbib.cc
  5402. *** groff-1.09/lookbib/lookbib.cc    Thu May 27 22:29:38 1993
  5403. --- /gnu/src/amiga/groff-1.09/lookbib/lookbib.cc    Mon Feb 21 16:18:01 1994
  5404. ***************
  5405. *** 20,26 ****
  5406.   
  5407.   #include <stdio.h>
  5408.   #include <stdlib.h>
  5409. ! #include <string.h>
  5410.   #include <assert.h>
  5411.   #include <errno.h>
  5412.   
  5413. --- 20,26 ----
  5414.   
  5415.   #include <stdio.h>
  5416.   #include <stdlib.h>
  5417. ! #include </gnu/include/string.h>
  5418.   #include <assert.h>
  5419.   #include <errno.h>
  5420.   
  5421. diff -rc --new-file groff-1.09/mm/tmac.m /gnu/src/amiga/groff-1.09/mm/tmac.m
  5422. *** groff-1.09/mm/tmac.m    Mon Feb 14 08:42:46 1994
  5423. --- /gnu/src/amiga/groff-1.09/mm/tmac.m    Mon Feb 21 16:31:58 1994
  5424. ***************
  5425. *** 131,137 ****
  5426.   .\"
  5427.   .\" These two are for cover macro .MT
  5428.   .\" Change @langage in the national file.
  5429. ! .ds @cur-lib /usr/local/lib/groff/tmac
  5430.   .\" .ds @language
  5431.   .\"
  5432.   .\"    Current pointsize and vertical space, always in points.
  5433. --- 131,137 ----
  5434.   .\"
  5435.   .\" These two are for cover macro .MT
  5436.   .\" Change @langage in the national file.
  5437. ! .ds @cur-lib /gnu/lib/groff/tmac
  5438.   .\" .ds @language
  5439.   .\"
  5440.   .\"    Current pointsize and vertical space, always in points.
  5441. diff -rc --new-file groff-1.09/nroff/Makefile.sub /gnu/src/amiga/groff-1.09/nroff/Makefile.sub
  5442. *** groff-1.09/nroff/Makefile.sub    Mon Apr 19 08:46:21 1993
  5443. --- /gnu/src/amiga/groff-1.09/nroff/Makefile.sub    Sat Jul  9 13:53:05 1994
  5444. ***************
  5445. *** 1,3 ****
  5446. --- 1,4 ----
  5447. + PROG=nroff
  5448.   MAN1=nroff.n
  5449.   NAMEPREFIX=$(g)
  5450.   CLEANADD=nroff
  5451. diff -rc --new-file groff-1.09/pic/make-dos-dist /gnu/src/amiga/groff-1.09/pic/make-dos-dist
  5452. *** groff-1.09/pic/make-dos-dist    Thu May 27 19:57:13 1993
  5453. --- /gnu/src/amiga/groff-1.09/pic/make-dos-dist    Mon Feb 21 16:09:10 1994
  5454. ***************
  5455. *** 132,138 ****
  5456.   /* Derived from comp.sources.unix/volume3/att_getopt. */
  5457.   
  5458.   #include <stdio.h>
  5459. ! #include <string.h>
  5460.   #include <ctype.h>
  5461.   
  5462.   #ifdef SWITCHAR
  5463. --- 132,138 ----
  5464.   /* Derived from comp.sources.unix/volume3/att_getopt. */
  5465.   
  5466.   #include <stdio.h>
  5467. ! #include </gnu/include/string.h>
  5468.   #include <ctype.h>
  5469.   
  5470.   #ifdef SWITCHAR
  5471. diff -rc --new-file groff-1.09/pic/pic.cc /gnu/src/amiga/groff-1.09/pic/pic.cc
  5472. *** groff-1.09/pic/pic.cc    Sun Feb 13 10:26:46 1994
  5473. --- /gnu/src/amiga/groff-1.09/pic/pic.cc    Wed May  4 11:34:59 1994
  5474. ***************
  5475. *** 2,8 ****
  5476.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  5477.   #endif
  5478.   #define YYBYACC 1
  5479. ! #line 20 "/u/jjc/groff/pic/pic.y"
  5480.   #include "pic.h"
  5481.   #include "ptable.h"
  5482.   #include "object.h"
  5483. --- 2,8 ----
  5484.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  5485.   #endif
  5486.   #define YYBYACC 1
  5487. ! #line 20 "pic.y"
  5488.   #include "pic.h"
  5489.   #include "ptable.h"
  5490.   #include "object.h"
  5491. ***************
  5492. *** 53,59 ****
  5493.   char *format_number(const char *form, double n);
  5494.   char *do_sprintf(const char *form, const double *v, int nv);
  5495.   
  5496. ! #line 73 "/u/jjc/groff/pic/pic.y"
  5497.   typedef union {
  5498.       char *str;
  5499.       int n;
  5500. --- 53,59 ----
  5501.   char *format_number(const char *form, double n);
  5502.   char *do_sprintf(const char *form, const double *v, int nv);
  5503.   
  5504. ! #line 73 "pic.y"
  5505.   typedef union {
  5506.       char *str;
  5507.       int n;
  5508. ***************
  5509. *** 3115,3121 ****
  5510.   short yyss[YYSTACKSIZE];
  5511.   YYSTYPE yyvs[YYSTACKSIZE];
  5512.   #define yystacksize YYSTACKSIZE
  5513. ! #line 1514 "/u/jjc/groff/pic/pic.y"
  5514.   
  5515.   /* bison defines const to be empty unless __STDC__ is defined, which it
  5516.   isn't under cfront */
  5517. --- 3115,3121 ----
  5518.   short yyss[YYSTACKSIZE];
  5519.   YYSTYPE yyvs[YYSTACKSIZE];
  5520.   #define yystacksize YYSTACKSIZE
  5521. ! #line 1514 "pic.y"
  5522.   
  5523.   /* bison defines const to be empty unless __STDC__ is defined, which it
  5524.   isn't under cfront */
  5525. ***************
  5526. *** 3524,3556 ****
  5527.       switch (yyn)
  5528.       {
  5529.   case 2:
  5530. ! #line 272 "/u/jjc/groff/pic/pic.y"
  5531.   {
  5532.             if (olist.head)
  5533.               print_picture(olist.head);
  5534.           }
  5535.   break;
  5536.   case 3:
  5537. ! #line 281 "/u/jjc/groff/pic/pic.y"
  5538.   { yyval.pl = yyvsp[-1].pl; }
  5539.   break;
  5540.   case 4:
  5541. ! #line 286 "/u/jjc/groff/pic/pic.y"
  5542.   { yyval.pl = yyvsp[0].pl; }
  5543.   break;
  5544.   case 5:
  5545. ! #line 288 "/u/jjc/groff/pic/pic.y"
  5546.   { yyval.pl = yyvsp[-2].pl; }
  5547.   break;
  5548.   case 10:
  5549. ! #line 303 "/u/jjc/groff/pic/pic.y"
  5550.   {
  5551.             define_variable(yyvsp[-2].str, yyvsp[0].x);
  5552.             a_delete yyvsp[-2].str;
  5553.           }
  5554.   break;
  5555.   case 11:
  5556. ! #line 308 "/u/jjc/groff/pic/pic.y"
  5557.   {
  5558.             place *p = lookup_label(yyvsp[-3].str);
  5559.             if (!p) {
  5560. --- 3524,3556 ----
  5561.       switch (yyn)
  5562.       {
  5563.   case 2:
  5564. ! #line 272 "pic.y"
  5565.   {
  5566.             if (olist.head)
  5567.               print_picture(olist.head);
  5568.           }
  5569.   break;
  5570.   case 3:
  5571. ! #line 281 "pic.y"
  5572.   { yyval.pl = yyvsp[-1].pl; }
  5573.   break;
  5574.   case 4:
  5575. ! #line 286 "pic.y"
  5576.   { yyval.pl = yyvsp[0].pl; }
  5577.   break;
  5578.   case 5:
  5579. ! #line 288 "pic.y"
  5580.   { yyval.pl = yyvsp[-2].pl; }
  5581.   break;
  5582.   case 10:
  5583. ! #line 303 "pic.y"
  5584.   {
  5585.             define_variable(yyvsp[-2].str, yyvsp[0].x);
  5586.             a_delete yyvsp[-2].str;
  5587.           }
  5588.   break;
  5589.   case 11:
  5590. ! #line 308 "pic.y"
  5591.   {
  5592.             place *p = lookup_label(yyvsp[-3].str);
  5593.             if (!p) {
  5594. ***************
  5595. *** 3564,3600 ****
  5596.           }
  5597.   break;
  5598.   case 12:
  5599. ! #line 320 "/u/jjc/groff/pic/pic.y"
  5600.   { current_direction = UP_DIRECTION; }
  5601.   break;
  5602.   case 13:
  5603. ! #line 322 "/u/jjc/groff/pic/pic.y"
  5604.   { current_direction = DOWN_DIRECTION; }
  5605.   break;
  5606.   case 14:
  5607. ! #line 324 "/u/jjc/groff/pic/pic.y"
  5608.   { current_direction = LEFT_DIRECTION; }
  5609.   break;
  5610.   case 15:
  5611. ! #line 326 "/u/jjc/groff/pic/pic.y"
  5612.   { current_direction = RIGHT_DIRECTION; }
  5613.   break;
  5614.   case 16:
  5615. ! #line 328 "/u/jjc/groff/pic/pic.y"
  5616.   {
  5617.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5618.                              yyvsp[0].lstr.lineno));
  5619.           }
  5620.   break;
  5621.   case 17:
  5622. ! #line 333 "/u/jjc/groff/pic/pic.y"
  5623.   {
  5624.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5625.                              yyvsp[0].lstr.lineno));
  5626.           }
  5627.   break;
  5628.   case 18:
  5629. ! #line 338 "/u/jjc/groff/pic/pic.y"
  5630.   {
  5631.             fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
  5632.             a_delete yyvsp[0].lstr.str;
  5633. --- 3564,3600 ----
  5634.           }
  5635.   break;
  5636.   case 12:
  5637. ! #line 320 "pic.y"
  5638.   { current_direction = UP_DIRECTION; }
  5639.   break;
  5640.   case 13:
  5641. ! #line 322 "pic.y"
  5642.   { current_direction = DOWN_DIRECTION; }
  5643.   break;
  5644.   case 14:
  5645. ! #line 324 "pic.y"
  5646.   { current_direction = LEFT_DIRECTION; }
  5647.   break;
  5648.   case 15:
  5649. ! #line 326 "pic.y"
  5650.   { current_direction = RIGHT_DIRECTION; }
  5651.   break;
  5652.   case 16:
  5653. ! #line 328 "pic.y"
  5654.   {
  5655.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5656.                              yyvsp[0].lstr.lineno));
  5657.           }
  5658.   break;
  5659.   case 17:
  5660. ! #line 333 "pic.y"
  5661.   {
  5662.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5663.                              yyvsp[0].lstr.lineno));
  5664.           }
  5665.   break;
  5666.   case 18:
  5667. ! #line 338 "pic.y"
  5668.   {
  5669.             fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
  5670.             a_delete yyvsp[0].lstr.str;
  5671. ***************
  5672. *** 3602,3612 ****
  5673.           }
  5674.   break;
  5675.   case 19:
  5676. ! #line 344 "/u/jjc/groff/pic/pic.y"
  5677.   { delim_flag = 1; }
  5678.   break;
  5679.   case 20:
  5680. ! #line 346 "/u/jjc/groff/pic/pic.y"
  5681.   {
  5682.             delim_flag = 0;
  5683.             system(yyvsp[0].str);
  5684. --- 3602,3612 ----
  5685.           }
  5686.   break;
  5687.   case 19:
  5688. ! #line 344 "pic.y"
  5689.   { delim_flag = 1; }
  5690.   break;
  5691.   case 20:
  5692. ! #line 346 "pic.y"
  5693.   {
  5694.             delim_flag = 0;
  5695.             system(yyvsp[0].str);
  5696. ***************
  5697. *** 3614,3620 ****
  5698.           }
  5699.   break;
  5700.   case 21:
  5701. ! #line 352 "/u/jjc/groff/pic/pic.y"
  5702.   {
  5703.             if (yychar < 0)
  5704.               do_lookahead();
  5705. --- 3614,3620 ----
  5706.           }
  5707.   break;
  5708.   case 21:
  5709. ! #line 352 "pic.y"
  5710.   {
  5711.             if (yychar < 0)
  5712.               do_lookahead();
  5713. ***************
  5714. *** 3623,3637 ****
  5715.           }
  5716.   break;
  5717.   case 22:
  5718. ! #line 359 "/u/jjc/groff/pic/pic.y"
  5719.   { delim_flag = 2; }
  5720.   break;
  5721.   case 23:
  5722. ! #line 361 "/u/jjc/groff/pic/pic.y"
  5723.   { delim_flag = 0; }
  5724.   break;
  5725.   case 24:
  5726. ! #line 363 "/u/jjc/groff/pic/pic.y"
  5727.   {
  5728.             if (yychar < 0)
  5729.               do_lookahead();
  5730. --- 3623,3637 ----
  5731.           }
  5732.   break;
  5733.   case 22:
  5734. ! #line 359 "pic.y"
  5735.   { delim_flag = 2; }
  5736.   break;
  5737.   case 23:
  5738. ! #line 361 "pic.y"
  5739.   { delim_flag = 0; }
  5740.   break;
  5741.   case 24:
  5742. ! #line 363 "pic.y"
  5743.   {
  5744.             if (yychar < 0)
  5745.               do_lookahead();
  5746. ***************
  5747. *** 3642,3656 ****
  5748.           }
  5749.   break;
  5750.   case 25:
  5751. ! #line 372 "/u/jjc/groff/pic/pic.y"
  5752.   { delim_flag = 2; }
  5753.   break;
  5754.   case 26:
  5755. ! #line 374 "/u/jjc/groff/pic/pic.y"
  5756.   { delim_flag = 0; }
  5757.   break;
  5758.   case 27:
  5759. ! #line 376 "/u/jjc/groff/pic/pic.y"
  5760.   {
  5761.             if (yychar < 0)
  5762.               do_lookahead();
  5763. --- 3642,3656 ----
  5764.           }
  5765.   break;
  5766.   case 25:
  5767. ! #line 372 "pic.y"
  5768.   { delim_flag = 2; }
  5769.   break;
  5770.   case 26:
  5771. ! #line 374 "pic.y"
  5772.   { delim_flag = 0; }
  5773.   break;
  5774.   case 27:
  5775. ! #line 376 "pic.y"
  5776.   {
  5777.             if (yychar < 0)
  5778.               do_lookahead();
  5779. ***************
  5780. *** 3660,3670 ****
  5781.           }
  5782.   break;
  5783.   case 28:
  5784. ! #line 384 "/u/jjc/groff/pic/pic.y"
  5785.   { delim_flag = 1; }
  5786.   break;
  5787.   case 29:
  5788. ! #line 386 "/u/jjc/groff/pic/pic.y"
  5789.   {
  5790.             delim_flag = 0;
  5791.             if (yychar < 0)
  5792. --- 3660,3670 ----
  5793.           }
  5794.   break;
  5795.   case 28:
  5796. ! #line 384 "pic.y"
  5797.   { delim_flag = 1; }
  5798.   break;
  5799.   case 29:
  5800. ! #line 386 "pic.y"
  5801.   {
  5802.             delim_flag = 0;
  5803.             if (yychar < 0)
  5804. ***************
  5805. *** 3673,3679 ****
  5806.           }
  5807.   break;
  5808.   case 30:
  5809. ! #line 393 "/u/jjc/groff/pic/pic.y"
  5810.   {
  5811.             if (yychar < 0)
  5812.               do_lookahead();
  5813. --- 3673,3679 ----
  5814.           }
  5815.   break;
  5816.   case 30:
  5817. ! #line 393 "pic.y"
  5818.   {
  5819.             if (yychar < 0)
  5820.               do_lookahead();
  5821. ***************
  5822. *** 3683,3693 ****
  5823.           }
  5824.   break;
  5825.   case 31:
  5826. ! #line 401 "/u/jjc/groff/pic/pic.y"
  5827.   { delim_flag = 1; }
  5828.   break;
  5829.   case 32:
  5830. ! #line 403 "/u/jjc/groff/pic/pic.y"
  5831.   {
  5832.             delim_flag = 0;
  5833.             if (yychar < 0)
  5834. --- 3683,3693 ----
  5835.           }
  5836.   break;
  5837.   case 31:
  5838. ! #line 401 "pic.y"
  5839.   { delim_flag = 1; }
  5840.   break;
  5841.   case 32:
  5842. ! #line 403 "pic.y"
  5843.   {
  5844.             delim_flag = 0;
  5845.             if (yychar < 0)
  5846. ***************
  5847. *** 3701,3727 ****
  5848.           }
  5849.   break;
  5850.   case 34:
  5851. ! #line 416 "/u/jjc/groff/pic/pic.y"
  5852.   { define_variable("scale", 1.0); }
  5853.   break;
  5854.   case 35:
  5855. ! #line 421 "/u/jjc/groff/pic/pic.y"
  5856.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5857.   break;
  5858.   case 36:
  5859. ! #line 423 "/u/jjc/groff/pic/pic.y"
  5860.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5861.   break;
  5862.   case 37:
  5863. ! #line 425 "/u/jjc/groff/pic/pic.y"
  5864.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5865.   break;
  5866.   case 38:
  5867. ! #line 430 "/u/jjc/groff/pic/pic.y"
  5868.   { yyval.lstr = yyvsp[0].lstr; }
  5869.   break;
  5870.   case 39:
  5871. ! #line 432 "/u/jjc/groff/pic/pic.y"
  5872.   {
  5873.             yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
  5874.             strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
  5875. --- 3701,3727 ----
  5876.           }
  5877.   break;
  5878.   case 34:
  5879. ! #line 416 "pic.y"
  5880.   { define_variable("scale", 1.0); }
  5881.   break;
  5882.   case 35:
  5883. ! #line 421 "pic.y"
  5884.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5885.   break;
  5886.   case 36:
  5887. ! #line 423 "pic.y"
  5888.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5889.   break;
  5890.   case 37:
  5891. ! #line 425 "pic.y"
  5892.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5893.   break;
  5894.   case 38:
  5895. ! #line 430 "pic.y"
  5896.   { yyval.lstr = yyvsp[0].lstr; }
  5897.   break;
  5898.   case 39:
  5899. ! #line 432 "pic.y"
  5900.   {
  5901.             yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
  5902.             strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
  5903. ***************
  5904. *** 3739,3745 ****
  5905.           }
  5906.   break;
  5907.   case 40:
  5908. ! #line 451 "/u/jjc/groff/pic/pic.y"
  5909.   {
  5910.             yyval.lstr.str = new char[GDIGITS + 1];
  5911.             sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
  5912. --- 3739,3745 ----
  5913.           }
  5914.   break;
  5915.   case 40:
  5916. ! #line 451 "pic.y"
  5917.   {
  5918.             yyval.lstr.str = new char[GDIGITS + 1];
  5919.             sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
  5920. ***************
  5921. *** 3748,3758 ****
  5922.           }
  5923.   break;
  5924.   case 41:
  5925. ! #line 458 "/u/jjc/groff/pic/pic.y"
  5926.   { yyval.lstr = yyvsp[0].lstr; }
  5927.   break;
  5928.   case 42:
  5929. ! #line 460 "/u/jjc/groff/pic/pic.y"
  5930.   {
  5931.             yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
  5932.             sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
  5933. --- 3748,3758 ----
  5934.           }
  5935.   break;
  5936.   case 41:
  5937. ! #line 458 "pic.y"
  5938.   { yyval.lstr = yyvsp[0].lstr; }
  5939.   break;
  5940.   case 42:
  5941. ! #line 460 "pic.y"
  5942.   {
  5943.             yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
  5944.             sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
  5945. ***************
  5946. *** 3761,3791 ****
  5947.           }
  5948.   break;
  5949.   case 43:
  5950. ! #line 469 "/u/jjc/groff/pic/pic.y"
  5951.   { delim_flag = 1; }
  5952.   break;
  5953.   case 44:
  5954. ! #line 471 "/u/jjc/groff/pic/pic.y"
  5955.   { delim_flag = 0; yyval.if_data.x = yyvsp[-3].x; yyval.if_data.body = yyvsp[0].str; }
  5956.   break;
  5957.   case 45:
  5958. ! #line 476 "/u/jjc/groff/pic/pic.y"
  5959.   { yyval.str = 0; }
  5960.   break;
  5961.   case 46:
  5962. ! #line 478 "/u/jjc/groff/pic/pic.y"
  5963.   { yyval.str = yyvsp[0].lstr.str; }
  5964.   break;
  5965.   case 47:
  5966. ! #line 483 "/u/jjc/groff/pic/pic.y"
  5967.   { yyval.x = yyvsp[0].x; }
  5968.   break;
  5969.   case 48:
  5970. ! #line 485 "/u/jjc/groff/pic/pic.y"
  5971.   { yyval.x = yyvsp[0].x; }
  5972.   break;
  5973.   case 49:
  5974. ! #line 490 "/u/jjc/groff/pic/pic.y"
  5975.   {
  5976.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
  5977.             a_delete yyvsp[-2].lstr.str;
  5978. --- 3761,3791 ----
  5979.           }
  5980.   break;
  5981.   case 43:
  5982. ! #line 469 "pic.y"
  5983.   { delim_flag = 1; }
  5984.   break;
  5985.   case 44:
  5986. ! #line 471 "pic.y"
  5987.   { delim_flag = 0; yyval.if_data.x = yyvsp[-3].x; yyval.if_data.body = yyvsp[0].str; }
  5988.   break;
  5989.   case 45:
  5990. ! #line 476 "pic.y"
  5991.   { yyval.str = 0; }
  5992.   break;
  5993.   case 46:
  5994. ! #line 478 "pic.y"
  5995.   { yyval.str = yyvsp[0].lstr.str; }
  5996.   break;
  5997.   case 47:
  5998. ! #line 483 "pic.y"
  5999.   { yyval.x = yyvsp[0].x; }
  6000.   break;
  6001.   case 48:
  6002. ! #line 485 "pic.y"
  6003.   { yyval.x = yyvsp[0].x; }
  6004.   break;
  6005.   case 49:
  6006. ! #line 490 "pic.y"
  6007.   {
  6008.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
  6009.             a_delete yyvsp[-2].lstr.str;
  6010. ***************
  6011. *** 3793,3799 ****
  6012.           }
  6013.   break;
  6014.   case 50:
  6015. ! #line 496 "/u/jjc/groff/pic/pic.y"
  6016.   {
  6017.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
  6018.             a_delete yyvsp[-2].lstr.str;
  6019. --- 3793,3799 ----
  6020.           }
  6021.   break;
  6022.   case 50:
  6023. ! #line 496 "pic.y"
  6024.   {
  6025.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
  6026.             a_delete yyvsp[-2].lstr.str;
  6027. ***************
  6028. *** 3801,3847 ****
  6029.           }
  6030.   break;
  6031.   case 51:
  6032. ! #line 502 "/u/jjc/groff/pic/pic.y"
  6033.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6034.   break;
  6035.   case 52:
  6036. ! #line 504 "/u/jjc/groff/pic/pic.y"
  6037.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6038.   break;
  6039.   case 53:
  6040. ! #line 506 "/u/jjc/groff/pic/pic.y"
  6041.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6042.   break;
  6043.   case 54:
  6044. ! #line 508 "/u/jjc/groff/pic/pic.y"
  6045.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6046.   break;
  6047.   case 55:
  6048. ! #line 510 "/u/jjc/groff/pic/pic.y"
  6049.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6050.   break;
  6051.   case 56:
  6052. ! #line 512 "/u/jjc/groff/pic/pic.y"
  6053.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6054.   break;
  6055.   case 57:
  6056. ! #line 514 "/u/jjc/groff/pic/pic.y"
  6057.   { yyval.x = (yyvsp[0].x == 0.0); }
  6058.   break;
  6059.   case 58:
  6060. ! #line 520 "/u/jjc/groff/pic/pic.y"
  6061.   { yyval.by.val = 1.0; yyval.by.is_multiplicative = 0; }
  6062.   break;
  6063.   case 59:
  6064. ! #line 522 "/u/jjc/groff/pic/pic.y"
  6065.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 0; }
  6066.   break;
  6067.   case 60:
  6068. ! #line 524 "/u/jjc/groff/pic/pic.y"
  6069.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 1; }
  6070.   break;
  6071.   case 61:
  6072. ! #line 529 "/u/jjc/groff/pic/pic.y"
  6073.   {
  6074.             yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position,
  6075.                          ¤t_direction);
  6076. --- 3801,3847 ----
  6077.           }
  6078.   break;
  6079.   case 51:
  6080. ! #line 502 "pic.y"
  6081.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6082.   break;
  6083.   case 52:
  6084. ! #line 504 "pic.y"
  6085.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6086.   break;
  6087.   case 53:
  6088. ! #line 506 "pic.y"
  6089.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6090.   break;
  6091.   case 54:
  6092. ! #line 508 "pic.y"
  6093.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6094.   break;
  6095.   case 55:
  6096. ! #line 510 "pic.y"
  6097.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6098.   break;
  6099.   case 56:
  6100. ! #line 512 "pic.y"
  6101.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6102.   break;
  6103.   case 57:
  6104. ! #line 514 "pic.y"
  6105.   { yyval.x = (yyvsp[0].x == 0.0); }
  6106.   break;
  6107.   case 58:
  6108. ! #line 520 "pic.y"
  6109.   { yyval.by.val = 1.0; yyval.by.is_multiplicative = 0; }
  6110.   break;
  6111.   case 59:
  6112. ! #line 522 "pic.y"
  6113.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 0; }
  6114.   break;
  6115.   case 60:
  6116. ! #line 524 "pic.y"
  6117.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 1; }
  6118.   break;
  6119.   case 61:
  6120. ! #line 529 "pic.y"
  6121.   {
  6122.             yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position,
  6123.                          ¤t_direction);
  6124. ***************
  6125. *** 3857,3867 ****
  6126.           }
  6127.   break;
  6128.   case 62:
  6129. ! #line 543 "/u/jjc/groff/pic/pic.y"
  6130.   { yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); a_delete yyvsp[-3].str; }
  6131.   break;
  6132.   case 63:
  6133. ! #line 545 "/u/jjc/groff/pic/pic.y"
  6134.   {
  6135.             yyval.pl.obj = 0;
  6136.             yyval.pl.x = yyvsp[0].pair.x;
  6137. --- 3857,3867 ----
  6138.           }
  6139.   break;
  6140.   case 62:
  6141. ! #line 543 "pic.y"
  6142.   { yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); a_delete yyvsp[-3].str; }
  6143.   break;
  6144.   case 63:
  6145. ! #line 545 "pic.y"
  6146.   {
  6147.             yyval.pl.obj = 0;
  6148.             yyval.pl.x = yyvsp[0].pair.x;
  6149. ***************
  6150. *** 3871,3877 ****
  6151.           }
  6152.   break;
  6153.   case 64:
  6154. ! #line 553 "/u/jjc/groff/pic/pic.y"
  6155.   {
  6156.             yyval.pl = yyvsp[0].pl;
  6157.             define_label(yyvsp[-3].str, & yyval.pl);
  6158. --- 3871,3877 ----
  6159.           }
  6160.   break;
  6161.   case 64:
  6162. ! #line 553 "pic.y"
  6163.   {
  6164.             yyval.pl = yyvsp[0].pl;
  6165.             define_label(yyvsp[-3].str, & yyval.pl);
  6166. ***************
  6167. *** 3879,3885 ****
  6168.           }
  6169.   break;
  6170.   case 65:
  6171. ! #line 559 "/u/jjc/groff/pic/pic.y"
  6172.   {
  6173.             yyval.state.x = current_position.x;
  6174.             yyval.state.y = current_position.y;
  6175. --- 3879,3885 ----
  6176.           }
  6177.   break;
  6178.   case 65:
  6179. ! #line 559 "pic.y"
  6180.   {
  6181.             yyval.state.x = current_position.x;
  6182.             yyval.state.y = current_position.y;
  6183. ***************
  6184. *** 3887,3893 ****
  6185.           }
  6186.   break;
  6187.   case 66:
  6188. ! #line 565 "/u/jjc/groff/pic/pic.y"
  6189.   {
  6190.             current_position.x = yyvsp[-2].state.x;
  6191.             current_position.y = yyvsp[-2].state.y;
  6192. --- 3887,3893 ----
  6193.           }
  6194.   break;
  6195.   case 66:
  6196. ! #line 565 "pic.y"
  6197.   {
  6198.             current_position.x = yyvsp[-2].state.x;
  6199.             current_position.y = yyvsp[-2].state.y;
  6200. ***************
  6201. *** 3895,3907 ****
  6202.           }
  6203.   break;
  6204.   case 67:
  6205. ! #line 571 "/u/jjc/groff/pic/pic.y"
  6206.   {
  6207.             yyval.pl = yyvsp[-3].pl;
  6208.           }
  6209.   break;
  6210.   case 68:
  6211. ! #line 575 "/u/jjc/groff/pic/pic.y"
  6212.   {
  6213.             yyval.pl.obj = 0;
  6214.             yyval.pl.x = current_position.x;
  6215. --- 3895,3907 ----
  6216.           }
  6217.   break;
  6218.   case 67:
  6219. ! #line 571 "pic.y"
  6220.   {
  6221.             yyval.pl = yyvsp[-3].pl;
  6222.           }
  6223.   break;
  6224.   case 68:
  6225. ! #line 575 "pic.y"
  6226.   {
  6227.             yyval.pl.obj = 0;
  6228.             yyval.pl.x = current_position.x;
  6229. ***************
  6230. *** 3909,3948 ****
  6231.           }
  6232.   break;
  6233.   case 69:
  6234. ! #line 584 "/u/jjc/groff/pic/pic.y"
  6235.   {}
  6236.   break;
  6237.   case 70:
  6238. ! #line 586 "/u/jjc/groff/pic/pic.y"
  6239.   {}
  6240.   break;
  6241.   case 71:
  6242. ! #line 591 "/u/jjc/groff/pic/pic.y"
  6243.   {
  6244.             yyval.spec = new object_spec(BOX_OBJECT);
  6245.           }
  6246.   break;
  6247.   case 72:
  6248. ! #line 595 "/u/jjc/groff/pic/pic.y"
  6249.   {
  6250.             yyval.spec = new object_spec(CIRCLE_OBJECT);
  6251.           }
  6252.   break;
  6253.   case 73:
  6254. ! #line 599 "/u/jjc/groff/pic/pic.y"
  6255.   {
  6256.             yyval.spec = new object_spec(ELLIPSE_OBJECT);
  6257.           }
  6258.   break;
  6259.   case 74:
  6260. ! #line 603 "/u/jjc/groff/pic/pic.y"
  6261.   {
  6262.             yyval.spec = new object_spec(ARC_OBJECT);
  6263.             yyval.spec->dir = current_direction;
  6264.           }
  6265.   break;
  6266.   case 75:
  6267. ! #line 608 "/u/jjc/groff/pic/pic.y"
  6268.   {
  6269.             yyval.spec = new object_spec(LINE_OBJECT);
  6270.             lookup_variable("lineht", & yyval.spec->segment_height);
  6271. --- 3909,3948 ----
  6272.           }
  6273.   break;
  6274.   case 69:
  6275. ! #line 584 "pic.y"
  6276.   {}
  6277.   break;
  6278.   case 70:
  6279. ! #line 586 "pic.y"
  6280.   {}
  6281.   break;
  6282.   case 71:
  6283. ! #line 591 "pic.y"
  6284.   {
  6285.             yyval.spec = new object_spec(BOX_OBJECT);
  6286.           }
  6287.   break;
  6288.   case 72:
  6289. ! #line 595 "pic.y"
  6290.   {
  6291.             yyval.spec = new object_spec(CIRCLE_OBJECT);
  6292.           }
  6293.   break;
  6294.   case 73:
  6295. ! #line 599 "pic.y"
  6296.   {
  6297.             yyval.spec = new object_spec(ELLIPSE_OBJECT);
  6298.           }
  6299.   break;
  6300.   case 74:
  6301. ! #line 603 "pic.y"
  6302.   {
  6303.             yyval.spec = new object_spec(ARC_OBJECT);
  6304.             yyval.spec->dir = current_direction;
  6305.           }
  6306.   break;
  6307.   case 75:
  6308. ! #line 608 "pic.y"
  6309.   {
  6310.             yyval.spec = new object_spec(LINE_OBJECT);
  6311.             lookup_variable("lineht", & yyval.spec->segment_height);
  6312. ***************
  6313. *** 3951,3957 ****
  6314.           }
  6315.   break;
  6316.   case 76:
  6317. ! #line 615 "/u/jjc/groff/pic/pic.y"
  6318.   {
  6319.             yyval.spec = new object_spec(ARROW_OBJECT);
  6320.             lookup_variable("lineht", & yyval.spec->segment_height);
  6321. --- 3951,3957 ----
  6322.           }
  6323.   break;
  6324.   case 76:
  6325. ! #line 615 "pic.y"
  6326.   {
  6327.             yyval.spec = new object_spec(ARROW_OBJECT);
  6328.             lookup_variable("lineht", & yyval.spec->segment_height);
  6329. ***************
  6330. *** 3960,3966 ****
  6331.           }
  6332.   break;
  6333.   case 77:
  6334. ! #line 622 "/u/jjc/groff/pic/pic.y"
  6335.   {
  6336.             yyval.spec = new object_spec(MOVE_OBJECT);
  6337.             lookup_variable("moveht", & yyval.spec->segment_height);
  6338. --- 3960,3966 ----
  6339.           }
  6340.   break;
  6341.   case 77:
  6342. ! #line 622 "pic.y"
  6343.   {
  6344.             yyval.spec = new object_spec(MOVE_OBJECT);
  6345.             lookup_variable("moveht", & yyval.spec->segment_height);
  6346. ***************
  6347. *** 3969,3975 ****
  6348.           }
  6349.   break;
  6350.   case 78:
  6351. ! #line 629 "/u/jjc/groff/pic/pic.y"
  6352.   {
  6353.             yyval.spec = new object_spec(SPLINE_OBJECT);
  6354.             lookup_variable("lineht", & yyval.spec->segment_height);
  6355. --- 3969,3975 ----
  6356.           }
  6357.   break;
  6358.   case 78:
  6359. ! #line 629 "pic.y"
  6360.   {
  6361.             yyval.spec = new object_spec(SPLINE_OBJECT);
  6362.             lookup_variable("lineht", & yyval.spec->segment_height);
  6363. ***************
  6364. *** 3978,3998 ****
  6365.           }
  6366.   break;
  6367.   case 79:
  6368. ! #line 636 "/u/jjc/groff/pic/pic.y"
  6369.   {
  6370.             yyval.spec = new object_spec(TEXT_OBJECT);
  6371.             yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
  6372.           }
  6373.   break;
  6374.   case 80:
  6375. ! #line 641 "/u/jjc/groff/pic/pic.y"
  6376.   {
  6377.             yyval.spec = new object_spec(TEXT_OBJECT);
  6378.             yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
  6379.           }
  6380.   break;
  6381.   case 81:
  6382. ! #line 646 "/u/jjc/groff/pic/pic.y"
  6383.   {
  6384.             yyval.spec = new object_spec(TEXT_OBJECT);
  6385.             yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
  6386. --- 3978,3998 ----
  6387.           }
  6388.   break;
  6389.   case 79:
  6390. ! #line 636 "pic.y"
  6391.   {
  6392.             yyval.spec = new object_spec(TEXT_OBJECT);
  6393.             yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
  6394.           }
  6395.   break;
  6396.   case 80:
  6397. ! #line 641 "pic.y"
  6398.   {
  6399.             yyval.spec = new object_spec(TEXT_OBJECT);
  6400.             yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
  6401.           }
  6402.   break;
  6403.   case 81:
  6404. ! #line 646 "pic.y"
  6405.   {
  6406.             yyval.spec = new object_spec(TEXT_OBJECT);
  6407.             yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
  6408. ***************
  6409. *** 4001,4007 ****
  6410.           }
  6411.   break;
  6412.   case 82:
  6413. ! #line 653 "/u/jjc/groff/pic/pic.y"
  6414.   {
  6415.             saved_state *p = new saved_state;
  6416.             yyval.pstate = p;
  6417. --- 4001,4007 ----
  6418.           }
  6419.   break;
  6420.   case 82:
  6421. ! #line 653 "pic.y"
  6422.   {
  6423.             saved_state *p = new saved_state;
  6424.             yyval.pstate = p;
  6425. ***************
  6426. *** 4018,4024 ****
  6427.           }
  6428.   break;
  6429.   case 83:
  6430. ! #line 668 "/u/jjc/groff/pic/pic.y"
  6431.   {
  6432.             current_position.x = yyvsp[-2].pstate->x;
  6433.             current_position.y = yyvsp[-2].pstate->y;
  6434. --- 4018,4024 ----
  6435.           }
  6436.   break;
  6437.   case 83:
  6438. ! #line 668 "pic.y"
  6439.   {
  6440.             current_position.x = yyvsp[-2].pstate->x;
  6441.             current_position.y = yyvsp[-2].pstate->y;
  6442. ***************
  6443. *** 4032,4038 ****
  6444.           }
  6445.   break;
  6446.   case 84:
  6447. ! #line 680 "/u/jjc/groff/pic/pic.y"
  6448.   {
  6449.             yyval.spec = yyvsp[-2].spec;
  6450.             yyval.spec->height = yyvsp[0].x;
  6451. --- 4032,4038 ----
  6452.           }
  6453.   break;
  6454.   case 84:
  6455. ! #line 680 "pic.y"
  6456.   {
  6457.             yyval.spec = yyvsp[-2].spec;
  6458.             yyval.spec->height = yyvsp[0].x;
  6459. ***************
  6460. *** 4040,4046 ****
  6461.           }
  6462.   break;
  6463.   case 85:
  6464. ! #line 686 "/u/jjc/groff/pic/pic.y"
  6465.   {
  6466.             yyval.spec = yyvsp[-2].spec;
  6467.             yyval.spec->radius = yyvsp[0].x;
  6468. --- 4040,4046 ----
  6469.           }
  6470.   break;
  6471.   case 85:
  6472. ! #line 686 "pic.y"
  6473.   {
  6474.             yyval.spec = yyvsp[-2].spec;
  6475.             yyval.spec->radius = yyvsp[0].x;
  6476. ***************
  6477. *** 4048,4054 ****
  6478.           }
  6479.   break;
  6480.   case 86:
  6481. ! #line 692 "/u/jjc/groff/pic/pic.y"
  6482.   {
  6483.             yyval.spec = yyvsp[-2].spec;
  6484.             yyval.spec->width = yyvsp[0].x;
  6485. --- 4048,4054 ----
  6486.           }
  6487.   break;
  6488.   case 86:
  6489. ! #line 692 "pic.y"
  6490.   {
  6491.             yyval.spec = yyvsp[-2].spec;
  6492.             yyval.spec->width = yyvsp[0].x;
  6493. ***************
  6494. *** 4056,4062 ****
  6495.           }
  6496.   break;
  6497.   case 87:
  6498. ! #line 698 "/u/jjc/groff/pic/pic.y"
  6499.   {
  6500.             yyval.spec = yyvsp[-2].spec;
  6501.             yyval.spec->radius = yyvsp[0].x/2.0;
  6502. --- 4056,4062 ----
  6503.           }
  6504.   break;
  6505.   case 87:
  6506. ! #line 698 "pic.y"
  6507.   {
  6508.             yyval.spec = yyvsp[-2].spec;
  6509.             yyval.spec->radius = yyvsp[0].x/2.0;
  6510. ***************
  6511. *** 4064,4070 ****
  6512.           }
  6513.   break;
  6514.   case 88:
  6515. ! #line 704 "/u/jjc/groff/pic/pic.y"
  6516.   {
  6517.             yyval.spec = yyvsp[-1].spec;
  6518.             yyval.spec->flags |= HAS_SEGMENT;
  6519. --- 4064,4070 ----
  6520.           }
  6521.   break;
  6522.   case 88:
  6523. ! #line 704 "pic.y"
  6524.   {
  6525.             yyval.spec = yyvsp[-1].spec;
  6526.             yyval.spec->flags |= HAS_SEGMENT;
  6527. ***************
  6528. *** 4085,4091 ****
  6529.           }
  6530.   break;
  6531.   case 89:
  6532. ! #line 723 "/u/jjc/groff/pic/pic.y"
  6533.   {
  6534.             yyval.spec = yyvsp[-1].spec;
  6535.             yyval.spec->dir = UP_DIRECTION;
  6536. --- 4085,4091 ----
  6537.           }
  6538.   break;
  6539.   case 89:
  6540. ! #line 723 "pic.y"
  6541.   {
  6542.             yyval.spec = yyvsp[-1].spec;
  6543.             yyval.spec->dir = UP_DIRECTION;
  6544. ***************
  6545. *** 4094,4100 ****
  6546.           }
  6547.   break;
  6548.   case 90:
  6549. ! #line 730 "/u/jjc/groff/pic/pic.y"
  6550.   {
  6551.             yyval.spec = yyvsp[-2].spec;
  6552.             yyval.spec->dir = UP_DIRECTION;
  6553. --- 4094,4100 ----
  6554.           }
  6555.   break;
  6556.   case 90:
  6557. ! #line 730 "pic.y"
  6558.   {
  6559.             yyval.spec = yyvsp[-2].spec;
  6560.             yyval.spec->dir = UP_DIRECTION;
  6561. ***************
  6562. *** 4103,4109 ****
  6563.           }
  6564.   break;
  6565.   case 91:
  6566. ! #line 737 "/u/jjc/groff/pic/pic.y"
  6567.   {
  6568.             yyval.spec = yyvsp[-1].spec;
  6569.             yyval.spec->dir = DOWN_DIRECTION;
  6570. --- 4103,4109 ----
  6571.           }
  6572.   break;
  6573.   case 91:
  6574. ! #line 737 "pic.y"
  6575.   {
  6576.             yyval.spec = yyvsp[-1].spec;
  6577.             yyval.spec->dir = DOWN_DIRECTION;
  6578. ***************
  6579. *** 4112,4118 ****
  6580.           }
  6581.   break;
  6582.   case 92:
  6583. ! #line 744 "/u/jjc/groff/pic/pic.y"
  6584.   {
  6585.             yyval.spec = yyvsp[-2].spec;
  6586.             yyval.spec->dir = DOWN_DIRECTION;
  6587. --- 4112,4118 ----
  6588.           }
  6589.   break;
  6590.   case 92:
  6591. ! #line 744 "pic.y"
  6592.   {
  6593.             yyval.spec = yyvsp[-2].spec;
  6594.             yyval.spec->dir = DOWN_DIRECTION;
  6595. ***************
  6596. *** 4121,4127 ****
  6597.           }
  6598.   break;
  6599.   case 93:
  6600. ! #line 751 "/u/jjc/groff/pic/pic.y"
  6601.   {
  6602.             yyval.spec = yyvsp[-1].spec;
  6603.             yyval.spec->dir = RIGHT_DIRECTION;
  6604. --- 4121,4127 ----
  6605.           }
  6606.   break;
  6607.   case 93:
  6608. ! #line 751 "pic.y"
  6609.   {
  6610.             yyval.spec = yyvsp[-1].spec;
  6611.             yyval.spec->dir = RIGHT_DIRECTION;
  6612. ***************
  6613. *** 4130,4136 ****
  6614.           }
  6615.   break;
  6616.   case 94:
  6617. ! #line 758 "/u/jjc/groff/pic/pic.y"
  6618.   {
  6619.             yyval.spec = yyvsp[-2].spec;
  6620.             yyval.spec->dir = RIGHT_DIRECTION;
  6621. --- 4130,4136 ----
  6622.           }
  6623.   break;
  6624.   case 94:
  6625. ! #line 758 "pic.y"
  6626.   {
  6627.             yyval.spec = yyvsp[-2].spec;
  6628.             yyval.spec->dir = RIGHT_DIRECTION;
  6629. ***************
  6630. *** 4139,4145 ****
  6631.           }
  6632.   break;
  6633.   case 95:
  6634. ! #line 765 "/u/jjc/groff/pic/pic.y"
  6635.   {
  6636.             yyval.spec = yyvsp[-1].spec;
  6637.             yyval.spec->dir = LEFT_DIRECTION;
  6638. --- 4139,4145 ----
  6639.           }
  6640.   break;
  6641.   case 95:
  6642. ! #line 765 "pic.y"
  6643.   {
  6644.             yyval.spec = yyvsp[-1].spec;
  6645.             yyval.spec->dir = LEFT_DIRECTION;
  6646. ***************
  6647. *** 4148,4154 ****
  6648.           }
  6649.   break;
  6650.   case 96:
  6651. ! #line 772 "/u/jjc/groff/pic/pic.y"
  6652.   {
  6653.             yyval.spec = yyvsp[-2].spec;
  6654.             yyval.spec->dir = LEFT_DIRECTION;
  6655. --- 4148,4154 ----
  6656.           }
  6657.   break;
  6658.   case 96:
  6659. ! #line 772 "pic.y"
  6660.   {
  6661.             yyval.spec = yyvsp[-2].spec;
  6662.             yyval.spec->dir = LEFT_DIRECTION;
  6663. ***************
  6664. *** 4157,4163 ****
  6665.           }
  6666.   break;
  6667.   case 97:
  6668. ! #line 779 "/u/jjc/groff/pic/pic.y"
  6669.   {
  6670.             yyval.spec = yyvsp[-2].spec;
  6671.             yyval.spec->flags |= HAS_FROM;
  6672. --- 4157,4163 ----
  6673.           }
  6674.   break;
  6675.   case 97:
  6676. ! #line 779 "pic.y"
  6677.   {
  6678.             yyval.spec = yyvsp[-2].spec;
  6679.             yyval.spec->flags |= HAS_FROM;
  6680. ***************
  6681. *** 4166,4172 ****
  6682.           }
  6683.   break;
  6684.   case 98:
  6685. ! #line 786 "/u/jjc/groff/pic/pic.y"
  6686.   {
  6687.             yyval.spec = yyvsp[-2].spec;
  6688.             if (yyval.spec->flags & HAS_SEGMENT)
  6689. --- 4166,4172 ----
  6690.           }
  6691.   break;
  6692.   case 98:
  6693. ! #line 786 "pic.y"
  6694.   {
  6695.             yyval.spec = yyvsp[-2].spec;
  6696.             if (yyval.spec->flags & HAS_SEGMENT)
  6697. ***************
  6698. *** 4183,4189 ****
  6699.           }
  6700.   break;
  6701.   case 99:
  6702. ! #line 801 "/u/jjc/groff/pic/pic.y"
  6703.   {
  6704.             yyval.spec = yyvsp[-2].spec;
  6705.             yyval.spec->flags |= HAS_AT;
  6706. --- 4183,4189 ----
  6707.           }
  6708.   break;
  6709.   case 99:
  6710. ! #line 801 "pic.y"
  6711.   {
  6712.             yyval.spec = yyvsp[-2].spec;
  6713.             yyval.spec->flags |= HAS_AT;
  6714. ***************
  6715. *** 4197,4203 ****
  6716.           }
  6717.   break;
  6718.   case 100:
  6719. ! #line 813 "/u/jjc/groff/pic/pic.y"
  6720.   {
  6721.             yyval.spec = yyvsp[-2].spec;
  6722.             yyval.spec->flags |= HAS_WITH;
  6723. --- 4197,4203 ----
  6724.           }
  6725.   break;
  6726.   case 100:
  6727. ! #line 813 "pic.y"
  6728.   {
  6729.             yyval.spec = yyvsp[-2].spec;
  6730.             yyval.spec->flags |= HAS_WITH;
  6731. ***************
  6732. *** 4205,4211 ****
  6733.           }
  6734.   break;
  6735.   case 101:
  6736. ! #line 819 "/u/jjc/groff/pic/pic.y"
  6737.   {
  6738.             yyval.spec = yyvsp[-2].spec;
  6739.             yyval.spec->flags |= HAS_SEGMENT;
  6740. --- 4205,4211 ----
  6741.           }
  6742.   break;
  6743.   case 101:
  6744. ! #line 819 "pic.y"
  6745.   {
  6746.             yyval.spec = yyvsp[-2].spec;
  6747.             yyval.spec->flags |= HAS_SEGMENT;
  6748. ***************
  6749. *** 4214,4220 ****
  6750.           }
  6751.   break;
  6752.   case 102:
  6753. ! #line 826 "/u/jjc/groff/pic/pic.y"
  6754.   {
  6755.             yyval.spec = yyvsp[-1].spec;
  6756.             if (yyval.spec->flags & HAS_SEGMENT) {
  6757. --- 4214,4220 ----
  6758.           }
  6759.   break;
  6760.   case 102:
  6761. ! #line 826 "pic.y"
  6762.   {
  6763.             yyval.spec = yyvsp[-1].spec;
  6764.             if (yyval.spec->flags & HAS_SEGMENT) {
  6765. ***************
  6766. *** 4228,4234 ****
  6767.           }
  6768.   break;
  6769.   case 103:
  6770. ! #line 838 "/u/jjc/groff/pic/pic.y"
  6771.   {
  6772.             yyval.spec = yyvsp[-1].spec;
  6773.             yyval.spec->flags |= IS_DOTTED;
  6774. --- 4228,4234 ----
  6775.           }
  6776.   break;
  6777.   case 103:
  6778. ! #line 838 "pic.y"
  6779.   {
  6780.             yyval.spec = yyvsp[-1].spec;
  6781.             yyval.spec->flags |= IS_DOTTED;
  6782. ***************
  6783. *** 4236,4242 ****
  6784.           }
  6785.   break;
  6786.   case 104:
  6787. ! #line 844 "/u/jjc/groff/pic/pic.y"
  6788.   {
  6789.             yyval.spec = yyvsp[-2].spec;
  6790.             yyval.spec->flags |= IS_DOTTED;
  6791. --- 4236,4242 ----
  6792.           }
  6793.   break;
  6794.   case 104:
  6795. ! #line 844 "pic.y"
  6796.   {
  6797.             yyval.spec = yyvsp[-2].spec;
  6798.             yyval.spec->flags |= IS_DOTTED;
  6799. ***************
  6800. *** 4244,4250 ****
  6801.           }
  6802.   break;
  6803.   case 105:
  6804. ! #line 850 "/u/jjc/groff/pic/pic.y"
  6805.   {
  6806.             yyval.spec = yyvsp[-1].spec;
  6807.             yyval.spec->flags |= IS_DASHED;
  6808. --- 4244,4250 ----
  6809.           }
  6810.   break;
  6811.   case 105:
  6812. ! #line 850 "pic.y"
  6813.   {
  6814.             yyval.spec = yyvsp[-1].spec;
  6815.             yyval.spec->flags |= IS_DASHED;
  6816. ***************
  6817. *** 4252,4258 ****
  6818.           }
  6819.   break;
  6820.   case 106:
  6821. ! #line 856 "/u/jjc/groff/pic/pic.y"
  6822.   {
  6823.             yyval.spec = yyvsp[-2].spec;
  6824.             yyval.spec->flags |= IS_DASHED;
  6825. --- 4252,4258 ----
  6826.           }
  6827.   break;
  6828.   case 106:
  6829. ! #line 856 "pic.y"
  6830.   {
  6831.             yyval.spec = yyvsp[-2].spec;
  6832.             yyval.spec->flags |= IS_DASHED;
  6833. ***************
  6834. *** 4260,4273 ****
  6835.           }
  6836.   break;
  6837.   case 107:
  6838. ! #line 862 "/u/jjc/groff/pic/pic.y"
  6839.   {
  6840.             yyval.spec = yyvsp[-1].spec;
  6841.             yyval.spec->flags |= IS_DEFAULT_FILLED;
  6842.           }
  6843.   break;
  6844.   case 108:
  6845. ! #line 867 "/u/jjc/groff/pic/pic.y"
  6846.   {
  6847.             yyval.spec = yyvsp[-2].spec;
  6848.             yyval.spec->flags |= IS_FILLED;
  6849. --- 4260,4273 ----
  6850.           }
  6851.   break;
  6852.   case 107:
  6853. ! #line 862 "pic.y"
  6854.   {
  6855.             yyval.spec = yyvsp[-1].spec;
  6856.             yyval.spec->flags |= IS_DEFAULT_FILLED;
  6857.           }
  6858.   break;
  6859.   case 108:
  6860. ! #line 867 "pic.y"
  6861.   {
  6862.             yyval.spec = yyvsp[-2].spec;
  6863.             yyval.spec->flags |= IS_FILLED;
  6864. ***************
  6865. *** 4275,4281 ****
  6866.           }
  6867.   break;
  6868.   case 109:
  6869. ! #line 873 "/u/jjc/groff/pic/pic.y"
  6870.   {
  6871.             yyval.spec = yyvsp[-1].spec;
  6872.             /* line chop chop means line chop 0 chop 0*/
  6873. --- 4275,4281 ----
  6874.           }
  6875.   break;
  6876.   case 109:
  6877. ! #line 873 "pic.y"
  6878.   {
  6879.             yyval.spec = yyvsp[-1].spec;
  6880.             /* line chop chop means line chop 0 chop 0*/
  6881. ***************
  6882. *** 4293,4299 ****
  6883.           }
  6884.   break;
  6885.   case 110:
  6886. ! #line 889 "/u/jjc/groff/pic/pic.y"
  6887.   {
  6888.             yyval.spec = yyvsp[-2].spec;
  6889.             if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
  6890. --- 4293,4299 ----
  6891.           }
  6892.   break;
  6893.   case 110:
  6894. ! #line 889 "pic.y"
  6895.   {
  6896.             yyval.spec = yyvsp[-2].spec;
  6897.             if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
  6898. ***************
  6899. *** 4312,4367 ****
  6900.           }
  6901.   break;
  6902.   case 111:
  6903. ! #line 906 "/u/jjc/groff/pic/pic.y"
  6904.   {
  6905.             yyval.spec = yyvsp[-1].spec;
  6906.             yyval.spec->flags |= IS_SAME;
  6907.           }
  6908.   break;
  6909.   case 112:
  6910. ! #line 911 "/u/jjc/groff/pic/pic.y"
  6911.   {
  6912.             yyval.spec = yyvsp[-1].spec;
  6913.             yyval.spec->flags |= IS_INVISIBLE;
  6914.           }
  6915.   break;
  6916.   case 113:
  6917. ! #line 916 "/u/jjc/groff/pic/pic.y"
  6918.   {
  6919.             yyval.spec = yyvsp[-1].spec;
  6920.             yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
  6921.           }
  6922.   break;
  6923.   case 114:
  6924. ! #line 921 "/u/jjc/groff/pic/pic.y"
  6925.   {
  6926.             yyval.spec = yyvsp[-1].spec;
  6927.             yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
  6928.           }
  6929.   break;
  6930.   case 115:
  6931. ! #line 926 "/u/jjc/groff/pic/pic.y"
  6932.   {
  6933.             yyval.spec = yyvsp[-1].spec;
  6934.             yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
  6935.           }
  6936.   break;
  6937.   case 116:
  6938. ! #line 931 "/u/jjc/groff/pic/pic.y"
  6939.   {
  6940.             yyval.spec = yyvsp[-1].spec;
  6941.             yyval.spec->flags |= IS_CLOCKWISE;
  6942.           }
  6943.   break;
  6944.   case 117:
  6945. ! #line 936 "/u/jjc/groff/pic/pic.y"
  6946.   {
  6947.             yyval.spec = yyvsp[-1].spec;
  6948.             yyval.spec->flags &= ~IS_CLOCKWISE;
  6949.           }
  6950.   break;
  6951.   case 118:
  6952. ! #line 941 "/u/jjc/groff/pic/pic.y"
  6953.   {
  6954.             yyval.spec = yyvsp[-1].spec;
  6955.             for (text_item **p = & yyval.spec->text; *p; p = &(*p)->next)
  6956. --- 4312,4367 ----
  6957.           }
  6958.   break;
  6959.   case 111:
  6960. ! #line 906 "pic.y"
  6961.   {
  6962.             yyval.spec = yyvsp[-1].spec;
  6963.             yyval.spec->flags |= IS_SAME;
  6964.           }
  6965.   break;
  6966.   case 112:
  6967. ! #line 911 "pic.y"
  6968.   {
  6969.             yyval.spec = yyvsp[-1].spec;
  6970.             yyval.spec->flags |= IS_INVISIBLE;
  6971.           }
  6972.   break;
  6973.   case 113:
  6974. ! #line 916 "pic.y"
  6975.   {
  6976.             yyval.spec = yyvsp[-1].spec;
  6977.             yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
  6978.           }
  6979.   break;
  6980.   case 114:
  6981. ! #line 921 "pic.y"
  6982.   {
  6983.             yyval.spec = yyvsp[-1].spec;
  6984.             yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
  6985.           }
  6986.   break;
  6987.   case 115:
  6988. ! #line 926 "pic.y"
  6989.   {
  6990.             yyval.spec = yyvsp[-1].spec;
  6991.             yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
  6992.           }
  6993.   break;
  6994.   case 116:
  6995. ! #line 931 "pic.y"
  6996.   {
  6997.             yyval.spec = yyvsp[-1].spec;
  6998.             yyval.spec->flags |= IS_CLOCKWISE;
  6999.           }
  7000.   break;
  7001.   case 117:
  7002. ! #line 936 "pic.y"
  7003.   {
  7004.             yyval.spec = yyvsp[-1].spec;
  7005.             yyval.spec->flags &= ~IS_CLOCKWISE;
  7006.           }
  7007.   break;
  7008.   case 118:
  7009. ! #line 941 "pic.y"
  7010.   {
  7011.             yyval.spec = yyvsp[-1].spec;
  7012.             for (text_item **p = & yyval.spec->text; *p; p = &(*p)->next)
  7013. ***************
  7014. *** 4370,4376 ****
  7015.           }
  7016.   break;
  7017.   case 119:
  7018. ! #line 948 "/u/jjc/groff/pic/pic.y"
  7019.   {
  7020.             yyval.spec = yyvsp[-1].spec;
  7021.             if (yyval.spec->text) {
  7022. --- 4370,4376 ----
  7023.           }
  7024.   break;
  7025.   case 119:
  7026. ! #line 948 "pic.y"
  7027.   {
  7028.             yyval.spec = yyvsp[-1].spec;
  7029.             if (yyval.spec->text) {
  7030. ***************
  7031. *** 4381,4387 ****
  7032.           }
  7033.   break;
  7034.   case 120:
  7035. ! #line 957 "/u/jjc/groff/pic/pic.y"
  7036.   {
  7037.             yyval.spec = yyvsp[-1].spec;
  7038.             if (yyval.spec->text) {
  7039. --- 4381,4387 ----
  7040.           }
  7041.   break;
  7042.   case 120:
  7043. ! #line 957 "pic.y"
  7044.   {
  7045.             yyval.spec = yyvsp[-1].spec;
  7046.             if (yyval.spec->text) {
  7047. ***************
  7048. *** 4392,4398 ****
  7049.           }
  7050.   break;
  7051.   case 121:
  7052. ! #line 966 "/u/jjc/groff/pic/pic.y"
  7053.   {
  7054.             yyval.spec = yyvsp[-1].spec;
  7055.             if (yyval.spec->text) {
  7056. --- 4392,4398 ----
  7057.           }
  7058.   break;
  7059.   case 121:
  7060. ! #line 966 "pic.y"
  7061.   {
  7062.             yyval.spec = yyvsp[-1].spec;
  7063.             if (yyval.spec->text) {
  7064. ***************
  7065. *** 4403,4409 ****
  7066.           }
  7067.   break;
  7068.   case 122:
  7069. ! #line 975 "/u/jjc/groff/pic/pic.y"
  7070.   {
  7071.             yyval.spec = yyvsp[-1].spec;
  7072.             if (yyval.spec->text) {
  7073. --- 4403,4409 ----
  7074.           }
  7075.   break;
  7076.   case 122:
  7077. ! #line 975 "pic.y"
  7078.   {
  7079.             yyval.spec = yyvsp[-1].spec;
  7080.             if (yyval.spec->text) {
  7081. ***************
  7082. *** 4414,4420 ****
  7083.           }
  7084.   break;
  7085.   case 123:
  7086. ! #line 984 "/u/jjc/groff/pic/pic.y"
  7087.   {
  7088.             yyval.spec = yyvsp[-2].spec;
  7089.             yyval.spec->flags |= HAS_THICKNESS;
  7090. --- 4414,4420 ----
  7091.           }
  7092.   break;
  7093.   case 123:
  7094. ! #line 984 "pic.y"
  7095.   {
  7096.             yyval.spec = yyvsp[-2].spec;
  7097.             yyval.spec->flags |= HAS_THICKNESS;
  7098. ***************
  7099. *** 4422,4441 ****
  7100.           }
  7101.   break;
  7102.   case 124:
  7103. ! #line 990 "/u/jjc/groff/pic/pic.y"
  7104.   {
  7105.             yyval.spec = yyvsp[-1].spec;
  7106.             yyval.spec->flags |= IS_ALIGNED;
  7107.           }
  7108.   break;
  7109.   case 125:
  7110. ! #line 998 "/u/jjc/groff/pic/pic.y"
  7111.   {
  7112.             yyval.lstr = yyvsp[0].lstr;
  7113.           }
  7114.   break;
  7115.   case 126:
  7116. ! #line 1002 "/u/jjc/groff/pic/pic.y"
  7117.   {
  7118.             yyval.lstr.filename = yyvsp[-2].lstr.filename;
  7119.             yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
  7120. --- 4422,4441 ----
  7121.           }
  7122.   break;
  7123.   case 124:
  7124. ! #line 990 "pic.y"
  7125.   {
  7126.             yyval.spec = yyvsp[-1].spec;
  7127.             yyval.spec->flags |= IS_ALIGNED;
  7128.           }
  7129.   break;
  7130.   case 125:
  7131. ! #line 998 "pic.y"
  7132.   {
  7133.             yyval.lstr = yyvsp[0].lstr;
  7134.           }
  7135.   break;
  7136.   case 126:
  7137. ! #line 1002 "pic.y"
  7138.   {
  7139.             yyval.lstr.filename = yyvsp[-2].lstr.filename;
  7140.             yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
  7141. ***************
  7142. *** 4445,4451 ****
  7143.           }
  7144.   break;
  7145.   case 127:
  7146. ! #line 1013 "/u/jjc/groff/pic/pic.y"
  7147.   {
  7148.             yyval.dv.v = 0;
  7149.             yyval.dv.nv = 0;
  7150. --- 4445,4451 ----
  7151.           }
  7152.   break;
  7153.   case 127:
  7154. ! #line 1013 "pic.y"
  7155.   {
  7156.             yyval.dv.v = 0;
  7157.             yyval.dv.nv = 0;
  7158. ***************
  7159. *** 4453,4459 ****
  7160.           }
  7161.   break;
  7162.   case 128:
  7163. ! #line 1019 "/u/jjc/groff/pic/pic.y"
  7164.   {
  7165.             yyval.dv = yyvsp[-2].dv;
  7166.             if (yyval.dv.nv >= yyval.dv.maxv) {
  7167. --- 4453,4459 ----
  7168.           }
  7169.   break;
  7170.   case 128:
  7171. ! #line 1019 "pic.y"
  7172.   {
  7173.             yyval.dv = yyvsp[-2].dv;
  7174.             if (yyval.dv.nv >= yyval.dv.maxv) {
  7175. ***************
  7176. *** 4474,4484 ****
  7177.           }
  7178.   break;
  7179.   case 129:
  7180. ! #line 1041 "/u/jjc/groff/pic/pic.y"
  7181.   { yyval.pair = yyvsp[0].pair; }
  7182.   break;
  7183.   case 130:
  7184. ! #line 1043 "/u/jjc/groff/pic/pic.y"
  7185.   {
  7186.             position pos = yyvsp[0].pl;
  7187.             yyval.pair.x = pos.x;
  7188. --- 4474,4484 ----
  7189.           }
  7190.   break;
  7191.   case 129:
  7192. ! #line 1041 "pic.y"
  7193.   { yyval.pair = yyvsp[0].pair; }
  7194.   break;
  7195.   case 130:
  7196. ! #line 1043 "pic.y"
  7197.   {
  7198.             position pos = yyvsp[0].pl;
  7199.             yyval.pair.x = pos.x;
  7200. ***************
  7201. *** 4486,4543 ****
  7202.           }
  7203.   break;
  7204.   case 131:
  7205. ! #line 1052 "/u/jjc/groff/pic/pic.y"
  7206.   { yyval.pair = yyvsp[0].pair; }
  7207.   break;
  7208.   case 132:
  7209. ! #line 1054 "/u/jjc/groff/pic/pic.y"
  7210.   {
  7211.             yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
  7212.             yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
  7213.           }
  7214.   break;
  7215.   case 133:
  7216. ! #line 1059 "/u/jjc/groff/pic/pic.y"
  7217.   {
  7218.             yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
  7219.             yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
  7220.           }
  7221.   break;
  7222.   case 134:
  7223. ! #line 1064 "/u/jjc/groff/pic/pic.y"
  7224.   {
  7225.             yyval.pair.x = yyvsp[-3].pair.x;
  7226.             yyval.pair.y = yyvsp[-1].pair.y;
  7227.           }
  7228.   break;
  7229.   case 135:
  7230. ! #line 1069 "/u/jjc/groff/pic/pic.y"
  7231.   {
  7232.             yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
  7233.             yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
  7234.           }
  7235.   break;
  7236.   case 136:
  7237. ! #line 1074 "/u/jjc/groff/pic/pic.y"
  7238.   {
  7239.             yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
  7240.             yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
  7241.           }
  7242.   break;
  7243.   case 139:
  7244. ! #line 1087 "/u/jjc/groff/pic/pic.y"
  7245.   { yyval.pair.x = yyvsp[-2].x; yyval.pair.y = yyvsp[0].x; }
  7246.   break;
  7247.   case 140:
  7248. ! #line 1089 "/u/jjc/groff/pic/pic.y"
  7249.   { yyval.pair = yyvsp[-1].pair; }
  7250.   break;
  7251.   case 141:
  7252. ! #line 1094 "/u/jjc/groff/pic/pic.y"
  7253.   { yyval.pl = yyvsp[0].pl; }
  7254.   break;
  7255.   case 142:
  7256. ! #line 1096 "/u/jjc/groff/pic/pic.y"
  7257.   {
  7258.             path pth(yyvsp[0].crn);
  7259.             if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
  7260. --- 4486,4543 ----
  7261.           }
  7262.   break;
  7263.   case 131:
  7264. ! #line 1052 "pic.y"
  7265.   { yyval.pair = yyvsp[0].pair; }
  7266.   break;
  7267.   case 132:
  7268. ! #line 1054 "pic.y"
  7269.   {
  7270.             yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
  7271.             yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
  7272.           }
  7273.   break;
  7274.   case 133:
  7275. ! #line 1059 "pic.y"
  7276.   {
  7277.             yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
  7278.             yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
  7279.           }
  7280.   break;
  7281.   case 134:
  7282. ! #line 1064 "pic.y"
  7283.   {
  7284.             yyval.pair.x = yyvsp[-3].pair.x;
  7285.             yyval.pair.y = yyvsp[-1].pair.y;
  7286.           }
  7287.   break;
  7288.   case 135:
  7289. ! #line 1069 "pic.y"
  7290.   {
  7291.             yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
  7292.             yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
  7293.           }
  7294.   break;
  7295.   case 136:
  7296. ! #line 1074 "pic.y"
  7297.   {
  7298.             yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
  7299.             yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
  7300.           }
  7301.   break;
  7302.   case 139:
  7303. ! #line 1087 "pic.y"
  7304.   { yyval.pair.x = yyvsp[-2].x; yyval.pair.y = yyvsp[0].x; }
  7305.   break;
  7306.   case 140:
  7307. ! #line 1089 "pic.y"
  7308.   { yyval.pair = yyvsp[-1].pair; }
  7309.   break;
  7310.   case 141:
  7311. ! #line 1094 "pic.y"
  7312.   { yyval.pl = yyvsp[0].pl; }
  7313.   break;
  7314.   case 142:
  7315. ! #line 1096 "pic.y"
  7316.   {
  7317.             path pth(yyvsp[0].crn);
  7318.             if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
  7319. ***************
  7320. *** 4545,4551 ****
  7321.           }
  7322.   break;
  7323.   case 143:
  7324. ! #line 1102 "/u/jjc/groff/pic/pic.y"
  7325.   {
  7326.             path pth(yyvsp[-1].crn);
  7327.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7328. --- 4545,4551 ----
  7329.           }
  7330.   break;
  7331.   case 143:
  7332. ! #line 1102 "pic.y"
  7333.   {
  7334.             path pth(yyvsp[-1].crn);
  7335.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7336. ***************
  7337. *** 4553,4559 ****
  7338.           }
  7339.   break;
  7340.   case 144:
  7341. ! #line 1108 "/u/jjc/groff/pic/pic.y"
  7342.   {
  7343.             path pth(yyvsp[-2].crn);
  7344.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7345. --- 4553,4559 ----
  7346.           }
  7347.   break;
  7348.   case 144:
  7349. ! #line 1108 "pic.y"
  7350.   {
  7351.             path pth(yyvsp[-2].crn);
  7352.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7353. ***************
  7354. *** 4561,4567 ****
  7355.           }
  7356.   break;
  7357.   case 145:
  7358. ! #line 1114 "/u/jjc/groff/pic/pic.y"
  7359.   {
  7360.             yyval.pl.x = current_position.x;
  7361.             yyval.pl.y = current_position.y;
  7362. --- 4561,4567 ----
  7363.           }
  7364.   break;
  7365.   case 145:
  7366. ! #line 1114 "pic.y"
  7367.   {
  7368.             yyval.pl.x = current_position.x;
  7369.             yyval.pl.y = current_position.y;
  7370. ***************
  7371. *** 4569,4575 ****
  7372.           }
  7373.   break;
  7374.   case 146:
  7375. ! #line 1123 "/u/jjc/groff/pic/pic.y"
  7376.   {
  7377.             place *p = lookup_label(yyvsp[0].str);
  7378.             if (!p) {
  7379. --- 4569,4575 ----
  7380.           }
  7381.   break;
  7382.   case 146:
  7383. ! #line 1123 "pic.y"
  7384.   {
  7385.             place *p = lookup_label(yyvsp[0].str);
  7386.             if (!p) {
  7387. ***************
  7388. *** 4581,4593 ****
  7389.           }
  7390.   break;
  7391.   case 147:
  7392. ! #line 1133 "/u/jjc/groff/pic/pic.y"
  7393.   {
  7394.             yyval.pl.obj = yyvsp[0].obj;
  7395.           }
  7396.   break;
  7397.   case 148:
  7398. ! #line 1137 "/u/jjc/groff/pic/pic.y"
  7399.   {
  7400.             path pth(yyvsp[0].str);
  7401.             if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
  7402. --- 4581,4593 ----
  7403.           }
  7404.   break;
  7405.   case 147:
  7406. ! #line 1133 "pic.y"
  7407.   {
  7408.             yyval.pl.obj = yyvsp[0].obj;
  7409.           }
  7410.   break;
  7411.   case 148:
  7412. ! #line 1137 "pic.y"
  7413.   {
  7414.             path pth(yyvsp[0].str);
  7415.             if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
  7416. ***************
  7417. *** 4595,4620 ****
  7418.           }
  7419.   break;
  7420.   case 149:
  7421. ! #line 1146 "/u/jjc/groff/pic/pic.y"
  7422.   { yyval.n = yyvsp[0].n; }
  7423.   break;
  7424.   case 150:
  7425. ! #line 1148 "/u/jjc/groff/pic/pic.y"
  7426.   {
  7427.             /* XXX Check for overflow (and non-integers?).*/
  7428.             yyval.n = (int)yyvsp[-1].x;
  7429.           }
  7430.   break;
  7431.   case 151:
  7432. ! #line 1156 "/u/jjc/groff/pic/pic.y"
  7433.   { yyval.n = 1; }
  7434.   break;
  7435.   case 152:
  7436. ! #line 1158 "/u/jjc/groff/pic/pic.y"
  7437.   { yyval.n = yyvsp[-1].n; }
  7438.   break;
  7439.   case 153:
  7440. ! #line 1163 "/u/jjc/groff/pic/pic.y"
  7441.   {
  7442.             int count = 0;
  7443.             for (object *p = olist.head; p != 0; p = p->next)
  7444. --- 4595,4620 ----
  7445.           }
  7446.   break;
  7447.   case 149:
  7448. ! #line 1146 "pic.y"
  7449.   { yyval.n = yyvsp[0].n; }
  7450.   break;
  7451.   case 150:
  7452. ! #line 1148 "pic.y"
  7453.   {
  7454.             /* XXX Check for overflow (and non-integers?).*/
  7455.             yyval.n = (int)yyvsp[-1].x;
  7456.           }
  7457.   break;
  7458.   case 151:
  7459. ! #line 1156 "pic.y"
  7460.   { yyval.n = 1; }
  7461.   break;
  7462.   case 152:
  7463. ! #line 1158 "pic.y"
  7464.   { yyval.n = yyvsp[-1].n; }
  7465.   break;
  7466.   case 153:
  7467. ! #line 1163 "pic.y"
  7468.   {
  7469.             int count = 0;
  7470.             for (object *p = olist.head; p != 0; p = p->next)
  7471. ***************
  7472. *** 4630,4636 ****
  7473.           }
  7474.   break;
  7475.   case 154:
  7476. ! #line 1177 "/u/jjc/groff/pic/pic.y"
  7477.   {
  7478.             int count = 0;
  7479.             for (object *p = olist.tail; p != 0; p = p->prev)
  7480. --- 4630,4636 ----
  7481.           }
  7482.   break;
  7483.   case 154:
  7484. ! #line 1177 "pic.y"
  7485.   {
  7486.             int count = 0;
  7487.             for (object *p = olist.tail; p != 0; p = p->prev)
  7488. ***************
  7489. *** 4646,4726 ****
  7490.           }
  7491.   break;
  7492.   case 155:
  7493. ! #line 1194 "/u/jjc/groff/pic/pic.y"
  7494.   { yyval.obtype = BOX_OBJECT; }
  7495.   break;
  7496.   case 156:
  7497. ! #line 1196 "/u/jjc/groff/pic/pic.y"
  7498.   { yyval.obtype = CIRCLE_OBJECT; }
  7499.   break;
  7500.   case 157:
  7501. ! #line 1198 "/u/jjc/groff/pic/pic.y"
  7502.   { yyval.obtype = ELLIPSE_OBJECT; }
  7503.   break;
  7504.   case 158:
  7505. ! #line 1200 "/u/jjc/groff/pic/pic.y"
  7506.   { yyval.obtype = ARC_OBJECT; }
  7507.   break;
  7508.   case 159:
  7509. ! #line 1202 "/u/jjc/groff/pic/pic.y"
  7510.   { yyval.obtype = LINE_OBJECT; }
  7511.   break;
  7512.   case 160:
  7513. ! #line 1204 "/u/jjc/groff/pic/pic.y"
  7514.   { yyval.obtype = ARROW_OBJECT; }
  7515.   break;
  7516.   case 161:
  7517. ! #line 1206 "/u/jjc/groff/pic/pic.y"
  7518.   { yyval.obtype = SPLINE_OBJECT; }
  7519.   break;
  7520.   case 162:
  7521. ! #line 1208 "/u/jjc/groff/pic/pic.y"
  7522.   { yyval.obtype = BLOCK_OBJECT; }
  7523.   break;
  7524.   case 163:
  7525. ! #line 1210 "/u/jjc/groff/pic/pic.y"
  7526.   { yyval.obtype = TEXT_OBJECT; }
  7527.   break;
  7528.   case 164:
  7529. ! #line 1215 "/u/jjc/groff/pic/pic.y"
  7530.   {
  7531.             yyval.pth = new path(yyvsp[0].str);
  7532.           }
  7533.   break;
  7534.   case 165:
  7535. ! #line 1219 "/u/jjc/groff/pic/pic.y"
  7536.   {
  7537.             yyval.pth = yyvsp[-2].pth;
  7538.             yyval.pth->append(yyvsp[0].str);
  7539.           }
  7540.   break;
  7541.   case 166:
  7542. ! #line 1227 "/u/jjc/groff/pic/pic.y"
  7543.   {
  7544.             yyval.pth = new path(yyvsp[0].crn);
  7545.           }
  7546.   break;
  7547.   case 167:
  7548. ! #line 1234 "/u/jjc/groff/pic/pic.y"
  7549.   {
  7550.             yyval.pth = yyvsp[0].pth;
  7551.           }
  7552.   break;
  7553.   case 168:
  7554. ! #line 1238 "/u/jjc/groff/pic/pic.y"
  7555.   {
  7556.             yyval.pth = yyvsp[-1].pth;
  7557.             yyval.pth->append(yyvsp[0].crn);
  7558.           }
  7559.   break;
  7560.   case 169:
  7561. ! #line 1246 "/u/jjc/groff/pic/pic.y"
  7562.   {
  7563.             yyval.pth = yyvsp[0].pth;
  7564.           }
  7565.   break;
  7566.   case 170:
  7567. ! #line 1251 "/u/jjc/groff/pic/pic.y"
  7568.   {
  7569.             lex_warning("`%1%2 last %3' in `with' argument ignored",
  7570.                     yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
  7571. --- 4646,4726 ----
  7572.           }
  7573.   break;
  7574.   case 155:
  7575. ! #line 1194 "pic.y"
  7576.   { yyval.obtype = BOX_OBJECT; }
  7577.   break;
  7578.   case 156:
  7579. ! #line 1196 "pic.y"
  7580.   { yyval.obtype = CIRCLE_OBJECT; }
  7581.   break;
  7582.   case 157:
  7583. ! #line 1198 "pic.y"
  7584.   { yyval.obtype = ELLIPSE_OBJECT; }
  7585.   break;
  7586.   case 158:
  7587. ! #line 1200 "pic.y"
  7588.   { yyval.obtype = ARC_OBJECT; }
  7589.   break;
  7590.   case 159:
  7591. ! #line 1202 "pic.y"
  7592.   { yyval.obtype = LINE_OBJECT; }
  7593.   break;
  7594.   case 160:
  7595. ! #line 1204 "pic.y"
  7596.   { yyval.obtype = ARROW_OBJECT; }
  7597.   break;
  7598.   case 161:
  7599. ! #line 1206 "pic.y"
  7600.   { yyval.obtype = SPLINE_OBJECT; }
  7601.   break;
  7602.   case 162:
  7603. ! #line 1208 "pic.y"
  7604.   { yyval.obtype = BLOCK_OBJECT; }
  7605.   break;
  7606.   case 163:
  7607. ! #line 1210 "pic.y"
  7608.   { yyval.obtype = TEXT_OBJECT; }
  7609.   break;
  7610.   case 164:
  7611. ! #line 1215 "pic.y"
  7612.   {
  7613.             yyval.pth = new path(yyvsp[0].str);
  7614.           }
  7615.   break;
  7616.   case 165:
  7617. ! #line 1219 "pic.y"
  7618.   {
  7619.             yyval.pth = yyvsp[-2].pth;
  7620.             yyval.pth->append(yyvsp[0].str);
  7621.           }
  7622.   break;
  7623.   case 166:
  7624. ! #line 1227 "pic.y"
  7625.   {
  7626.             yyval.pth = new path(yyvsp[0].crn);
  7627.           }
  7628.   break;
  7629.   case 167:
  7630. ! #line 1234 "pic.y"
  7631.   {
  7632.             yyval.pth = yyvsp[0].pth;
  7633.           }
  7634.   break;
  7635.   case 168:
  7636. ! #line 1238 "pic.y"
  7637.   {
  7638.             yyval.pth = yyvsp[-1].pth;
  7639.             yyval.pth->append(yyvsp[0].crn);
  7640.           }
  7641.   break;
  7642.   case 169:
  7643. ! #line 1246 "pic.y"
  7644.   {
  7645.             yyval.pth = yyvsp[0].pth;
  7646.           }
  7647.   break;
  7648.   case 170:
  7649. ! #line 1251 "pic.y"
  7650.   {
  7651.             lex_warning("`%1%2 last %3' in `with' argument ignored",
  7652.                     yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
  7653. ***************
  7654. *** 4728,4734 ****
  7655.           }
  7656.   break;
  7657.   case 171:
  7658. ! #line 1257 "/u/jjc/groff/pic/pic.y"
  7659.   {
  7660.             lex_warning("`last %1' in `with' argument ignored",
  7661.                     object_type_name(yyvsp[-1].obtype));
  7662. --- 4728,4734 ----
  7663.           }
  7664.   break;
  7665.   case 171:
  7666. ! #line 1257 "pic.y"
  7667.   {
  7668.             lex_warning("`last %1' in `with' argument ignored",
  7669.                     object_type_name(yyvsp[-1].obtype));
  7670. ***************
  7671. *** 4736,4742 ****
  7672.           }
  7673.   break;
  7674.   case 172:
  7675. ! #line 1263 "/u/jjc/groff/pic/pic.y"
  7676.   {
  7677.             lex_warning("`%1%2 %3' in `with' argument ignored",
  7678.                     yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
  7679. --- 4736,4742 ----
  7680.           }
  7681.   break;
  7682.   case 172:
  7683. ! #line 1263 "pic.y"
  7684.   {
  7685.             lex_warning("`%1%2 %3' in `with' argument ignored",
  7686.                     yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
  7687. ***************
  7688. *** 4744,4750 ****
  7689.           }
  7690.   break;
  7691.   case 173:
  7692. ! #line 1269 "/u/jjc/groff/pic/pic.y"
  7693.   {
  7694.             lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
  7695.             a_delete yyvsp[-1].str;
  7696. --- 4744,4750 ----
  7697.           }
  7698.   break;
  7699.   case 173:
  7700. ! #line 1269 "pic.y"
  7701.   {
  7702.             lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
  7703.             a_delete yyvsp[-1].str;
  7704. ***************
  7705. *** 4752,4870 ****
  7706.           }
  7707.   break;
  7708.   case 174:
  7709. ! #line 1278 "/u/jjc/groff/pic/pic.y"
  7710.   { yyval.crn = &object::north; }
  7711.   break;
  7712.   case 175:
  7713. ! #line 1280 "/u/jjc/groff/pic/pic.y"
  7714.   { yyval.crn = &object::east; }
  7715.   break;
  7716.   case 176:
  7717. ! #line 1282 "/u/jjc/groff/pic/pic.y"
  7718.   { yyval.crn = &object::west; }
  7719.   break;
  7720.   case 177:
  7721. ! #line 1284 "/u/jjc/groff/pic/pic.y"
  7722.   { yyval.crn = &object::south; }
  7723.   break;
  7724.   case 178:
  7725. ! #line 1286 "/u/jjc/groff/pic/pic.y"
  7726.   { yyval.crn = &object::north_east; }
  7727.   break;
  7728.   case 179:
  7729. ! #line 1288 "/u/jjc/groff/pic/pic.y"
  7730.   { yyval.crn = &object:: south_east; }
  7731.   break;
  7732.   case 180:
  7733. ! #line 1290 "/u/jjc/groff/pic/pic.y"
  7734.   { yyval.crn = &object::north_west; }
  7735.   break;
  7736.   case 181:
  7737. ! #line 1292 "/u/jjc/groff/pic/pic.y"
  7738.   { yyval.crn = &object::south_west; }
  7739.   break;
  7740.   case 182:
  7741. ! #line 1294 "/u/jjc/groff/pic/pic.y"
  7742.   { yyval.crn = &object::center; }
  7743.   break;
  7744.   case 183:
  7745. ! #line 1296 "/u/jjc/groff/pic/pic.y"
  7746.   { yyval.crn = &object::start; }
  7747.   break;
  7748.   case 184:
  7749. ! #line 1298 "/u/jjc/groff/pic/pic.y"
  7750.   { yyval.crn = &object::end; }
  7751.   break;
  7752.   case 185:
  7753. ! #line 1300 "/u/jjc/groff/pic/pic.y"
  7754.   { yyval.crn = &object::north; }
  7755.   break;
  7756.   case 186:
  7757. ! #line 1302 "/u/jjc/groff/pic/pic.y"
  7758.   { yyval.crn = &object::south; }
  7759.   break;
  7760.   case 187:
  7761. ! #line 1304 "/u/jjc/groff/pic/pic.y"
  7762.   { yyval.crn = &object::west; }
  7763.   break;
  7764.   case 188:
  7765. ! #line 1306 "/u/jjc/groff/pic/pic.y"
  7766.   { yyval.crn = &object::east; }
  7767.   break;
  7768.   case 189:
  7769. ! #line 1308 "/u/jjc/groff/pic/pic.y"
  7770.   { yyval.crn = &object::north_west; }
  7771.   break;
  7772.   case 190:
  7773. ! #line 1310 "/u/jjc/groff/pic/pic.y"
  7774.   { yyval.crn = &object::south_west; }
  7775.   break;
  7776.   case 191:
  7777. ! #line 1312 "/u/jjc/groff/pic/pic.y"
  7778.   { yyval.crn = &object::north_east; }
  7779.   break;
  7780.   case 192:
  7781. ! #line 1314 "/u/jjc/groff/pic/pic.y"
  7782.   { yyval.crn = &object::south_east; }
  7783.   break;
  7784.   case 193:
  7785. ! #line 1316 "/u/jjc/groff/pic/pic.y"
  7786.   { yyval.crn = &object::west; }
  7787.   break;
  7788.   case 194:
  7789. ! #line 1318 "/u/jjc/groff/pic/pic.y"
  7790.   { yyval.crn = &object::east; }
  7791.   break;
  7792.   case 195:
  7793. ! #line 1320 "/u/jjc/groff/pic/pic.y"
  7794.   { yyval.crn = &object::north_west; }
  7795.   break;
  7796.   case 196:
  7797. ! #line 1322 "/u/jjc/groff/pic/pic.y"
  7798.   { yyval.crn = &object::south_west; }
  7799.   break;
  7800.   case 197:
  7801. ! #line 1324 "/u/jjc/groff/pic/pic.y"
  7802.   { yyval.crn = &object::north_east; }
  7803.   break;
  7804.   case 198:
  7805. ! #line 1326 "/u/jjc/groff/pic/pic.y"
  7806.   { yyval.crn = &object::south_east; }
  7807.   break;
  7808.   case 199:
  7809. ! #line 1328 "/u/jjc/groff/pic/pic.y"
  7810.   { yyval.crn = &object::center; }
  7811.   break;
  7812.   case 200:
  7813. ! #line 1330 "/u/jjc/groff/pic/pic.y"
  7814.   { yyval.crn = &object::start; }
  7815.   break;
  7816.   case 201:
  7817. ! #line 1332 "/u/jjc/groff/pic/pic.y"
  7818.   { yyval.crn = &object::end; }
  7819.   break;
  7820.   case 202:
  7821. ! #line 1337 "/u/jjc/groff/pic/pic.y"
  7822.   {
  7823.             if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
  7824.               lex_error("there is no variable `%1'", yyvsp[0].str);
  7825. --- 4752,4870 ----
  7826.           }
  7827.   break;
  7828.   case 174:
  7829. ! #line 1278 "pic.y"
  7830.   { yyval.crn = &object::north; }
  7831.   break;
  7832.   case 175:
  7833. ! #line 1280 "pic.y"
  7834.   { yyval.crn = &object::east; }
  7835.   break;
  7836.   case 176:
  7837. ! #line 1282 "pic.y"
  7838.   { yyval.crn = &object::west; }
  7839.   break;
  7840.   case 177:
  7841. ! #line 1284 "pic.y"
  7842.   { yyval.crn = &object::south; }
  7843.   break;
  7844.   case 178:
  7845. ! #line 1286 "pic.y"
  7846.   { yyval.crn = &object::north_east; }
  7847.   break;
  7848.   case 179:
  7849. ! #line 1288 "pic.y"
  7850.   { yyval.crn = &object:: south_east; }
  7851.   break;
  7852.   case 180:
  7853. ! #line 1290 "pic.y"
  7854.   { yyval.crn = &object::north_west; }
  7855.   break;
  7856.   case 181:
  7857. ! #line 1292 "pic.y"
  7858.   { yyval.crn = &object::south_west; }
  7859.   break;
  7860.   case 182:
  7861. ! #line 1294 "pic.y"
  7862.   { yyval.crn = &object::center; }
  7863.   break;
  7864.   case 183:
  7865. ! #line 1296 "pic.y"
  7866.   { yyval.crn = &object::start; }
  7867.   break;
  7868.   case 184:
  7869. ! #line 1298 "pic.y"
  7870.   { yyval.crn = &object::end; }
  7871.   break;
  7872.   case 185:
  7873. ! #line 1300 "pic.y"
  7874.   { yyval.crn = &object::north; }
  7875.   break;
  7876.   case 186:
  7877. ! #line 1302 "pic.y"
  7878.   { yyval.crn = &object::south; }
  7879.   break;
  7880.   case 187:
  7881. ! #line 1304 "pic.y"
  7882.   { yyval.crn = &object::west; }
  7883.   break;
  7884.   case 188:
  7885. ! #line 1306 "pic.y"
  7886.   { yyval.crn = &object::east; }
  7887.   break;
  7888.   case 189:
  7889. ! #line 1308 "pic.y"
  7890.   { yyval.crn = &object::north_west; }
  7891.   break;
  7892.   case 190:
  7893. ! #line 1310 "pic.y"
  7894.   { yyval.crn = &object::south_west; }
  7895.   break;
  7896.   case 191:
  7897. ! #line 1312 "pic.y"
  7898.   { yyval.crn = &object::north_east; }
  7899.   break;
  7900.   case 192:
  7901. ! #line 1314 "pic.y"
  7902.   { yyval.crn = &object::south_east; }
  7903.   break;
  7904.   case 193:
  7905. ! #line 1316 "pic.y"
  7906.   { yyval.crn = &object::west; }
  7907.   break;
  7908.   case 194:
  7909. ! #line 1318 "pic.y"
  7910.   { yyval.crn = &object::east; }
  7911.   break;
  7912.   case 195:
  7913. ! #line 1320 "pic.y"
  7914.   { yyval.crn = &object::north_west; }
  7915.   break;
  7916.   case 196:
  7917. ! #line 1322 "pic.y"
  7918.   { yyval.crn = &object::south_west; }
  7919.   break;
  7920.   case 197:
  7921. ! #line 1324 "pic.y"
  7922.   { yyval.crn = &object::north_east; }
  7923.   break;
  7924.   case 198:
  7925. ! #line 1326 "pic.y"
  7926.   { yyval.crn = &object::south_east; }
  7927.   break;
  7928.   case 199:
  7929. ! #line 1328 "pic.y"
  7930.   { yyval.crn = &object::center; }
  7931.   break;
  7932.   case 200:
  7933. ! #line 1330 "pic.y"
  7934.   { yyval.crn = &object::start; }
  7935.   break;
  7936.   case 201:
  7937. ! #line 1332 "pic.y"
  7938.   { yyval.crn = &object::end; }
  7939.   break;
  7940.   case 202:
  7941. ! #line 1337 "pic.y"
  7942.   {
  7943.             if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
  7944.               lex_error("there is no variable `%1'", yyvsp[0].str);
  7945. ***************
  7946. *** 4874,4884 ****
  7947.           }
  7948.   break;
  7949.   case 203:
  7950. ! #line 1345 "/u/jjc/groff/pic/pic.y"
  7951.   { yyval.x = yyvsp[0].x; }
  7952.   break;
  7953.   case 204:
  7954. ! #line 1347 "/u/jjc/groff/pic/pic.y"
  7955.   {
  7956.             if (yyvsp[-1].pl.obj != 0)
  7957.               yyval.x = yyvsp[-1].pl.obj->origin().x;
  7958. --- 4874,4884 ----
  7959.           }
  7960.   break;
  7961.   case 203:
  7962. ! #line 1345 "pic.y"
  7963.   { yyval.x = yyvsp[0].x; }
  7964.   break;
  7965.   case 204:
  7966. ! #line 1347 "pic.y"
  7967.   {
  7968.             if (yyvsp[-1].pl.obj != 0)
  7969.               yyval.x = yyvsp[-1].pl.obj->origin().x;
  7970. ***************
  7971. *** 4887,4893 ****
  7972.           }
  7973.   break;
  7974.   case 205:
  7975. ! #line 1354 "/u/jjc/groff/pic/pic.y"
  7976.   {
  7977.             if (yyvsp[-1].pl.obj != 0)
  7978.               yyval.x = yyvsp[-1].pl.obj->origin().y;
  7979. --- 4887,4893 ----
  7980.           }
  7981.   break;
  7982.   case 205:
  7983. ! #line 1354 "pic.y"
  7984.   {
  7985.             if (yyvsp[-1].pl.obj != 0)
  7986.               yyval.x = yyvsp[-1].pl.obj->origin().y;
  7987. ***************
  7988. *** 4896,4902 ****
  7989.           }
  7990.   break;
  7991.   case 206:
  7992. ! #line 1361 "/u/jjc/groff/pic/pic.y"
  7993.   {
  7994.             if (yyvsp[-1].pl.obj != 0)
  7995.               yyval.x = yyvsp[-1].pl.obj->height();
  7996. --- 4896,4902 ----
  7997.           }
  7998.   break;
  7999.   case 206:
  8000. ! #line 1361 "pic.y"
  8001.   {
  8002.             if (yyvsp[-1].pl.obj != 0)
  8003.               yyval.x = yyvsp[-1].pl.obj->height();
  8004. ***************
  8005. *** 4905,4911 ****
  8006.           }
  8007.   break;
  8008.   case 207:
  8009. ! #line 1368 "/u/jjc/groff/pic/pic.y"
  8010.   {
  8011.             if (yyvsp[-1].pl.obj != 0)
  8012.               yyval.x = yyvsp[-1].pl.obj->width();
  8013. --- 4905,4911 ----
  8014.           }
  8015.   break;
  8016.   case 207:
  8017. ! #line 1368 "pic.y"
  8018.   {
  8019.             if (yyvsp[-1].pl.obj != 0)
  8020.               yyval.x = yyvsp[-1].pl.obj->width();
  8021. ***************
  8022. *** 4914,4920 ****
  8023.           }
  8024.   break;
  8025.   case 208:
  8026. ! #line 1375 "/u/jjc/groff/pic/pic.y"
  8027.   {
  8028.             if (yyvsp[-1].pl.obj != 0)
  8029.               yyval.x = yyvsp[-1].pl.obj->radius();
  8030. --- 4914,4920 ----
  8031.           }
  8032.   break;
  8033.   case 208:
  8034. ! #line 1375 "pic.y"
  8035.   {
  8036.             if (yyvsp[-1].pl.obj != 0)
  8037.               yyval.x = yyvsp[-1].pl.obj->radius();
  8038. ***************
  8039. *** 4923,4941 ****
  8040.           }
  8041.   break;
  8042.   case 209:
  8043. ! #line 1382 "/u/jjc/groff/pic/pic.y"
  8044.   { yyval.x = yyvsp[-2].x + yyvsp[0].x; }
  8045.   break;
  8046.   case 210:
  8047. ! #line 1384 "/u/jjc/groff/pic/pic.y"
  8048.   { yyval.x = yyvsp[-2].x - yyvsp[0].x; }
  8049.   break;
  8050.   case 211:
  8051. ! #line 1386 "/u/jjc/groff/pic/pic.y"
  8052.   { yyval.x = yyvsp[-2].x * yyvsp[0].x; }
  8053.   break;
  8054.   case 212:
  8055. ! #line 1388 "/u/jjc/groff/pic/pic.y"
  8056.   {
  8057.             if (yyvsp[0].x == 0.0) {
  8058.               lex_error("division by zero");
  8059. --- 4923,4941 ----
  8060.           }
  8061.   break;
  8062.   case 209:
  8063. ! #line 1382 "pic.y"
  8064.   { yyval.x = yyvsp[-2].x + yyvsp[0].x; }
  8065.   break;
  8066.   case 210:
  8067. ! #line 1384 "pic.y"
  8068.   { yyval.x = yyvsp[-2].x - yyvsp[0].x; }
  8069.   break;
  8070.   case 211:
  8071. ! #line 1386 "pic.y"
  8072.   { yyval.x = yyvsp[-2].x * yyvsp[0].x; }
  8073.   break;
  8074.   case 212:
  8075. ! #line 1388 "pic.y"
  8076.   {
  8077.             if (yyvsp[0].x == 0.0) {
  8078.               lex_error("division by zero");
  8079. ***************
  8080. *** 4945,4951 ****
  8081.           }
  8082.   break;
  8083.   case 213:
  8084. ! #line 1396 "/u/jjc/groff/pic/pic.y"
  8085.   {
  8086.             if (yyvsp[0].x == 0.0) {
  8087.               lex_error("modulus by zero");
  8088. --- 4945,4951 ----
  8089.           }
  8090.   break;
  8091.   case 213:
  8092. ! #line 1396 "pic.y"
  8093.   {
  8094.             if (yyvsp[0].x == 0.0) {
  8095.               lex_error("modulus by zero");
  8096. ***************
  8097. *** 4955,4961 ****
  8098.           }
  8099.   break;
  8100.   case 214:
  8101. ! #line 1404 "/u/jjc/groff/pic/pic.y"
  8102.   {
  8103.             errno = 0;
  8104.             yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
  8105. --- 4955,4961 ----
  8106.           }
  8107.   break;
  8108.   case 214:
  8109. ! #line 1404 "pic.y"
  8110.   {
  8111.             errno = 0;
  8112.             yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
  8113. ***************
  8114. *** 4970,4984 ****
  8115.           }
  8116.   break;
  8117.   case 215:
  8118. ! #line 1417 "/u/jjc/groff/pic/pic.y"
  8119.   { yyval.x = -yyvsp[0].x; }
  8120.   break;
  8121.   case 216:
  8122. ! #line 1419 "/u/jjc/groff/pic/pic.y"
  8123.   { yyval.x = yyvsp[-1].x; }
  8124.   break;
  8125.   case 217:
  8126. ! #line 1421 "/u/jjc/groff/pic/pic.y"
  8127.   {
  8128.             errno = 0;
  8129.             yyval.x = sin(yyvsp[-1].x);
  8130. --- 4970,4984 ----
  8131.           }
  8132.   break;
  8133.   case 215:
  8134. ! #line 1417 "pic.y"
  8135.   { yyval.x = -yyvsp[0].x; }
  8136.   break;
  8137.   case 216:
  8138. ! #line 1419 "pic.y"
  8139.   { yyval.x = yyvsp[-1].x; }
  8140.   break;
  8141.   case 217:
  8142. ! #line 1421 "pic.y"
  8143.   {
  8144.             errno = 0;
  8145.             yyval.x = sin(yyvsp[-1].x);
  8146. ***************
  8147. *** 4989,4995 ****
  8148.           }
  8149.   break;
  8150.   case 218:
  8151. ! #line 1430 "/u/jjc/groff/pic/pic.y"
  8152.   {
  8153.             errno = 0;
  8154.             yyval.x = cos(yyvsp[-1].x);
  8155. --- 4989,4995 ----
  8156.           }
  8157.   break;
  8158.   case 218:
  8159. ! #line 1430 "pic.y"
  8160.   {
  8161.             errno = 0;
  8162.             yyval.x = cos(yyvsp[-1].x);
  8163. ***************
  8164. *** 5000,5006 ****
  8165.           }
  8166.   break;
  8167.   case 219:
  8168. ! #line 1439 "/u/jjc/groff/pic/pic.y"
  8169.   {
  8170.             errno = 0;
  8171.             yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
  8172. --- 5000,5006 ----
  8173.           }
  8174.   break;
  8175.   case 219:
  8176. ! #line 1439 "pic.y"
  8177.   {
  8178.             errno = 0;
  8179.             yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
  8180. ***************
  8181. *** 5015,5021 ****
  8182.           }
  8183.   break;
  8184.   case 220:
  8185. ! #line 1452 "/u/jjc/groff/pic/pic.y"
  8186.   {
  8187.             errno = 0;
  8188.             yyval.x = log10(yyvsp[-1].x);
  8189. --- 5015,5021 ----
  8190.           }
  8191.   break;
  8192.   case 220:
  8193. ! #line 1452 "pic.y"
  8194.   {
  8195.             errno = 0;
  8196.             yyval.x = log10(yyvsp[-1].x);
  8197. ***************
  8198. *** 5026,5032 ****
  8199.           }
  8200.   break;
  8201.   case 221:
  8202. ! #line 1461 "/u/jjc/groff/pic/pic.y"
  8203.   {
  8204.             errno = 0;
  8205.             yyval.x = pow(10.0, yyvsp[-1].x);
  8206. --- 5026,5032 ----
  8207.           }
  8208.   break;
  8209.   case 221:
  8210. ! #line 1461 "pic.y"
  8211.   {
  8212.             errno = 0;
  8213.             yyval.x = pow(10.0, yyvsp[-1].x);
  8214. ***************
  8215. *** 5037,5043 ****
  8216.           }
  8217.   break;
  8218.   case 222:
  8219. ! #line 1470 "/u/jjc/groff/pic/pic.y"
  8220.   {
  8221.             errno = 0;
  8222.             yyval.x = sqrt(yyvsp[-1].x);
  8223. --- 5037,5043 ----
  8224.           }
  8225.   break;
  8226.   case 222:
  8227. ! #line 1470 "pic.y"
  8228.   {
  8229.             errno = 0;
  8230.             yyval.x = sqrt(yyvsp[-1].x);
  8231. ***************
  8232. *** 5048,5070 ****
  8233.           }
  8234.   break;
  8235.   case 223:
  8236. ! #line 1479 "/u/jjc/groff/pic/pic.y"
  8237.   { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8238.   break;
  8239.   case 224:
  8240. ! #line 1481 "/u/jjc/groff/pic/pic.y"
  8241.   { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8242.   break;
  8243.   case 225:
  8244. ! #line 1483 "/u/jjc/groff/pic/pic.y"
  8245.   { yyval.x = floor(yyvsp[-1].x); }
  8246.   break;
  8247.   case 226:
  8248. ! #line 1485 "/u/jjc/groff/pic/pic.y"
  8249.   { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
  8250.   break;
  8251.   case 227:
  8252. ! #line 1487 "/u/jjc/groff/pic/pic.y"
  8253.   {
  8254.             /* return a random number in the range [0,1) */
  8255.             /* portable, but not very random */
  8256. --- 5048,5070 ----
  8257.           }
  8258.   break;
  8259.   case 223:
  8260. ! #line 1479 "pic.y"
  8261.   { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8262.   break;
  8263.   case 224:
  8264. ! #line 1481 "pic.y"
  8265.   { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8266.   break;
  8267.   case 225:
  8268. ! #line 1483 "pic.y"
  8269.   { yyval.x = floor(yyvsp[-1].x); }
  8270.   break;
  8271.   case 226:
  8272. ! #line 1485 "pic.y"
  8273.   { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
  8274.   break;
  8275.   case 227:
  8276. ! #line 1487 "pic.y"
  8277.   {
  8278.             /* return a random number in the range [0,1) */
  8279.             /* portable, but not very random */
  8280. ***************
  8281. *** 5072,5110 ****
  8282.           }
  8283.   break;
  8284.   case 228:
  8285. ! #line 1493 "/u/jjc/groff/pic/pic.y"
  8286.   { yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
  8287.   break;
  8288.   case 229:
  8289. ! #line 1495 "/u/jjc/groff/pic/pic.y"
  8290.   { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
  8291.   break;
  8292.   case 230:
  8293. ! #line 1497 "/u/jjc/groff/pic/pic.y"
  8294.   { yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
  8295.   break;
  8296.   case 231:
  8297. ! #line 1499 "/u/jjc/groff/pic/pic.y"
  8298.   { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
  8299.   break;
  8300.   case 232:
  8301. ! #line 1501 "/u/jjc/groff/pic/pic.y"
  8302.   { yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
  8303.   break;
  8304.   case 233:
  8305. ! #line 1503 "/u/jjc/groff/pic/pic.y"
  8306.   { yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
  8307.   break;
  8308.   case 234:
  8309. ! #line 1505 "/u/jjc/groff/pic/pic.y"
  8310.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  8311.   break;
  8312.   case 235:
  8313. ! #line 1507 "/u/jjc/groff/pic/pic.y"
  8314.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  8315.   break;
  8316.   case 236:
  8317. ! #line 1509 "/u/jjc/groff/pic/pic.y"
  8318.   { yyval.x = (yyvsp[0].x == 0.0); }
  8319.   break;
  8320.   #line 5111 "y.tab.c"
  8321. --- 5072,5110 ----
  8322.           }
  8323.   break;
  8324.   case 228:
  8325. ! #line 1493 "pic.y"
  8326.   { yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
  8327.   break;
  8328.   case 229:
  8329. ! #line 1495 "pic.y"
  8330.   { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
  8331.   break;
  8332.   case 230:
  8333. ! #line 1497 "pic.y"
  8334.   { yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
  8335.   break;
  8336.   case 231:
  8337. ! #line 1499 "pic.y"
  8338.   { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
  8339.   break;
  8340.   case 232:
  8341. ! #line 1501 "pic.y"
  8342.   { yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
  8343.   break;
  8344.   case 233:
  8345. ! #line 1503 "pic.y"
  8346.   { yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
  8347.   break;
  8348.   case 234:
  8349. ! #line 1505 "pic.y"
  8350.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  8351.   break;
  8352.   case 235:
  8353. ! #line 1507 "pic.y"
  8354.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  8355.   break;
  8356.   case 236:
  8357. ! #line 1509 "pic.y"
  8358.   { yyval.x = (yyvsp[0].x == 0.0); }
  8359.   break;
  8360.   #line 5111 "y.tab.c"
  8361. diff -rc --new-file groff-1.09/pic/pic.h /gnu/src/amiga/groff-1.09/pic/pic.h
  8362. *** groff-1.09/pic/pic.h    Mon Dec 28 21:50:15 1992
  8363. --- /gnu/src/amiga/groff-1.09/pic/pic.h    Mon Feb 21 16:18:23 1994
  8364. ***************
  8365. *** 19,25 ****
  8366.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  8367.   
  8368.   #include <stdio.h>
  8369. ! #include <string.h>
  8370.   #include <math.h>
  8371.   #include <stdlib.h>
  8372.   #include <errno.h>
  8373. --- 19,25 ----
  8374.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  8375.   
  8376.   #include <stdio.h>
  8377. ! #include </gnu/include/string.h>
  8378.   #include <math.h>
  8379.   #include <stdlib.h>
  8380.   #include <errno.h>
  8381. diff -rc --new-file groff-1.09/refer/label.cc /gnu/src/amiga/groff-1.09/refer/label.cc
  8382. *** groff-1.09/refer/label.cc    Mon Dec 13 20:02:17 1993
  8383. --- /gnu/src/amiga/groff-1.09/refer/label.cc    Wed May  4 11:41:15 1994
  8384. ***************
  8385. *** 2,8 ****
  8386.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  8387.   #endif
  8388.   #define YYBYACC 1
  8389. ! #line 22 "/u/jjc/groff/refer/label.y"
  8390.   
  8391.   #include "refer.h"
  8392.   #include "refid.h"
  8393. --- 2,8 ----
  8394.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  8395.   #endif
  8396.   #define YYBYACC 1
  8397. ! #line 22 "label.y"
  8398.   
  8399.   #include "refer.h"
  8400.   #include "refid.h"
  8401. ***************
  8402. *** 200,206 ****
  8403.   
  8404.   string literals;
  8405.   
  8406. ! #line 221 "/u/jjc/groff/refer/label.y"
  8407.   typedef union {
  8408.     int num;
  8409.     expression *expr;
  8410. --- 200,206 ----
  8411.   
  8412.   string literals;
  8413.   
  8414. ! #line 221 "label.y"
  8415.   typedef union {
  8416.     int num;
  8417.     expression *expr;
  8418. ***************
  8419. *** 438,444 ****
  8420.   short yyss[YYSTACKSIZE];
  8421.   YYSTYPE yyvs[YYSTACKSIZE];
  8422.   #define yystacksize YYSTACKSIZE
  8423. ! #line 397 "/u/jjc/groff/refer/label.y"
  8424.   
  8425.   /* bison defines const to be empty unless __STDC__ is defined, which it
  8426.   isn't under cfront */
  8427. --- 438,444 ----
  8428.   short yyss[YYSTACKSIZE];
  8429.   YYSTYPE yyvs[YYSTACKSIZE];
  8430.   #define yystacksize YYSTACKSIZE
  8431. ! #line 397 "label.y"
  8432.   
  8433.   /* bison defines const to be empty unless __STDC__ is defined, which it
  8434.   isn't under cfront */
  8435. ***************
  8436. *** 1357,1430 ****
  8437.       switch (yyn)
  8438.       {
  8439.   case 1:
  8440. ! #line 250 "/u/jjc/groff/refer/label.y"
  8441.   { parse_result = (yyvsp[0].expr ? new analyzed_expr(yyvsp[0].expr) : 0); }
  8442.   break;
  8443.   case 2:
  8444. ! #line 255 "/u/jjc/groff/refer/label.y"
  8445.   { yyval.expr = yyvsp[0].expr; }
  8446.   break;
  8447.   case 3:
  8448. ! #line 257 "/u/jjc/groff/refer/label.y"
  8449.   { yyval.expr = new conditional_expr(yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); }
  8450.   break;
  8451.   case 4:
  8452. ! #line 262 "/u/jjc/groff/refer/label.y"
  8453.   { yyval.expr = 0; }
  8454.   break;
  8455.   case 5:
  8456. ! #line 264 "/u/jjc/groff/refer/label.y"
  8457.   { yyval.expr = yyvsp[0].expr; }
  8458.   break;
  8459.   case 6:
  8460. ! #line 269 "/u/jjc/groff/refer/label.y"
  8461.   { yyval.expr = yyvsp[0].expr; }
  8462.   break;
  8463.   case 7:
  8464. ! #line 271 "/u/jjc/groff/refer/label.y"
  8465.   { yyval.expr = new alternative_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8466.   break;
  8467.   case 8:
  8468. ! #line 273 "/u/jjc/groff/refer/label.y"
  8469.   { yyval.expr = new conditional_expr(yyvsp[-2].expr, yyvsp[0].expr, 0); }
  8470.   break;
  8471.   case 9:
  8472. ! #line 278 "/u/jjc/groff/refer/label.y"
  8473.   { yyval.expr = yyvsp[0].expr; }
  8474.   break;
  8475.   case 10:
  8476. ! #line 280 "/u/jjc/groff/refer/label.y"
  8477.   { yyval.expr = new list_expr(yyvsp[-1].expr, yyvsp[0].expr); }
  8478.   break;
  8479.   case 11:
  8480. ! #line 285 "/u/jjc/groff/refer/label.y"
  8481.   { yyval.expr = yyvsp[0].expr; }
  8482.   break;
  8483.   case 12:
  8484. ! #line 287 "/u/jjc/groff/refer/label.y"
  8485.   { yyval.expr = new substitute_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8486.   break;
  8487.   case 13:
  8488. ! #line 292 "/u/jjc/groff/refer/label.y"
  8489.   { yyval.expr = new at_expr; }
  8490.   break;
  8491.   case 14:
  8492. ! #line 294 "/u/jjc/groff/refer/label.y"
  8493.   {
  8494.             yyval.expr = new literal_expr(literals.contents() + yyvsp[0].str.start,
  8495.                       yyvsp[0].str.len);
  8496.           }
  8497.   break;
  8498.   case 15:
  8499. ! #line 299 "/u/jjc/groff/refer/label.y"
  8500.   { yyval.expr = new field_expr(yyvsp[0].num, 0); }
  8501.   break;
  8502.   case 16:
  8503. ! #line 301 "/u/jjc/groff/refer/label.y"
  8504.   { yyval.expr = new field_expr(yyvsp[-1].num, yyvsp[0].num - 1); }
  8505.   break;
  8506.   case 17:
  8507. ! #line 303 "/u/jjc/groff/refer/label.y"
  8508.   {
  8509.             switch (yyvsp[0].num) {
  8510.             case 'I':
  8511. --- 1357,1430 ----
  8512.       switch (yyn)
  8513.       {
  8514.   case 1:
  8515. ! #line 250 "label.y"
  8516.   { parse_result = (yyvsp[0].expr ? new analyzed_expr(yyvsp[0].expr) : 0); }
  8517.   break;
  8518.   case 2:
  8519. ! #line 255 "label.y"
  8520.   { yyval.expr = yyvsp[0].expr; }
  8521.   break;
  8522.   case 3:
  8523. ! #line 257 "label.y"
  8524.   { yyval.expr = new conditional_expr(yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); }
  8525.   break;
  8526.   case 4:
  8527. ! #line 262 "label.y"
  8528.   { yyval.expr = 0; }
  8529.   break;
  8530.   case 5:
  8531. ! #line 264 "label.y"
  8532.   { yyval.expr = yyvsp[0].expr; }
  8533.   break;
  8534.   case 6:
  8535. ! #line 269 "label.y"
  8536.   { yyval.expr = yyvsp[0].expr; }
  8537.   break;
  8538.   case 7:
  8539. ! #line 271 "label.y"
  8540.   { yyval.expr = new alternative_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8541.   break;
  8542.   case 8:
  8543. ! #line 273 "label.y"
  8544.   { yyval.expr = new conditional_expr(yyvsp[-2].expr, yyvsp[0].expr, 0); }
  8545.   break;
  8546.   case 9:
  8547. ! #line 278 "label.y"
  8548.   { yyval.expr = yyvsp[0].expr; }
  8549.   break;
  8550.   case 10:
  8551. ! #line 280 "label.y"
  8552.   { yyval.expr = new list_expr(yyvsp[-1].expr, yyvsp[0].expr); }
  8553.   break;
  8554.   case 11:
  8555. ! #line 285 "label.y"
  8556.   { yyval.expr = yyvsp[0].expr; }
  8557.   break;
  8558.   case 12:
  8559. ! #line 287 "label.y"
  8560.   { yyval.expr = new substitute_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8561.   break;
  8562.   case 13:
  8563. ! #line 292 "label.y"
  8564.   { yyval.expr = new at_expr; }
  8565.   break;
  8566.   case 14:
  8567. ! #line 294 "label.y"
  8568.   {
  8569.             yyval.expr = new literal_expr(literals.contents() + yyvsp[0].str.start,
  8570.                       yyvsp[0].str.len);
  8571.           }
  8572.   break;
  8573.   case 15:
  8574. ! #line 299 "label.y"
  8575.   { yyval.expr = new field_expr(yyvsp[0].num, 0); }
  8576.   break;
  8577.   case 16:
  8578. ! #line 301 "label.y"
  8579.   { yyval.expr = new field_expr(yyvsp[-1].num, yyvsp[0].num - 1); }
  8580.   break;
  8581.   case 17:
  8582. ! #line 303 "label.y"
  8583.   {
  8584.             switch (yyvsp[0].num) {
  8585.             case 'I':
  8586. ***************
  8587. *** 1441,1453 ****
  8588.           }
  8589.   break;
  8590.   case 18:
  8591. ! #line 319 "/u/jjc/groff/refer/label.y"
  8592.   {
  8593.             yyval.expr = new format_expr('0', yyvsp[0].dig.ndigits, yyvsp[0].dig.val);
  8594.           }
  8595.   break;
  8596.   case 19:
  8597. ! #line 323 "/u/jjc/groff/refer/label.y"
  8598.   {
  8599.             switch (yyvsp[-1].num) {
  8600.             case 'l':
  8601. --- 1441,1453 ----
  8602.           }
  8603.   break;
  8604.   case 18:
  8605. ! #line 319 "label.y"
  8606.   {
  8607.             yyval.expr = new format_expr('0', yyvsp[0].dig.ndigits, yyvsp[0].dig.val);
  8608.           }
  8609.   break;
  8610.   case 19:
  8611. ! #line 323 "label.y"
  8612.   {
  8613.             switch (yyvsp[-1].num) {
  8614.             case 'l':
  8615. ***************
  8616. *** 1479,1537 ****
  8617.           }
  8618.   break;
  8619.   case 20:
  8620. ! #line 354 "/u/jjc/groff/refer/label.y"
  8621.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, yyvsp[0].num); }
  8622.   break;
  8623.   case 21:
  8624. ! #line 356 "/u/jjc/groff/refer/label.y"
  8625.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, -yyvsp[0].num); }
  8626.   break;
  8627.   case 22:
  8628. ! #line 358 "/u/jjc/groff/refer/label.y"
  8629.   { yyval.expr = new star_expr(yyvsp[-1].expr); }
  8630.   break;
  8631.   case 23:
  8632. ! #line 360 "/u/jjc/groff/refer/label.y"
  8633.   { yyval.expr = yyvsp[-1].expr; }
  8634.   break;
  8635.   case 24:
  8636. ! #line 362 "/u/jjc/groff/refer/label.y"
  8637.   { yyval.expr = new separator_expr(yyvsp[-1].expr); }
  8638.   break;
  8639.   case 25:
  8640. ! #line 367 "/u/jjc/groff/refer/label.y"
  8641.   { yyval.num = -1; }
  8642.   break;
  8643.   case 26:
  8644. ! #line 369 "/u/jjc/groff/refer/label.y"
  8645.   { yyval.num = yyvsp[0].num; }
  8646.   break;
  8647.   case 27:
  8648. ! #line 374 "/u/jjc/groff/refer/label.y"
  8649.   { yyval.num = yyvsp[0].num; }
  8650.   break;
  8651.   case 28:
  8652. ! #line 376 "/u/jjc/groff/refer/label.y"
  8653.   { yyval.num = yyvsp[-1].num*10 + yyvsp[0].num; }
  8654.   break;
  8655.   case 29:
  8656. ! #line 381 "/u/jjc/groff/refer/label.y"
  8657.   { yyval.dig.ndigits = 1; yyval.dig.val = yyvsp[0].num; }
  8658.   break;
  8659.   case 30:
  8660. ! #line 383 "/u/jjc/groff/refer/label.y"
  8661.   { yyval.dig.ndigits = yyvsp[-1].dig.ndigits + 1; yyval.dig.val = yyvsp[-1].dig.val*10 + yyvsp[0].num; }
  8662.   break;
  8663.   case 31:
  8664. ! #line 389 "/u/jjc/groff/refer/label.y"
  8665.   { yyval.num = 0; }
  8666.   break;
  8667.   case 32:
  8668. ! #line 391 "/u/jjc/groff/refer/label.y"
  8669.   { yyval.num = 1; }
  8670.   break;
  8671.   case 33:
  8672. ! #line 393 "/u/jjc/groff/refer/label.y"
  8673.   { yyval.num = -1; }
  8674.   break;
  8675.   #line 1538 "y.tab.c"
  8676. --- 1479,1537 ----
  8677.           }
  8678.   break;
  8679.   case 20:
  8680. ! #line 354 "label.y"
  8681.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, yyvsp[0].num); }
  8682.   break;
  8683.   case 21:
  8684. ! #line 356 "label.y"
  8685.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, -yyvsp[0].num); }
  8686.   break;
  8687.   case 22:
  8688. ! #line 358 "label.y"
  8689.   { yyval.expr = new star_expr(yyvsp[-1].expr); }
  8690.   break;
  8691.   case 23:
  8692. ! #line 360 "label.y"
  8693.   { yyval.expr = yyvsp[-1].expr; }
  8694.   break;
  8695.   case 24:
  8696. ! #line 362 "label.y"
  8697.   { yyval.expr = new separator_expr(yyvsp[-1].expr); }
  8698.   break;
  8699.   case 25:
  8700. ! #line 367 "label.y"
  8701.   { yyval.num = -1; }
  8702.   break;
  8703.   case 26:
  8704. ! #line 369 "label.y"
  8705.   { yyval.num = yyvsp[0].num; }
  8706.   break;
  8707.   case 27:
  8708. ! #line 374 "label.y"
  8709.   { yyval.num = yyvsp[0].num; }
  8710.   break;
  8711.   case 28:
  8712. ! #line 376 "label.y"
  8713.   { yyval.num = yyvsp[-1].num*10 + yyvsp[0].num; }
  8714.   break;
  8715.   case 29:
  8716. ! #line 381 "label.y"
  8717.   { yyval.dig.ndigits = 1; yyval.dig.val = yyvsp[0].num; }
  8718.   break;
  8719.   case 30:
  8720. ! #line 383 "label.y"
  8721.   { yyval.dig.ndigits = yyvsp[-1].dig.ndigits + 1; yyval.dig.val = yyvsp[-1].dig.val*10 + yyvsp[0].num; }
  8722.   break;
  8723.   case 31:
  8724. ! #line 389 "label.y"
  8725.   { yyval.num = 0; }
  8726.   break;
  8727.   case 32:
  8728. ! #line 391 "label.y"
  8729.   { yyval.num = 1; }
  8730.   break;
  8731.   case 33:
  8732. ! #line 393 "label.y"
  8733.   { yyval.num = -1; }
  8734.   break;
  8735.   #line 1538 "y.tab.c"
  8736. diff -rc --new-file groff-1.09/refer/refer.h /gnu/src/amiga/groff-1.09/refer/refer.h
  8737. *** groff-1.09/refer/refer.h    Mon Aug  3 10:30:24 1992
  8738. --- /gnu/src/amiga/groff-1.09/refer/refer.h    Mon Feb 21 16:18:08 1994
  8739. ***************
  8740. *** 21,27 ****
  8741.   #include <stdio.h>
  8742.   #include <stdlib.h>
  8743.   #include <assert.h>
  8744. ! #include <string.h>
  8745.   #include <errno.h>
  8746.   
  8747.   #include "errarg.h"
  8748. --- 21,27 ----
  8749.   #include <stdio.h>
  8750.   #include <stdlib.h>
  8751.   #include <assert.h>
  8752. ! #include </gnu/include/string.h>
  8753.   #include <errno.h>
  8754.   
  8755.   #include "errarg.h"
  8756. diff -rc --new-file groff-1.09/soelim/soelim.cc /gnu/src/amiga/groff-1.09/soelim/soelim.cc
  8757. *** groff-1.09/soelim/soelim.cc    Thu May 27 22:29:31 1993
  8758. --- /gnu/src/amiga/groff-1.09/soelim/soelim.cc    Mon Feb 21 16:17:50 1994
  8759. ***************
  8760. *** 20,26 ****
  8761.   
  8762.   #include <stdio.h>
  8763.   #include <ctype.h>
  8764. ! #include <string.h>
  8765.   #include <assert.h>
  8766.   #include <stdlib.h>
  8767.   #include <errno.h>
  8768. --- 20,26 ----
  8769.   
  8770.   #include <stdio.h>
  8771.   #include <ctype.h>
  8772. ! #include </gnu/include/string.h>
  8773.   #include <assert.h>
  8774.   #include <stdlib.h>
  8775.   #include <errno.h>
  8776. diff -rc --new-file groff-1.09/tfmtodit/tfmtodit.cc /gnu/src/amiga/groff-1.09/tfmtodit/tfmtodit.cc
  8777. *** groff-1.09/tfmtodit/tfmtodit.cc    Sun Feb 13 10:24:34 1994
  8778. --- /gnu/src/amiga/groff-1.09/tfmtodit/tfmtodit.cc    Mon Feb 21 16:18:16 1994
  8779. ***************
  8780. *** 50,56 ****
  8781.   #include <stdio.h>
  8782.   #include <stdlib.h>
  8783.   #include <math.h>
  8784. ! #include <string.h>
  8785.   #include <errno.h>
  8786.   #include "lib.h"
  8787.   #include "errarg.h"
  8788. --- 50,56 ----
  8789.   #include <stdio.h>
  8790.   #include <stdlib.h>
  8791.   #include <math.h>
  8792. ! #include </gnu/include/string.h>
  8793.   #include <errno.h>
  8794.   #include "lib.h"
  8795.   #include "errarg.h"
  8796. diff -rc --new-file groff-1.09/tmac/tmac.doc /gnu/src/amiga/groff-1.09/tmac/tmac.doc
  8797. *** groff-1.09/tmac/tmac.doc    Sat Jan  4 13:58:26 1992
  8798. --- /gnu/src/amiga/groff-1.09/tmac/tmac.doc    Mon Feb 21 16:32:04 1994
  8799. ***************
  8800. *** 43,49 ****
  8801.   .\}
  8802.   .if \n(.g .ig
  8803.   .de sO
  8804. ! .so /usr/share/tmac/\\$1
  8805.   ..
  8806.   .if !\n(.g .ig
  8807.   .de sO
  8808. --- 43,49 ----
  8809.   .\}
  8810.   .if \n(.g .ig
  8811.   .de sO
  8812. ! .so /gnu/share/tmac/\\$1
  8813.   ..
  8814.   .if !\n(.g .ig
  8815.   .de sO
  8816. diff -rc --new-file groff-1.09/troff/troff.h /gnu/src/amiga/groff-1.09/troff/troff.h
  8817. *** groff-1.09/troff/troff.h    Sat Feb 12 11:58:35 1994
  8818. --- /gnu/src/amiga/groff-1.09/troff/troff.h    Mon Feb 21 16:18:29 1994
  8819. ***************
  8820. *** 21,27 ****
  8821.   
  8822.   #include <stdio.h>
  8823.   #include <ctype.h>
  8824. ! #include <string.h>
  8825.   #include <time.h>
  8826.   #include <stddef.h>
  8827.   #include <stdlib.h>
  8828. --- 21,27 ----
  8829.   
  8830.   #include <stdio.h>
  8831.   #include <ctype.h>
  8832. ! #include </gnu/include/string.h>
  8833.   #include <time.h>
  8834.   #include <stddef.h>
  8835.   #include <stdlib.h>
  8836. diff -rc --new-file groff-1.09/xditview/Imakefile /gnu/src/amiga/groff-1.09/xditview/Imakefile
  8837. *** groff-1.09/xditview/Imakefile    Wed Oct 28 13:19:59 1992
  8838. --- /gnu/src/amiga/groff-1.09/xditview/Imakefile    Mon Feb 21 16:32:46 1994
  8839. ***************
  8840. *** 1,6 ****
  8841. ! GROFF_LIBDIR = /usr/local/lib/groff
  8842.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8843. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/usr/local/lib/font:/usr/lib/font
  8844.   DPIS = 75 100
  8845.   
  8846.   PROGRAMS = gxditview xtotroff
  8847. --- 1,6 ----
  8848. ! GROFF_LIBDIR = /gnu/lib/groff
  8849.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8850. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/local/lib/font
  8851.   DPIS = 75 100
  8852.   
  8853.   PROGRAMS = gxditview xtotroff
  8854. diff -rc --new-file groff-1.09/xditview/Makefile /gnu/src/amiga/groff-1.09/xditview/Makefile
  8855. *** groff-1.09/xditview/Makefile    Thu Apr 29 17:38:13 1993
  8856. --- /gnu/src/amiga/groff-1.09/xditview/Makefile    Mon Feb 21 16:33:10 1994
  8857. ***************
  8858. *** 274,282 ****
  8859.   # -------------------------------------------------------------------------
  8860.   # start of Imakefile
  8861.   
  8862. ! GROFF_LIBDIR = /usr/local/lib/groff
  8863.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8864. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/usr/local/lib/font:/usr/lib/font
  8865.   DPIS = 75 100
  8866.   
  8867.   PROGRAMS = gxditview xtotroff
  8868. --- 274,282 ----
  8869.   # -------------------------------------------------------------------------
  8870.   # start of Imakefile
  8871.   
  8872. ! GROFF_LIBDIR = /gnu/lib/groff
  8873.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8874. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/local/lib/font
  8875.   DPIS = 75 100
  8876.   
  8877.   PROGRAMS = gxditview xtotroff
  8878. ***************
  8879. *** 413,426 ****
  8880.   # DO NOT DELETE
  8881.   
  8882.   xditview.o: /local/include/X11/Xatom.h /local/include/X11/Xlib.h
  8883. ! xditview.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8884. ! xditview.o: /usr/include/sys/sysmacros.h /local/include/X11/X.h
  8885.   xditview.o: /local/include/X11/Xfuncproto.h /local/include/X11/Xosdefs.h
  8886. ! xditview.o: /usr/include/stddef.h /local/include/X11/Xos.h
  8887. ! xditview.o: /usr/include/string.h /usr/include/fcntl.h
  8888. ! xditview.o: /usr/include/sys/fcntlcom.h /usr/include/sys/stat.h
  8889. ! xditview.o: /usr/include/unistd.h /usr/include/sys/time.h
  8890. ! xditview.o: /usr/include/sys/time.h /local/include/X11/Intrinsic.h
  8891.   xditview.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8892.   xditview.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  8893.   xditview.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  8894. --- 413,426 ----
  8895.   # DO NOT DELETE
  8896.   
  8897.   xditview.o: /local/include/X11/Xatom.h /local/include/X11/Xlib.h
  8898. ! xditview.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  8899. ! xditview.o: /gnu/include/sys/sysmacros.h /local/include/X11/X.h
  8900.   xditview.o: /local/include/X11/Xfuncproto.h /local/include/X11/Xosdefs.h
  8901. ! xditview.o: /gnu/include/stddef.h /local/include/X11/Xos.h
  8902. ! xditview.o: /gnu/include/string.h /gnu/include/fcntl.h
  8903. ! xditview.o: /gnu/include/sys/fcntlcom.h /gnu/include/sys/stat.h
  8904. ! xditview.o: /gnu/include/unistd.h /gnu/include/sys/time.h
  8905. ! xditview.o: /gnu/include/sys/time.h /local/include/X11/Intrinsic.h
  8906.   xditview.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8907.   xditview.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  8908.   xditview.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  8909. ***************
  8910. *** 433,577 ****
  8911.   xditview.o: /local/include/X11/Xaw/Simple.h /local/include/X11/Xaw/Dialog.h
  8912.   xditview.o: /local/include/X11/Xaw/SimpleMenu.h
  8913.   xditview.o: /local/include/X11/Xaw/SmeBSB.h /local/include/X11/Xaw/Sme.h
  8914. ! xditview.o: /usr/include/signal.h /usr/include/sys/signal.h
  8915. ! xditview.o: /usr/include/vm/faultcode.h Dvi.h xdit.bm xdit_mask.bm
  8916. ! xditview.o: /usr/include/stdio.h
  8917.   Dvi.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  8918. ! Dvi.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  8919. ! Dvi.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  8920.   Dvi.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8921. ! Dvi.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  8922.   Dvi.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8923. ! Dvi.o: /usr/include/string.h /local/include/X11/Core.h
  8924.   Dvi.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8925.   Dvi.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8926.   Dvi.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8927.   Dvi.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8928.   Dvi.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8929. ! Dvi.o: /local/include/X11/Xmu/Converters.h /usr/include/stdio.h
  8930. ! Dvi.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  8931.   Dvi.o: /local/include/X11/bitmaps/gray
  8932.   draw.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8933. ! draw.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8934. ! draw.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8935. ! draw.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8936. ! draw.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8937. ! draw.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8938.   draw.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8939.   draw.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8940. ! draw.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8941.   draw.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8942.   draw.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8943.   draw.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8944.   draw.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8945.   draw.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8946.   draw.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8947. ! draw.o: /usr/include/stdio.h /usr/include/ctype.h /usr/include/math.h
  8948. ! draw.o: /usr/include/floatingpoint.h /usr/include/sys/ieeefp.h DviP.h Dvi.h
  8949.   draw.o: DviChar.h device.h
  8950.   font.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8951. ! font.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8952. ! font.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8953. ! font.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8954. ! font.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8955. ! font.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8956.   font.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8957.   font.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8958. ! font.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8959.   font.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8960.   font.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8961.   font.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8962.   font.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8963.   font.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8964.   font.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8965. ! font.o: /usr/include/stdio.h /usr/include/ctype.h DviP.h Dvi.h DviChar.h
  8966.   font.o: device.h XFontName.h
  8967.   lex.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8968. ! lex.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8969. ! lex.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8970. ! lex.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8971. ! lex.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8972. ! lex.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8973.   lex.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8974.   lex.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8975. ! lex.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8976.   lex.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8977.   lex.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8978.   lex.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8979.   lex.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8980.   lex.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8981.   lex.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8982. ! lex.o: /usr/include/stdio.h DviP.h Dvi.h DviChar.h device.h
  8983.   page.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8984. ! page.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8985. ! page.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8986. ! page.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8987. ! page.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8988. ! page.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8989.   page.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8990.   page.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8991. ! page.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8992.   page.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8993.   page.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8994.   page.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8995.   page.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8996.   page.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8997.   page.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8998. ! page.o: /usr/include/stdio.h /usr/include/ctype.h DviP.h Dvi.h DviChar.h
  8999.   page.o: device.h
  9000.   parse.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9001. ! parse.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  9002. ! parse.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  9003. ! parse.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  9004. ! parse.o: /usr/include/sys/stat.h /usr/include/unistd.h
  9005. ! parse.o: /usr/include/sys/time.h /usr/include/sys/time.h
  9006.   parse.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  9007.   parse.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  9008. ! parse.o: /local/include/X11/Xfuncproto.h /usr/include/stddef.h
  9009.   parse.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  9010.   parse.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  9011.   parse.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  9012.   parse.o: /local/include/X11/RectObj.h /local/include/X11/CoreP.h
  9013.   parse.o: /local/include/X11/CompositeP.h /local/include/X11/ConstrainP.h
  9014.   parse.o: /local/include/X11/ObjectP.h /local/include/X11/RectObjP.h
  9015. ! parse.o: /local/include/X11/StringDefs.h /usr/include/stdio.h
  9016. ! parse.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  9017. ! XFontName.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  9018. ! XFontName.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  9019.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9020. ! XFontName.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  9021. ! XFontName.o: /local/include/X11/Xos.h /usr/include/string.h
  9022. ! XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  9023. ! XFontName.o: /usr/include/sys/stat.h /usr/include/unistd.h
  9024. ! XFontName.o: /usr/include/sys/time.h /usr/include/sys/time.h XFontName.h
  9025. ! XFontName.o: /usr/include/ctype.h
  9026.   DviChar.o: DviChar.h
  9027. ! device.o: /usr/include/stdio.h /usr/include/ctype.h /local/include/X11/Xos.h
  9028. ! device.o: /local/include/X11/Xosdefs.h /usr/include/sys/types.h
  9029. ! device.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  9030. ! device.o: /usr/include/string.h /usr/include/fcntl.h
  9031. ! device.o: /usr/include/sys/fcntlcom.h /usr/include/sys/stat.h
  9032. ! device.o: /usr/include/unistd.h /usr/include/sys/time.h
  9033. ! device.o: /usr/include/sys/time.h /local/include/X11/Intrinsic.h
  9034.   device.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  9035. ! device.o: /local/include/X11/Xfuncproto.h /usr/include/stddef.h
  9036.   device.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  9037.   device.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  9038.   device.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  9039.   device.o: /local/include/X11/RectObj.h device.h
  9040. ! xtotroff.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  9041. ! xtotroff.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  9042.   xtotroff.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9043. ! xtotroff.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  9044. ! xtotroff.o: /usr/include/stdio.h /usr/include/ctype.h XFontName.h DviChar.h
  9045. ! xtotroff.o: /usr/include/stdlib.h
  9046. ! XFontName.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  9047. ! XFontName.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  9048.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9049. ! XFontName.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  9050. ! XFontName.o: /local/include/X11/Xos.h /usr/include/string.h
  9051. ! XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  9052. ! XFontName.o: /usr/include/sys/stat.h /usr/include/unistd.h
  9053. ! XFontName.o: /usr/include/sys/time.h /usr/include/sys/time.h XFontName.h
  9054. ! XFontName.o: /usr/include/ctype.h
  9055.   DviChar.o: DviChar.h
  9056. --- 433,577 ----
  9057.   xditview.o: /local/include/X11/Xaw/Simple.h /local/include/X11/Xaw/Dialog.h
  9058.   xditview.o: /local/include/X11/Xaw/SimpleMenu.h
  9059.   xditview.o: /local/include/X11/Xaw/SmeBSB.h /local/include/X11/Xaw/Sme.h
  9060. ! xditview.o: /gnu/include/signal.h /gnu/include/sys/signal.h
  9061. ! xditview.o: /gnu/include/vm/faultcode.h Dvi.h xdit.bm xdit_mask.bm
  9062. ! xditview.o: /gnu/include/stdio.h
  9063.   Dvi.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  9064. ! Dvi.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  9065. ! Dvi.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9066.   Dvi.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9067. ! Dvi.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  9068.   Dvi.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  9069. ! Dvi.o: /gnu/include/string.h /local/include/X11/Core.h
  9070.   Dvi.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9071.   Dvi.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9072.   Dvi.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9073.   Dvi.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9074.   Dvi.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9075. ! Dvi.o: /local/include/X11/Xmu/Converters.h /gnu/include/stdio.h
  9076. ! Dvi.o: /gnu/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  9077.   Dvi.o: /local/include/X11/bitmaps/gray
  9078.   draw.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9079. ! draw.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9080. ! draw.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9081. ! draw.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9082. ! draw.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9083. ! draw.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9084.   draw.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9085.   draw.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9086. ! draw.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9087.   draw.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9088.   draw.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9089.   draw.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9090.   draw.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9091.   draw.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9092.   draw.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9093. ! draw.o: /gnu/include/stdio.h /gnu/include/ctype.h /gnu/include/math.h
  9094. ! draw.o: /gnu/include/floatingpoint.h /gnu/include/sys/ieeefp.h DviP.h Dvi.h
  9095.   draw.o: DviChar.h device.h
  9096.   font.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9097. ! font.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9098. ! font.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9099. ! font.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9100. ! font.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9101. ! font.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9102.   font.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9103.   font.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9104. ! font.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9105.   font.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9106.   font.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9107.   font.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9108.   font.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9109.   font.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9110.   font.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9111. ! font.o: /gnu/include/stdio.h /gnu/include/ctype.h DviP.h Dvi.h DviChar.h
  9112.   font.o: device.h XFontName.h
  9113.   lex.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9114. ! lex.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9115. ! lex.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9116. ! lex.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9117. ! lex.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9118. ! lex.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9119.   lex.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9120.   lex.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9121. ! lex.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9122.   lex.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9123.   lex.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9124.   lex.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9125.   lex.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9126.   lex.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9127.   lex.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9128. ! lex.o: /gnu/include/stdio.h DviP.h Dvi.h DviChar.h device.h
  9129.   page.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9130. ! page.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9131. ! page.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9132. ! page.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9133. ! page.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9134. ! page.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9135.   page.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9136.   page.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9137. ! page.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9138.   page.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9139.   page.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9140.   page.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9141.   page.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9142.   page.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9143.   page.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9144. ! page.o: /gnu/include/stdio.h /gnu/include/ctype.h DviP.h Dvi.h DviChar.h
  9145.   page.o: device.h
  9146.   parse.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9147. ! parse.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9148. ! parse.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9149. ! parse.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9150. ! parse.o: /gnu/include/sys/stat.h /gnu/include/unistd.h
  9151. ! parse.o: /gnu/include/sys/time.h /gnu/include/sys/time.h
  9152.   parse.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  9153.   parse.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  9154. ! parse.o: /local/include/X11/Xfuncproto.h /gnu/include/stddef.h
  9155.   parse.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  9156.   parse.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  9157.   parse.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  9158.   parse.o: /local/include/X11/RectObj.h /local/include/X11/CoreP.h
  9159.   parse.o: /local/include/X11/CompositeP.h /local/include/X11/ConstrainP.h
  9160.   parse.o: /local/include/X11/ObjectP.h /local/include/X11/RectObjP.h
  9161. ! parse.o: /local/include/X11/StringDefs.h /gnu/include/stdio.h
  9162. ! parse.o: /gnu/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  9163. ! XFontName.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  9164. ! XFontName.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9165.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9166. ! XFontName.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  9167. ! XFontName.o: /local/include/X11/Xos.h /gnu/include/string.h
  9168. ! XFontName.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9169. ! XFontName.o: /gnu/include/sys/stat.h /gnu/include/unistd.h
  9170. ! XFontName.o: /gnu/include/sys/time.h /gnu/include/sys/time.h XFontName.h
  9171. ! XFontName.o: /gnu/include/ctype.h
  9172.   DviChar.o: DviChar.h
  9173. ! device.o: /gnu/include/stdio.h /gnu/include/ctype.h /local/include/X11/Xos.h
  9174. ! device.o: /local/include/X11/Xosdefs.h /gnu/include/sys/types.h
  9175. ! device.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9176. ! device.o: /gnu/include/string.h /gnu/include/fcntl.h
  9177. ! device.o: /gnu/include/sys/fcntlcom.h /gnu/include/sys/stat.h
  9178. ! device.o: /gnu/include/unistd.h /gnu/include/sys/time.h
  9179. ! device.o: /gnu/include/sys/time.h /local/include/X11/Intrinsic.h
  9180.   device.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  9181. ! device.o: /local/include/X11/Xfuncproto.h /gnu/include/stddef.h
  9182.   device.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  9183.   device.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  9184.   device.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  9185.   device.o: /local/include/X11/RectObj.h device.h
  9186. ! xtotroff.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  9187. ! xtotroff.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9188.   xtotroff.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9189. ! xtotroff.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  9190. ! xtotroff.o: /gnu/include/stdio.h /gnu/include/ctype.h XFontName.h DviChar.h
  9191. ! xtotroff.o: /gnu/include/stdlib.h
  9192. ! XFontName.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  9193. ! XFontName.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9194.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9195. ! XFontName.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  9196. ! XFontName.o: /local/include/X11/Xos.h /gnu/include/string.h
  9197. ! XFontName.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9198. ! XFontName.o: /gnu/include/sys/stat.h /gnu/include/unistd.h
  9199. ! XFontName.o: /gnu/include/sys/time.h /gnu/include/sys/time.h XFontName.h
  9200. ! XFontName.o: /gnu/include/ctype.h
  9201.   DviChar.o: DviChar.h
  9202. diff -rc --new-file groff-1.09/xditview/device.c /gnu/src/amiga/groff-1.09/xditview/device.c
  9203. *** groff-1.09/xditview/device.c    Thu May 27 19:30:56 1993
  9204. --- /gnu/src/amiga/groff-1.09/xditview/device.c    Mon Feb 21 16:34:01 1994
  9205. ***************
  9206. *** 9,15 ****
  9207.   #include "device.h"
  9208.   
  9209.   #ifndef FONTPATH
  9210. ! #define FONTPATH "/usr/local/lib/groff/font:/usr/local/lib/font:/usr/lib/font"
  9211.   #endif
  9212.   
  9213.   #ifndef isascii
  9214. --- 9,15 ----
  9215.   #include "device.h"
  9216.   
  9217.   #ifndef FONTPATH
  9218. ! #define FONTPATH "/gnu/lib/groff/font:/gnu/lib/font:/local/lib/font:/local/lib/groff/font"
  9219.   #endif
  9220.   
  9221.   #ifndef isascii
  9222.