home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / bbs / gnu / groff-1.09-diffs.lha / GNU / src / diffs / groff-1.09.diffs
Encoding:
Text File  |  1994-09-07  |  268.8 KB  |  9,342 lines

  1. diff -rc --new-file groff-1.09/Makefile.in /gnu/src/amiga/groff-1.09/Makefile.in
  2. *** groff-1.09/Makefile.in    Mon Feb 14 08:43:08 1994
  3. --- /gnu/src/amiga/groff-1.09/Makefile.in    Sun Jun 12 16:50:46 1994
  4. ***************
  5. *** 75,81 ****
  6.   # Common prefix for installation directories.
  7.   # Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
  8.   # This must already exist when you do make install.
  9. ! prefix=/usr/local
  10.   
  11.   exec_prefix=$(prefix)
  12.   
  13. --- 75,81 ----
  14.   # Common prefix for installation directories.
  15.   # Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
  16.   # This must already exist when you do make install.
  17. ! prefix=/gnu
  18.   
  19.   exec_prefix=$(prefix)
  20.   
  21. ***************
  22. *** 90,102 ****
  23.   fontdir=$(datasubdir)/font
  24.   
  25.   # fontpath says where to look for dev*/*.
  26. ! fontpath=.:$(fontdir):$(prefix)/lib/font:/usr/lib/font
  27.   
  28.   # tmacdir says where to install macros.
  29.   tmacdir=$(datasubdir)/tmac
  30.   
  31.   # tmacpath says where to look for macro files.
  32. ! tmacpath=.:$(tmacdir):/usr/lib/tmac
  33.   
  34.   # Extension to be used for refer index files.  Index files are not
  35.   # sharable between different architectures, so you might want to use
  36. --- 90,102 ----
  37.   fontdir=$(datasubdir)/font
  38.   
  39.   # fontpath says where to look for dev*/*.
  40. ! fontpath=.:$(fontdir):$(prefix)/lib/font
  41.   
  42.   # tmacdir says where to install macros.
  43.   tmacdir=$(datasubdir)/tmac
  44.   
  45.   # tmacpath says where to look for macro files.
  46. ! tmacpath=.:$(tmacdir)
  47.   
  48.   # Extension to be used for refer index files.  Index files are not
  49.   # sharable between different architectures, so you might want to use
  50. ***************
  51. *** 105,111 ****
  52.   indexext=.i
  53.   
  54.   # Directory containing the default index for refer.
  55. ! indexdir=/usr/dict/papers
  56.   
  57.   # The filename (without suffix) of the default index for refer.
  58.   indexname=Ind
  59. --- 105,111 ----
  60.   indexext=.i
  61.   
  62.   # Directory containing the default index for refer.
  63. ! indexdir=/gnu/dict/papers
  64.   
  65.   # The filename (without suffix) of the default index for refer.
  66.   indexname=Ind
  67. ***************
  68. *** 189,195 ****
  69.   INSTALL=@INSTALL@
  70.   INSTALL_PROGRAM=@INSTALL_PROGRAM@
  71.   INSTALL_DATA=@INSTALL_DATA@
  72. ! LN_S=@LN_S@
  73.   AR=ar
  74.   ETAGS=etags
  75.   ETAGSFLAGS=
  76. --- 189,201 ----
  77.   INSTALL=@INSTALL@
  78.   INSTALL_PROGRAM=@INSTALL_PROGRAM@
  79.   INSTALL_DATA=@INSTALL_DATA@
  80. ! # For the Amiga, force LN_S to be just "cp" rather than "ln -s", so that a
  81. ! # copy is made rather than a symbolic link.  We support symbolic links, but
  82. ! # we don't want to use them in the installation because the "mkisofs" CD-ROM
  83. ! # mastering software doesn't know what to do with them yet (convert to a
  84. ! # copy on the fly).
  85. ! #LN_S=@LN_S@
  86. ! LN_S=cp
  87.   AR=ar
  88.   ETAGS=etags
  89.   ETAGSFLAGS=
  90. diff -rc --new-file groff-1.09/Product-Info /gnu/src/amiga/groff-1.09/Product-Info
  91. *** groff-1.09/Product-Info    Thu Jan  1 00:00:00 1970
  92. --- /gnu/src/amiga/groff-1.09/Product-Info    Tue Jul 12 17:22:50 1994
  93. ***************
  94. *** 0 ****
  95. --- 1,27 ----
  96. + .name
  97. + groff
  98. + .fullname
  99. + GNU groff document formatting system
  100. + .type
  101. + Text Processing
  102. + .short
  103. + GNU groff document formatting system
  104. + .description
  105. + This is the GNU groff document formatting system.  Included in this
  106. + release are implementations of troff, pic, eqn, tbl, refer, the -man
  107. + macros and the -ms macros, and drivers for PostScript, TeX dvi format,
  108. + and typewriter-like devices.  Also included is a modified version of
  109. + the Berkeley -me macros, an enhanced version of the X11 xditview
  110. + previewer, and an implementation of the -mm macros.
  111. + .version
  112. + 1.09
  113. + .author
  114. + James Clark
  115. + .email
  116. + jjc@jclark.com
  117. + .requirements
  118. + Amiga binaries require ixemul.library.
  119. + .distribution
  120. + GNU Public License
  121. + .described-by
  122. + Fred Fish (fnf@amigalib.com)
  123. diff -rc --new-file groff-1.09/acgroff.m4 /gnu/src/amiga/groff-1.09/acgroff.m4
  124. *** groff-1.09/acgroff.m4    Sat Feb 12 14:34:48 1994
  125. --- /gnu/src/amiga/groff-1.09/acgroff.m4    Mon Apr 25 18:07:11 1994
  126. ***************
  127. *** 396,402 ****
  128.   define(GROFF_ISC_SYSV3,
  129.   [echo 'checking for ISC 3.x or 4.x'
  130.   changequote(,)dnl
  131. ! if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  132.   changequote([,])dnl
  133.   then
  134.       AC_DEFINE(_SYSV3)
  135. --- 396,402 ----
  136.   define(GROFF_ISC_SYSV3,
  137.   [echo 'checking for ISC 3.x or 4.x'
  138.   changequote(,)dnl
  139. ! if true || grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  140.   changequote([,])dnl
  141.   then
  142.       AC_DEFINE(_SYSV3)
  143. diff -rc --new-file groff-1.09/addftinfo/addftinfo.cc /gnu/src/amiga/groff-1.09/addftinfo/addftinfo.cc
  144. *** groff-1.09/addftinfo/addftinfo.cc    Sun Feb 13 10:24:31 1994
  145. --- /gnu/src/amiga/groff-1.09/addftinfo/addftinfo.cc    Mon Feb 21 16:15:17 1994
  146. ***************
  147. *** 20,26 ****
  148.   
  149.   #include <stdio.h>
  150.   #include <ctype.h>
  151. ! #include <string.h>
  152.   #include <assert.h>
  153.   #include <stdlib.h>
  154.   #include <errno.h>
  155. --- 20,26 ----
  156.   
  157.   #include <stdio.h>
  158.   #include <ctype.h>
  159. ! #include </gnu/include/string.h>
  160.   #include <assert.h>
  161.   #include <stdlib.h>
  162.   #include <errno.h>
  163. diff -rc --new-file groff-1.09/afmtodit/Makefile.sub /gnu/src/amiga/groff-1.09/afmtodit/Makefile.sub
  164. *** groff-1.09/afmtodit/Makefile.sub    Wed Oct 28 12:48:22 1992
  165. --- /gnu/src/amiga/groff-1.09/afmtodit/Makefile.sub    Mon Feb 21 16:31:05 1994
  166. ***************
  167. *** 5,11 ****
  168.   
  169.   afmtodit: afmtodit.pl
  170.       if test -n "$(PERLPATH)"; then \
  171. !       sed -e 's;/usr/bin/perl;$(PERLPATH);' \
  172.                 $(srcdir)/afmtodit.pl >afmtodit; \
  173.       else \
  174.         cp $(srcdir)/afmtodit.pl afmtodit; \
  175. --- 5,11 ----
  176.   
  177.   afmtodit: afmtodit.pl
  178.       if test -n "$(PERLPATH)"; then \
  179. !       sed -e 's;/bin/perl;$(PERLPATH);' \
  180.                 $(srcdir)/afmtodit.pl >afmtodit; \
  181.       else \
  182.         cp $(srcdir)/afmtodit.pl afmtodit; \
  183. diff -rc --new-file groff-1.09/afmtodit/afmtodit.pl /gnu/src/amiga/groff-1.09/afmtodit/afmtodit.pl
  184. *** groff-1.09/afmtodit/afmtodit.pl    Mon Apr 19 19:53:51 1993
  185. --- /gnu/src/amiga/groff-1.09/afmtodit/afmtodit.pl    Mon Feb 21 16:30:55 1994
  186. ***************
  187. *** 1,4 ****
  188. ! #! /usr/bin/perl -P- # -*- Perl -*-
  189.   #Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  190.   #     Written by James Clark (jjc@jclark.com)
  191.   #
  192. --- 1,4 ----
  193. ! #! /bin/perl -P- # -*- Perl -*-
  194.   #Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  195.   #     Written by James Clark (jjc@jclark.com)
  196.   #
  197. diff -rc --new-file groff-1.09/configure /gnu/src/amiga/groff-1.09/configure
  198. *** groff-1.09/configure    Sat Feb 12 14:43:06 1994
  199. --- /gnu/src/amiga/groff-1.09/configure    Mon Apr 25 18:05:55 1994
  200. ***************
  201. *** 1,180 ****
  202.   #!/bin/sh
  203.   # Guess values for system-dependent variables and create Makefiles.
  204. ! # Generated automatically using autoconf.
  205. ! # Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
  206.   
  207. ! # This program is free software; you can redistribute it and/or modify
  208. ! # it under the terms of the GNU General Public License as published by
  209. ! # the Free Software Foundation; either version 2, or (at your option)
  210.   # any later version.
  211.   
  212. ! # This program is distributed in the hope that it will be useful,
  213. ! # but WITHOUT ANY WARRANTY; without even the implied warranty of
  214. ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  215. ! # GNU General Public License for more details.
  216.   
  217.   # You should have received a copy of the GNU General Public License
  218.   # along with this program; if not, write to the Free Software
  219.   # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  220.   
  221. ! # Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp]
  222. ! #        [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE[=VALUE]]
  223. ! # Ignores all args except --srcdir, --prefix, --exec-prefix, and
  224. ! # --with-PACKAGE[=VALUE] unless this script has special code to handle it.
  225.   
  226. ! for arg
  227.   do
  228. -   # Handle --exec-prefix with a space before the argument.
  229. -   if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
  230. -   # Handle --host with a space before the argument.
  231. -   elif test x$next_host = xyes; then next_host=
  232. -   # Handle --prefix with a space before the argument.
  233. -   elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
  234. -   # Handle --srcdir with a space before the argument.
  235. -   elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
  236. -   else
  237. -     case $arg in
  238. -      # For backward compatibility, recognize -exec-prefix and --exec_prefix.
  239. -      -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
  240. -     exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  241. -      -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
  242. -     next_exec_prefix=yes ;;
  243. -      -gas | --gas | --ga | --g) ;;
  244. -      -host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
  245. -      -host | --host | --hos | --ho | --h)
  246. -     next_host=yes ;;
  247. -      -nfp | --nfp | --nf) ;;
  248. -      -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  249. -     prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  250. -      -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  251. -     next_prefix=yes ;;
  252. -      -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
  253. -     srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  254. -      -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
  255. -     next_srcdir=yes ;;
  256. -      -with-* | --with-*)
  257. -        package=`echo $arg|sed -e 's/-*with-//' -e 's/=.*//'`
  258. -        # Reject names that aren't valid shell variable names.
  259. -        if test -n "`echo $package| sed 's/[-a-zA-Z0-9_]//g'`"; then
  260. -          echo "configure: $package: invalid package name" >&2; exit 1
  261. -        fi
  262. -        package=`echo $package| sed 's/-/_/g'`
  263. -        case "$arg" in
  264. -          *=*) val="`echo $arg|sed 's/[^=]*=//'`" ;;
  265. -          *) val=1 ;;
  266. -        esac
  267. -        eval "with_$package='$val'" ;;
  268.   
  269. !      -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v)
  270. !        verbose=yes ;;
  271.   
  272. !      *) ;;
  273.       esac
  274. !   fi
  275.   done
  276.   
  277. ! trap 'rm -fr conftest* confdefs* core; exit 1' 1 3 15
  278. ! trap 'rm -f confdefs*' 0
  279.   
  280.   # NLS nuisances.
  281.   # These must not be set unconditionally because not all systems understand
  282.   # e.g. LANG=C (notably SCO).
  283. ! if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi
  284. ! if test "${LANG+set}"   = 'set' ; then LANG=C;   export LANG;   fi
  285.   
  286. ! rm -f conftest* confdefs.h
  287.   # AIX cpp loses on an empty file, so make sure it contains at least a newline.
  288. ! echo > confdefs.h
  289. ! compile='${CC-cc} $CFLAGS conftest.c -o conftest $LIBS >/dev/null 2>&1'
  290.   
  291.   # A filename unique to this package, relative to the directory that
  292.   # configure is in, which we can look for to find out if srcdir is correct.
  293. ! unique_file=groff/groff.cc
  294.   
  295.   # Find the source files, if location was not specified.
  296.   if test -z "$srcdir"; then
  297. !   srcdirdefaulted=yes
  298.     # Try the directory containing this script, then `..'.
  299. !   prog=$0
  300. !   confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
  301. !   test "X$confdir" = "X$prog" && confdir=.
  302. !   srcdir=$confdir
  303. !   if test ! -r $srcdir/$unique_file; then
  304.       srcdir=..
  305.     fi
  306.   fi
  307. ! if test ! -r $srcdir/$unique_file; then
  308. !   if test x$srcdirdefaulted = xyes; then
  309. !     echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
  310.     else
  311. !     echo "configure: Can not find sources in \`${srcdir}'." 1>&2
  312.     fi
  313. -   exit 1
  314.   fi
  315. ! # Preserve a srcdir of `.' to avoid automounter screwups with pwd.
  316. ! # But we can't avoid them for `..', to make subdirectories work.
  317. ! case $srcdir in
  318. !   .|/*|~*) ;;
  319. !   *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
  320. ! esac
  321.   
  322.   
  323. - # Save the original args to write them into config.status later.
  324. - configure_args="$*"
  325.   if test -z "$prefix"
  326.   then
  327. !   echo checking for grops to derive installation directory prefix
  328. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="$IFS:"
  329. !   for dir in $PATH; do
  330. !     test -z "$dir" && dir=.
  331. !     if test $dir != . && test -f $dir/grops; then
  332.         # Not all systems have dirname.
  333. !       prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
  334.         break
  335.       fi
  336.     done
  337. !   IFS="$saveifs"
  338. !   echo "    chose installation directory prefix ${prefix}"
  339.   fi
  340.   if test -z "$prefix"
  341.   then
  342. !   echo checking for gcc to derive installation directory prefix
  343. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="$IFS:"
  344. !   for dir in $PATH; do
  345. !     test -z "$dir" && dir=.
  346. !     if test $dir != . && test -f $dir/gcc; then
  347.         # Not all systems have dirname.
  348. !       prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
  349.         break
  350.       fi
  351.     done
  352. !   IFS="$saveifs"
  353. !   echo "    chose installation directory prefix ${prefix}"
  354.   fi
  355.   
  356.   if test -z "$CC"; then
  357.     # Extract the first word of `gcc', so it can be a program name with args.
  358. !   set dummy gcc; word=$2
  359. !   echo checking for $word
  360. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  361. !   for dir in $PATH; do
  362. !     test -z "$dir" && dir=.
  363. !     if test -f $dir/$word; then
  364.         CC="gcc"
  365.         break
  366.       fi
  367.     done
  368. !   IFS="$saveifs"
  369.   fi
  370.   test -z "$CC" && CC="cc"
  371. ! test -n "$CC" && test -n "$verbose" && echo "    setting CC to $CC"
  372.   
  373.   # Find out if we are using GNU C, under whatever name.
  374.   cat > conftest.c <<EOF
  375. --- 1,366 ----
  376.   #!/bin/sh
  377.   # Guess values for system-dependent variables and create Makefiles.
  378. ! # Generated automatically using autoconf version 1.9 
  379. ! # Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
  380.   
  381. ! # This configure script is free software; you can redistribute it and/or
  382. ! # modify it under the terms of the GNU General Public License as published
  383. ! # by the Free Software Foundation; either version 2, or (at your option)
  384.   # any later version.
  385.   
  386. ! # This script is distributed in the hope that it will be useful, but
  387. ! # WITHOUT ANY WARRANTY; without even the implied warranty of
  388. ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
  389. ! # Public License for more details.
  390.   
  391.   # You should have received a copy of the GNU General Public License
  392.   # along with this program; if not, write to the Free Software
  393.   # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  394.   
  395. ! # Save the original args to write them into config.status later.
  396. ! configure_args="$*"
  397. ! # Only options that might do something get documented.
  398. ! ac_usage="Usage: configure [options] [host]
  399. ! Options: [defaults in brackets after descriptions]
  400. ! --build=BUILD        configure for building on BUILD [BUILD=HOST]
  401. ! --disable-FEATURE    do not include FEATURE (same as --enable-FEATURE=no)
  402. ! --enable-FEATURE[=ARG]    include FEATURE [ARG=yes]
  403. ! --exec-prefix=PREFIX    install host dependent files in PREFIX [/usr/local]
  404. ! --help            print this message
  405. ! --host=HOST        configure for HOST [guessed]
  406. ! --prefix=PREFIX        install host independent files in PREFIX [/usr/local]
  407. ! --quiet, --silent    do not print \`checking for...' messages
  408. ! --srcdir=DIR        find the sources in DIR [configure dir or ..]
  409. ! --target=TARGET        configure for TARGET [TARGET=HOST]
  410. ! --verbose        print results of checks
  411. ! --version        print the version of autoconf that created configure
  412. ! --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  413. ! --without-PACKAGE    do not use PACKAGE (same as --with-PACKAGE=no)
  414. ! --x-includes=DIR    X include files are in DIR
  415. ! --x-libraries=DIR    X library files are in DIR"
  416. ! # Initialize some variables set by options.
  417. ! # The variables have the same names as the options, with
  418. ! # dashes changed to underlines.
  419. ! build=NONE
  420. ! exec_prefix=
  421. ! host=NONE
  422. ! no_create=
  423. ! nonopt=NONE
  424. ! norecursion=
  425. ! prefix=
  426. ! program_prefix=
  427. ! program_suffix=
  428. ! program_transform_name=
  429. ! silent=
  430. ! srcdir=
  431. ! target=NONE
  432. ! verbose=
  433. ! x_includes=
  434. ! x_libraries=
  435.   
  436. ! ac_prev=
  437. ! for ac_option
  438.   do
  439.   
  440. !   # If the previous option needs an argument, assign it.
  441. !   if test -n "$ac_prev"; then
  442. !     eval "$ac_prev=\$ac_option"
  443. !     ac_prev=
  444. !     continue
  445. !   fi
  446. !   # Accept (but ignore some of) the important Cygnus configure
  447. !   # options, so we can diagnose typos.
  448. !   case "$ac_option" in
  449. !   -*=*) ac_optarg=`/bin/echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  450. !   *) ac_optarg= ;;
  451. !   esac
  452.   
  453. !   case "$ac_option" in
  454. !   -build | --build | --buil | --bui | --bu | --b)
  455. !     ac_prev=build ;;
  456. !   -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
  457. !     build="$ac_optarg" ;;
  458. !   -disable-* | --disable-*)
  459. !     ac_feature=`/bin/echo $ac_option|sed -e 's/-*disable-//'`
  460. !     # Reject names that aren't valid shell variable names.
  461. !     if test -n "`/bin/echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
  462. !       /bin/echo "configure: $ac_feature: invalid feature name" >&2; exit 1
  463. !     fi
  464. !     ac_feature=`/bin/echo $ac_feature| sed 's/-/_/g'`
  465. !     eval "enable_${ac_feature}=no" ;;
  466. !   -enable-* | --enable-*)
  467. !     ac_feature=`/bin/echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
  468. !     # Reject names that aren't valid shell variable names.
  469. !     if test -n "`/bin/echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
  470. !       /bin/echo "configure: $ac_feature: invalid feature name" >&2; exit 1
  471. !     fi
  472. !     ac_feature=`/bin/echo $ac_feature| sed 's/-/_/g'`
  473. !     case "$ac_option" in
  474. !       *=*) ;;
  475. !       *) ac_optarg=yes ;;
  476.       esac
  477. !     eval "enable_${ac_feature}='$ac_optarg'" ;;
  478. !   # For backward compatibility, recognize -exec-prefix and --exec_prefix.
  479. !   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
  480. !   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
  481. !   | --exec | --exe | --ex)
  482. !     ac_prev=exec_prefix ;;
  483. !   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
  484. !   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
  485. !   | --exec=* | --exe=* | --ex=*)
  486. !     exec_prefix="$ac_optarg" ;;
  487. !   -gas | --gas | --ga | --g)
  488. !     with_gas=yes ;; # Obsolete; use --with-gas.
  489. !   -help | --help | --hel | --he)
  490. !     cat << EOF
  491. ! $ac_usage
  492. ! EOF
  493. !     exit 0 ;;
  494. !   -host | --host | --hos | --ho)
  495. !     ac_prev=host ;;
  496. !   -host=* | --host=* | --hos=* | --ho=*)
  497. !     host="$ac_optarg" ;;
  498. !   -nfp | --nfp | --nf)
  499. !     with_fp=no ;; # Obsolete; use --without-fp.
  500. !   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  501. !   | --no-cr | --no-c)
  502. !     no_create=yes ;;
  503. !   -norecursion | --norecursion | --norecursio | --norecursi \
  504. !   | --norecurs | --norecur | --norecu | --norec | --nore | --nor)
  505. !     norecursion=yes ;;
  506. !   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  507. !     ac_prev=prefix ;;
  508. !   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  509. !     prefix="$ac_optarg" ;;
  510. !   -program-prefix | --program-prefix | --program-prefi | --program-pref \
  511. !   | --program-pre | --program-pr | --program-p)
  512. !     ac_prev=program_prefix ;;
  513. !   -program-prefix=* | --program-prefix=* | --program-prefi=* \
  514. !   | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
  515. !     program_prefix="$ac_optarg" ;;
  516. !   -program-suffix | --program-suffix | --program-suffi | --program-suff \
  517. !   | --program-suf | --program-su | --program-s)
  518. !     ac_prev=program_suffix ;;
  519. !   -program-suffix=* | --program-suffix=* | --program-suffi=* \
  520. !   | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
  521. !     program_suffix="$ac_optarg" ;;
  522. !   -program-transform-name | --program-transform-name \
  523. !   | --program-transform-nam | --program-transform-na \
  524. !   | --program-transform-n | --program-transform- \
  525. !   | --program-transform | --program-transfor \
  526. !   | --program-transfo | --program-transf \
  527. !   | --program-trans | --program-tran \
  528. !   | --progr-tra | --program-tr | --program-t)
  529. !     ac_prev=program_transform_name ;;
  530. !   -program-transform-name=* | --program-transform-name=* \
  531. !   | --program-transform-nam=* | --program-transform-na=* \
  532. !   | --program-transform-n=* | --program-transform-=* \
  533. !   | --program-transform=* | --program-transfor=* \
  534. !   | --program-transfo=* | --program-transf=* \
  535. !   | --program-trans=* | --program-tran=* \
  536. !   | --progr-tra=* | --program-tr=* | --program-t=*)
  537. !     program_transform_name="$ac_optarg" ;;
  538. !   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  539. !   | -silent | --silent | --silen | --sile | --sil)
  540. !     silent=yes ;;
  541. !   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
  542. !     ac_prev=srcdir ;;
  543. !   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  544. !     srcdir="$ac_optarg" ;;
  545. !   -target | --target | --targe | --targ | --tar | --ta | --t)
  546. !     ac_prev=target ;;
  547. !   -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
  548. !     target="$ac_optarg" ;;
  549. !   -v | -verbose | --verbose | --verbos | --verbo | --verb)
  550. !     verbose=yes ;;
  551. !   -version | --version | --versio | --versi | --vers)
  552. !     /bin/echo "configure generated by autoconf version 1.9"
  553. !     exit 0 ;;
  554. !   -with-* | --with-*)
  555. !     ac_package=`/bin/echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
  556. !     # Reject names that aren't valid shell variable names.
  557. !     if test -n "`/bin/echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
  558. !       /bin/echo "configure: $ac_package: invalid package name" >&2; exit 1
  559. !     fi
  560. !     ac_package=`/bin/echo $ac_package| sed 's/-/_/g'`
  561. !     case "$ac_option" in
  562. !       *=*) ;;
  563. !       *) ac_optarg=yes ;;
  564. !     esac
  565. !     eval "with_${ac_package}='$ac_optarg'" ;;
  566. !   -without-* | --without-*)
  567. !     ac_package=`/bin/echo $ac_option|sed -e 's/-*without-//'`
  568. !     # Reject names that aren't valid shell variable names.
  569. !     if test -n "`/bin/echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
  570. !       /bin/echo "configure: $ac_package: invalid package name" >&2; exit 1
  571. !     fi
  572. !     ac_package=`/bin/echo $ac_package| sed 's/-/_/g'`
  573. !     eval "with_${ac_package}=no" ;;
  574. !   --x) with_x=yes ;; # Obsolete; use --with-x.
  575. !   -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
  576. !   | --x-incl | --x-inc | --x-in | --x-i)
  577. !     ac_prev=x_includes ;;
  578. !   -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
  579. !   | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
  580. !     x_includes="$ac_optarg" ;;
  581. !   -x-libraries | --x-libraries | --x-librarie | --x-librari \
  582. !   | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
  583. !     ac_prev=x_libraries ;;
  584. !   -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
  585. !   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
  586. !     x_libraries="$ac_optarg" ;;
  587. !   -*) /bin/echo "configure: $ac_option: invalid option; use --help to show usage" >&2; exit 1
  588. !     ;;
  589. !   *) 
  590. !     if test -n "`/bin/echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
  591. !       /bin/echo "configure: warning: $ac_option: invalid host type" >&2
  592. !     fi
  593. !     if test "x$nonopt" != xNONE; then
  594. !       /bin/echo "configure: can only configure for one host and one target at a time" >&2; exit 1
  595. !     fi
  596. !     nonopt="$ac_option"
  597. !     ;;
  598. !   esac
  599.   done
  600.   
  601. ! if test -n "$ac_prev"; then
  602. !   /bin/echo "configure: missing argument to --`/bin/echo $ac_prev | sed 's/_/-/g'`" >&2; exit 1
  603. ! fi
  604. ! trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
  605. ! trap 'rm -fr confdefs* $ac_clean_files' 0
  606. ! # Save the original args if we used an alternate arg parser.
  607. ! ac_configure_temp="${configure_args-$*}"
  608. ! # Strip out --no-create and --norecursion so they don't pile up.
  609. ! configure_args=
  610. ! for ac_arg in $ac_configure_temp; do
  611. !   case "$ac_arg" in
  612. !   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  613. !   | --no-cr | --no-c) ;;
  614. !   -norecursion | --norecursion | --norecursio | --norecursi \
  615. !   | --norecurs | --norecur | --norecu | --norec | --nore | --nor) ;;
  616. !   *) configure_args="$configure_args $ac_arg" ;;
  617. !   esac
  618. ! done
  619.   
  620.   # NLS nuisances.
  621.   # These must not be set unconditionally because not all systems understand
  622.   # e.g. LANG=C (notably SCO).
  623. ! if test "${LC_ALL+set}" = 'set'; then LC_ALL=C; export LC_ALL; fi
  624. ! if test "${LANG+set}"   = 'set'; then LANG=C;   export LANG;   fi
  625.   
  626. ! # confdefs.h avoids OS command line length limits that DEFS can exceed.
  627. ! rm -rf conftest* confdefs.h
  628.   # AIX cpp loses on an empty file, so make sure it contains at least a newline.
  629. ! /bin/echo > confdefs.h
  630.   
  631.   # A filename unique to this package, relative to the directory that
  632.   # configure is in, which we can look for to find out if srcdir is correct.
  633. ! ac_unique_file=groff/groff.cc
  634.   
  635.   # Find the source files, if location was not specified.
  636.   if test -z "$srcdir"; then
  637. !   ac_srcdir_defaulted=yes
  638.     # Try the directory containing this script, then `..'.
  639. !   ac_prog=$0
  640. !   ac_confdir=`/bin/echo $ac_prog|sed 's%/[^/][^/]*$%%'`
  641. !   test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
  642. !   srcdir=$ac_confdir
  643. !   if test ! -r $srcdir/$ac_unique_file; then
  644.       srcdir=..
  645.     fi
  646.   fi
  647. ! if test ! -r $srcdir/$ac_unique_file; then
  648. !   if test x$ac_srcdir_defaulted = xyes; then
  649. !     /bin/echo "configure: can not find sources in ${ac_confdir} or .." >&2; exit 1
  650.     else
  651. !     /bin/echo "configure: can not find sources in ${srcdir}" >&2; exit 1
  652.     fi
  653.   fi
  654. ! ac_ext=c
  655. ! ac_cpp='${CPP} $CFLAGS'
  656. ! ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS >/dev/null 2>&1'
  657.   
  658.   
  659.   if test -z "$prefix"
  660.   then
  661. !   test -n "$silent" || /bin/echo "checking for grops to derive installation directory prefix"
  662. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="$IFS:"
  663. !   for ac_dir in $PATH; do
  664. !     test -z "$ac_dir" && ac_dir=.
  665. !     if test $ac_dir != . && test -f $ac_dir/grops; then
  666.         # Not all systems have dirname.
  667. !       prefix=`/bin/echo $ac_dir|sed 's%/[^/][^/]*$%%'`
  668.         break
  669.       fi
  670.     done
  671. !   IFS="$ac_save_ifs"
  672. !   test -n "$verbose" && /bin/echo "    chose installation directory prefix ${prefix}"
  673.   fi
  674.   if test -z "$prefix"
  675.   then
  676. !   test -n "$silent" || /bin/echo "checking for gcc to derive installation directory prefix"
  677. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="$IFS:"
  678. !   for ac_dir in $PATH; do
  679. !     test -z "$ac_dir" && ac_dir=.
  680. !     if test $ac_dir != . && test -f $ac_dir/gcc; then
  681.         # Not all systems have dirname.
  682. !       prefix=`/bin/echo $ac_dir|sed 's%/[^/][^/]*$%%'`
  683.         break
  684.       fi
  685.     done
  686. !   IFS="$ac_save_ifs"
  687. !   test -n "$verbose" && /bin/echo "    chose installation directory prefix ${prefix}"
  688.   fi
  689.   
  690.   if test -z "$CC"; then
  691.     # Extract the first word of `gcc', so it can be a program name with args.
  692. !   set ac_dummy gcc; ac_word=$2
  693. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  694. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  695. !   for ac_dir in $PATH; do
  696. !     test -z "$ac_dir" && ac_dir=.
  697. !     if test -f $ac_dir/$ac_word; then
  698.         CC="gcc"
  699.         break
  700.       fi
  701.     done
  702. !   IFS="$ac_save_ifs"
  703.   fi
  704.   test -z "$CC" && CC="cc"
  705. ! test -n "$CC" && test -n "$verbose" && /bin/echo "    setting CC to $CC"
  706.   
  707.   # Find out if we are using GNU C, under whatever name.
  708.   cat > conftest.c <<EOF
  709. ***************
  710. *** 205,258 ****
  711.   fi
  712.   if test -z "$CCC"; then
  713.     # Extract the first word of `g++', so it can be a program name with args.
  714. !   set dummy g++; word=$2
  715. !   echo checking for $word
  716. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  717. !   for dir in $PATH; do
  718. !     test -z "$dir" && dir=.
  719. !     if test -f $dir/$word; then
  720.         CCC="g++"
  721.         break
  722.       fi
  723.     done
  724. !   IFS="$saveifs"
  725.   fi
  726.   
  727. ! test -n "$CCC" && test -n "$verbose" && echo "    setting CCC to $CCC"
  728.   
  729.   if test -z "$CCC"; then
  730.     # Extract the first word of `CC', so it can be a program name with args.
  731. !   set dummy CC; word=$2
  732. !   echo checking for $word
  733. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  734. !   for dir in $PATH; do
  735. !     test -z "$dir" && dir=.
  736. !     if test -f $dir/$word; then
  737.         CCC="CC"
  738.         break
  739.       fi
  740.     done
  741. !   IFS="$saveifs"
  742.   fi
  743.   
  744. ! test -n "$CCC" && test -n "$verbose" && echo "    setting CCC to $CCC"
  745.   
  746.   if test -z "$CCC"; then
  747.     # Extract the first word of `cc++', so it can be a program name with args.
  748. !   set dummy cc++; word=$2
  749. !   echo checking for $word
  750. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  751. !   for dir in $PATH; do
  752. !     test -z "$dir" && dir=.
  753. !     if test -f $dir/$word; then
  754.         CCC="cc++"
  755.         break
  756.       fi
  757.     done
  758. !   IFS="$saveifs"
  759.   fi
  760.   
  761. ! test -n "$CCC" && test -n "$verbose" && echo "    setting CCC to $CCC"
  762.   
  763.   if test -z "$CCC"; then
  764.   cat <<EOM
  765. --- 391,444 ----
  766.   fi
  767.   if test -z "$CCC"; then
  768.     # Extract the first word of `g++', so it can be a program name with args.
  769. !   set ac_dummy g++; ac_word=$2
  770. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  771. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  772. !   for ac_dir in $PATH; do
  773. !     test -z "$ac_dir" && ac_dir=.
  774. !     if test -f $ac_dir/$ac_word; then
  775.         CCC="g++"
  776.         break
  777.       fi
  778.     done
  779. !   IFS="$ac_save_ifs"
  780.   fi
  781.   
  782. ! test -n "$CCC" && test -n "$verbose" && /bin/echo "    setting CCC to $CCC"
  783.   
  784.   if test -z "$CCC"; then
  785.     # Extract the first word of `CC', so it can be a program name with args.
  786. !   set ac_dummy CC; ac_word=$2
  787. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  788. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  789. !   for ac_dir in $PATH; do
  790. !     test -z "$ac_dir" && ac_dir=.
  791. !     if test -f $ac_dir/$ac_word; then
  792.         CCC="CC"
  793.         break
  794.       fi
  795.     done
  796. !   IFS="$ac_save_ifs"
  797.   fi
  798.   
  799. ! test -n "$CCC" && test -n "$verbose" && /bin/echo "    setting CCC to $CCC"
  800.   
  801.   if test -z "$CCC"; then
  802.     # Extract the first word of `cc++', so it can be a program name with args.
  803. !   set ac_dummy cc++; ac_word=$2
  804. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  805. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  806. !   for ac_dir in $PATH; do
  807. !     test -z "$ac_dir" && ac_dir=.
  808. !     if test -f $ac_dir/$ac_word; then
  809.         CCC="cc++"
  810.         break
  811.       fi
  812.     done
  813. !   IFS="$ac_save_ifs"
  814.   fi
  815.   
  816. ! test -n "$CCC" && test -n "$verbose" && /bin/echo "    setting CCC to $CCC"
  817.   
  818.   if test -z "$CCC"; then
  819.   cat <<EOM
  820. ***************
  821. *** 328,373 ****
  822.   rm -f conftest*
  823.   if test -z "$PSPRINT"
  824.   then
  825. !     for p in lpr
  826.   do
  827.   if test -z "$LPR"; then
  828. !   # Extract the first word of `$p', so it can be a program name with args.
  829. !   set dummy $p; word=$2
  830. !   echo checking for $word
  831. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  832. !   for dir in $PATH; do
  833. !     test -z "$dir" && dir=.
  834. !     if test -f $dir/$word; then
  835. !       LPR="$p"
  836.         break
  837.       fi
  838.     done
  839. !   IFS="$saveifs"
  840.   fi
  841.   
  842. ! test -n "$LPR" && test -n "$verbose" && echo "    setting LPR to $LPR"
  843.   
  844.   test -n "$LPR" && break
  845.   done
  846.   
  847. !     for p in lp
  848.   do
  849.   if test -z "$LP"; then
  850. !   # Extract the first word of `$p', so it can be a program name with args.
  851. !   set dummy $p; word=$2
  852. !   echo checking for $word
  853. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  854. !   for dir in $PATH; do
  855. !     test -z "$dir" && dir=.
  856. !     if test -f $dir/$word; then
  857. !       LP="$p"
  858.         break
  859.       fi
  860.     done
  861. !   IFS="$saveifs"
  862.   fi
  863.   
  864. ! test -n "$LP" && test -n "$verbose" && echo "    setting LP to $LP"
  865.   
  866.   test -n "$LP" && break
  867.   done
  868. --- 514,559 ----
  869.   rm -f conftest*
  870.   if test -z "$PSPRINT"
  871.   then
  872. !     for ac_prog in lpr
  873.   do
  874.   if test -z "$LPR"; then
  875. !   # Extract the first word of `$ac_prog', so it can be a program name with args.
  876. !   set ac_dummy $ac_prog; ac_word=$2
  877. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  878. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  879. !   for ac_dir in $PATH; do
  880. !     test -z "$ac_dir" && ac_dir=.
  881. !     if test -f $ac_dir/$ac_word; then
  882. !       LPR="$ac_prog"
  883.         break
  884.       fi
  885.     done
  886. !   IFS="$ac_save_ifs"
  887.   fi
  888.   
  889. ! test -n "$LPR" && test -n "$verbose" && /bin/echo "    setting LPR to $LPR"
  890.   
  891.   test -n "$LPR" && break
  892.   done
  893.   
  894. !     for ac_prog in lp
  895.   do
  896.   if test -z "$LP"; then
  897. !   # Extract the first word of `$ac_prog', so it can be a program name with args.
  898. !   set ac_dummy $ac_prog; ac_word=$2
  899. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  900. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  901. !   for ac_dir in $PATH; do
  902. !     test -z "$ac_dir" && ac_dir=.
  903. !     if test -f $ac_dir/$ac_word; then
  904. !       LP="$ac_prog"
  905.         break
  906.       fi
  907.     done
  908. !   IFS="$ac_save_ifs"
  909.   fi
  910.   
  911. ! test -n "$LP" && test -n "$verbose" && /bin/echo "    setting LP to $LP"
  912.   
  913.   test -n "$LP" && break
  914.   done
  915. ***************
  916. *** 377,400 ****
  917.           # HP-UX provides an lpr command that emulates lpr using lp,
  918.           # but it doesn't have lpq; in this case we want to use lp
  919.           # rather than lpr.
  920. !         for p in lpq
  921.   do
  922.   if test -z "$LPQ"; then
  923. !   # Extract the first word of `$p', so it can be a program name with args.
  924. !   set dummy $p; word=$2
  925. !   echo checking for $word
  926. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  927. !   for dir in $PATH; do
  928. !     test -z "$dir" && dir=.
  929. !     if test -f $dir/$word; then
  930. !       LPQ="$p"
  931.         break
  932.       fi
  933.     done
  934. !   IFS="$saveifs"
  935.   fi
  936.   
  937. ! test -n "$LPQ" && test -n "$verbose" && echo "    setting LPQ to $LPQ"
  938.   
  939.   test -n "$LPQ" && break
  940.   done
  941. --- 563,586 ----
  942.           # HP-UX provides an lpr command that emulates lpr using lp,
  943.           # but it doesn't have lpq; in this case we want to use lp
  944.           # rather than lpr.
  945. !         for ac_prog in lpq
  946.   do
  947.   if test -z "$LPQ"; then
  948. !   # Extract the first word of `$ac_prog', so it can be a program name with args.
  949. !   set ac_dummy $ac_prog; ac_word=$2
  950. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  951. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  952. !   for ac_dir in $PATH; do
  953. !     test -z "$ac_dir" && ac_dir=.
  954. !     if test -f $ac_dir/$ac_word; then
  955. !       LPQ="$ac_prog"
  956.         break
  957.       fi
  958.     done
  959. !   IFS="$ac_save_ifs"
  960.   fi
  961.   
  962. ! test -n "$LPQ" && test -n "$verbose" && /bin/echo "    setting LPQ to $LPQ"
  963.   
  964.   test -n "$LPQ" && break
  965.   done
  966. ***************
  967. *** 435,534 ****
  968.   
  969.   if test -z "$YACC"; then
  970.     # Extract the first word of `byacc', so it can be a program name with args.
  971. !   set dummy byacc; word=$2
  972. !   echo checking for $word
  973. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  974. !   for dir in $PATH; do
  975. !     test -z "$dir" && dir=.
  976. !     if test -f $dir/$word; then
  977.         YACC="byacc"
  978.         break
  979.       fi
  980.     done
  981. !   IFS="$saveifs"
  982.   fi
  983.   
  984. ! test -n "$YACC" && test -n "$verbose" && echo "    setting YACC to $YACC"
  985.   
  986.   if test -z "$YACC"; then
  987.     # Extract the first word of `bison', so it can be a program name with args.
  988. !   set dummy bison; word=$2
  989. !   echo checking for $word
  990. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  991. !   for dir in $PATH; do
  992. !     test -z "$dir" && dir=.
  993. !     if test -f $dir/$word; then
  994.         YACC="bison -y"
  995.         break
  996.       fi
  997.     done
  998. !   IFS="$saveifs"
  999.   fi
  1000.   test -z "$YACC" && YACC="yacc"
  1001. ! test -n "$YACC" && test -n "$verbose" && echo "    setting YACC to $YACC"
  1002.   
  1003.   
  1004.   if test -z "$RANLIB"; then
  1005.     # Extract the first word of `ranlib', so it can be a program name with args.
  1006. !   set dummy ranlib; word=$2
  1007. !   echo checking for $word
  1008. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  1009. !   for dir in $PATH; do
  1010. !     test -z "$dir" && dir=.
  1011. !     if test -f $dir/$word; then
  1012.         RANLIB="ranlib"
  1013.         break
  1014.       fi
  1015.     done
  1016. !   IFS="$saveifs"
  1017.   fi
  1018.   test -z "$RANLIB" && RANLIB=":"
  1019. ! test -n "$RANLIB" && test -n "$verbose" && echo "    setting RANLIB to $RANLIB"
  1020.   
  1021.   # Make sure to not get the incompatible SysV /etc/install and
  1022.   # /usr/sbin/install, which might be in PATH before a BSD-like install,
  1023.   # or the SunOS /usr/etc/install directory, or the AIX /bin/install,
  1024.   # or the AFS install, which mishandles nonexistent args, or
  1025.   # /usr/ucb/install on SVR4, which tries to use the nonexistent group
  1026. ! # `staff'.  On most BSDish systems install is in /usr/bin, not /usr/ucb
  1027. ! # anyway.  Sigh.
  1028.   if test "z${INSTALL}" = "z" ; then
  1029. !   echo checking for install
  1030. !   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  1031. !   for dir in $PATH; do
  1032. !     test -z "$dir" && dir=.
  1033. !     case $dir in
  1034. !     /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
  1035.       *)
  1036. !       if test -f $dir/installbsd; then
  1037. !     INSTALL="$dir/installbsd -c" # OSF1
  1038. !     INSTALL_PROGRAM='$(INSTALL)'
  1039. !     INSTALL_DATA='$(INSTALL) -m 644'
  1040. !     break
  1041. !       fi
  1042. !       if test -f $dir/install; then
  1043. !     if grep dspmsg $dir/install >/dev/null 2>&1; then
  1044. !       : # AIX
  1045. !     else
  1046. !       INSTALL="$dir/install -c"
  1047. !       INSTALL_PROGRAM='$(INSTALL)'
  1048. !       INSTALL_DATA='$(INSTALL) -m 644'
  1049. !       break
  1050.       fi
  1051. !       fi
  1052.         ;;
  1053.       esac
  1054.     done
  1055. !   IFS="$saveifs"
  1056.   fi
  1057. ! INSTALL=${INSTALL-cp}
  1058. ! test -n "$verbose" && echo "    setting INSTALL to $INSTALL"
  1059. ! INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
  1060. ! test -n "$verbose" && echo "    setting INSTALL_PROGRAM to $INSTALL_PROGRAM"
  1061. ! INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
  1062. ! test -n "$verbose" && echo "    setting INSTALL_DATA to $INSTALL_DATA"
  1063.   
  1064. ! echo checking for ln -s
  1065.   rm -f conftestdata
  1066.   if ln -s X conftestdata 2>/dev/null
  1067.   then
  1068. --- 621,738 ----
  1069.   
  1070.   if test -z "$YACC"; then
  1071.     # Extract the first word of `byacc', so it can be a program name with args.
  1072. !   set ac_dummy byacc; ac_word=$2
  1073. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  1074. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1075. !   for ac_dir in $PATH; do
  1076. !     test -z "$ac_dir" && ac_dir=.
  1077. !     if test -f $ac_dir/$ac_word; then
  1078.         YACC="byacc"
  1079.         break
  1080.       fi
  1081.     done
  1082. !   IFS="$ac_save_ifs"
  1083.   fi
  1084.   
  1085. ! test -n "$YACC" && test -n "$verbose" && /bin/echo "    setting YACC to $YACC"
  1086.   
  1087.   if test -z "$YACC"; then
  1088.     # Extract the first word of `bison', so it can be a program name with args.
  1089. !   set ac_dummy bison; ac_word=$2
  1090. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  1091. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1092. !   for ac_dir in $PATH; do
  1093. !     test -z "$ac_dir" && ac_dir=.
  1094. !     if test -f $ac_dir/$ac_word; then
  1095.         YACC="bison -y"
  1096.         break
  1097.       fi
  1098.     done
  1099. !   IFS="$ac_save_ifs"
  1100.   fi
  1101.   test -z "$YACC" && YACC="yacc"
  1102. ! test -n "$YACC" && test -n "$verbose" && /bin/echo "    setting YACC to $YACC"
  1103.   
  1104.   
  1105.   if test -z "$RANLIB"; then
  1106.     # Extract the first word of `ranlib', so it can be a program name with args.
  1107. !   set ac_dummy ranlib; ac_word=$2
  1108. !   test -n "$silent" || /bin/echo "checking for $ac_word"
  1109. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1110. !   for ac_dir in $PATH; do
  1111. !     test -z "$ac_dir" && ac_dir=.
  1112. !     if test -f $ac_dir/$ac_word; then
  1113.         RANLIB="ranlib"
  1114.         break
  1115.       fi
  1116.     done
  1117. !   IFS="$ac_save_ifs"
  1118.   fi
  1119.   test -z "$RANLIB" && RANLIB=":"
  1120. ! test -n "$RANLIB" && test -n "$verbose" && /bin/echo "    setting RANLIB to $RANLIB"
  1121.   
  1122.   # Make sure to not get the incompatible SysV /etc/install and
  1123.   # /usr/sbin/install, which might be in PATH before a BSD-like install,
  1124.   # or the SunOS /usr/etc/install directory, or the AIX /bin/install,
  1125.   # or the AFS install, which mishandles nonexistent args, or
  1126.   # /usr/ucb/install on SVR4, which tries to use the nonexistent group
  1127. ! # `staff', or /sbin/install on IRIX which has incompatible command-line
  1128. ! # syntax.  Sigh.
  1129. ! #
  1130. ! #     On most BSDish systems install is in /usr/bin, not /usr/ucb
  1131. ! #     anyway.
  1132. ! # This turns out not to be true, so the mere pathname isn't an indication
  1133. ! # of whether the program works.  What we really need is a set of tests for
  1134. ! # the install program to see if it actually works in all the required ways.
  1135. ! #
  1136. ! # Avoid using ./install, which might have been erroneously created
  1137. ! # by make from ./install.sh.
  1138.   if test "z${INSTALL}" = "z" ; then
  1139. !   test -n "$silent" || /bin/echo "checking for a BSD compatible install"
  1140. !   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1141. !   for ac_dir in $PATH; do
  1142. !     case "$ac_dir" in
  1143. !     ''|.|/gnu/etc|/sbin|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
  1144.       *)
  1145. !       # OSF1 and SCO ODT 3.0 have their own names for install.
  1146. !       for ac_prog in installbsd scoinst install; do
  1147. !         if test -f $ac_dir/$ac_prog; then
  1148. !       if test $ac_prog = install &&
  1149. !             grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  1150. !         # AIX install.  It has an incompatible calling convention.
  1151. !         # OSF/1 installbsd also uses dspmsg, but is usable.
  1152. !         :
  1153. !       else
  1154. !         INSTALL="$ac_dir/$ac_prog -c"
  1155. !         INSTALL_PROGRAM='${INSTALL}'
  1156. !         INSTALL_DATA='${INSTALL} -m 644'
  1157. !         break 2
  1158. !       fi
  1159.       fi
  1160. !       done
  1161.         ;;
  1162.       esac
  1163.     done
  1164. !   IFS="$ac_save_ifs"
  1165. ! fi
  1166. ! if test -z "$INSTALL"; then
  1167. !   if test -f ${srcdir}/install.sh; then
  1168. !     # As a last resort, use the slow shell script.
  1169. !     INSTALL='@top_srcdir@/install.sh -c'
  1170. !   else
  1171. !     /bin/echo "configure: warning: ${srcdir}/install.sh not found; using cp" >&2
  1172. !     INSTALL=cp
  1173. !   fi
  1174.   fi
  1175. ! test -n "$verbose" && /bin/echo "    setting INSTALL to $INSTALL"
  1176. ! # Use test -z because SunOS4 sh mishandles ${INSTALL_PROGRAM-'${INSTALL}'}.
  1177. ! # It thinks the first close brace ends the variable substitution.
  1178. ! test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
  1179. ! test -n "$verbose" && /bin/echo "    setting INSTALL_PROGRAM to $INSTALL_PROGRAM"
  1180. ! test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL}'
  1181. ! test -n "$verbose" && /bin/echo "    setting INSTALL_DATA to $INSTALL_DATA"
  1182.   
  1183. ! test -n "$silent" || /bin/echo "checking for ln -s"
  1184.   rm -f conftestdata
  1185.   if ln -s X conftestdata 2>/dev/null
  1186.   then
  1187. ***************
  1188. *** 566,588 ****
  1189.   rm -f conftest.sh
  1190.   
  1191.   
  1192. ! for hdr in unistd.h dirent.h limits.h sys/dir.h stdlib.h
  1193. ! do
  1194. ! trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
  1195. ! echo checking for ${hdr}
  1196. ! echo checking how to run the C preprocessor
  1197.   if test -z "$CPP"; then
  1198.     # This must be in double quotes, not single quotes, because CPP may get
  1199.     # substituted into the Makefile and ``${CC-cc}'' will simply confuse
  1200.     # make.  It must be expanded now.
  1201.     CPP="${CC-cc} -E"
  1202. !   cat > conftest.c <<EOF
  1203.   #include "confdefs.h"
  1204.   #include <stdio.h>
  1205.   Syntax Error
  1206.   EOF
  1207. ! err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
  1208. ! if test -z "$err"; then
  1209.     :
  1210.   else
  1211.     rm -rf conftest*
  1212. --- 770,803 ----
  1213.   rm -f conftest.sh
  1214.   
  1215.   
  1216. ! test -n "$silent" || /bin/echo "checking how to run the C preprocessor"
  1217.   if test -z "$CPP"; then
  1218.     # This must be in double quotes, not single quotes, because CPP may get
  1219.     # substituted into the Makefile and ``${CC-cc}'' will simply confuse
  1220.     # make.  It must be expanded now.
  1221.     CPP="${CC-cc} -E"
  1222. !   cat > conftest.${ac_ext} <<EOF
  1223. ! #include "confdefs.h"
  1224. ! #include <stdio.h>
  1225. ! Syntax Error
  1226. ! EOF
  1227. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1228. ! # the parens.
  1229. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1230. ! if test -z "$ac_err"; then
  1231. !   :
  1232. ! else
  1233. !   rm -rf conftest*
  1234. !   CPP="${CC-cc} -E -traditional-cpp"
  1235. !   cat > conftest.${ac_ext} <<EOF
  1236.   #include "confdefs.h"
  1237.   #include <stdio.h>
  1238.   Syntax Error
  1239.   EOF
  1240. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1241. ! # the parens.
  1242. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1243. ! if test -z "$ac_err"; then
  1244.     :
  1245.   else
  1246.     rm -rf conftest*
  1247. ***************
  1248. *** 590,610 ****
  1249.   fi
  1250.   rm -f conftest*
  1251.   fi
  1252. ! test ".${verbose}" != "." && echo "    setting CPP to $CPP"
  1253.   
  1254. ! cat > conftest.c <<EOF
  1255.   #include "confdefs.h"
  1256. ! #include <${hdr}>
  1257.   EOF
  1258. ! err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
  1259. ! if test -z "$err"; then
  1260.     rm -rf conftest*
  1261.     
  1262.   {
  1263.   test -n "$verbose" && \
  1264. ! echo "    defining ${trhdr}"
  1265. ! echo "#define" ${trhdr} 1 >> confdefs.h
  1266. ! DEFS="$DEFS -D${trhdr}=1"
  1267.   }
  1268.   
  1269.   
  1270. --- 805,833 ----
  1271.   fi
  1272.   rm -f conftest*
  1273.   fi
  1274. ! rm -f conftest*
  1275. ! fi
  1276. ! test -n "$verbose" && /bin/echo "    setting CPP to $CPP"
  1277.   
  1278. ! for ac_hdr in unistd.h dirent.h limits.h sys/dir.h stdlib.h
  1279. ! do
  1280. ! ac_tr_hdr=HAVE_`/bin/echo $ac_hdr | tr '[a-z]./' '[A-Z]__'`
  1281. ! test -n "$silent" || /bin/echo "checking for ${ac_hdr}"
  1282. ! cat > conftest.${ac_ext} <<EOF
  1283.   #include "confdefs.h"
  1284. ! #include <${ac_hdr}>
  1285.   EOF
  1286. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1287. ! # the parens.
  1288. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1289. ! if test -z "$ac_err"; then
  1290.     rm -rf conftest*
  1291.     
  1292.   {
  1293.   test -n "$verbose" && \
  1294. ! /bin/echo "    defining ${ac_tr_hdr}"
  1295. ! /bin/echo "#define" ${ac_tr_hdr} "1" >> confdefs.h
  1296. ! DEFS="$DEFS -D${ac_tr_hdr}=1"
  1297.   }
  1298.   
  1299.   
  1300. ***************
  1301. *** 613,625 ****
  1302.   done
  1303.   
  1304.   echo 'checking for ISC 3.x or 4.x'
  1305. ! if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  1306.   then
  1307.       
  1308.   {
  1309.   test -n "$verbose" && \
  1310. ! echo "    defining _SYSV3"
  1311. ! echo "#define" _SYSV3 1 >> confdefs.h
  1312.   DEFS="$DEFS -D_SYSV3=1"
  1313.   }
  1314.   
  1315. --- 836,848 ----
  1316.   done
  1317.   
  1318.   echo 'checking for ISC 3.x or 4.x'
  1319. ! if true || grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
  1320.   then
  1321.       
  1322.   {
  1323.   test -n "$verbose" && \
  1324. ! /bin/echo "    defining _SYSV3"
  1325. ! /bin/echo "#define" _SYSV3 "1" >> confdefs.h
  1326.   DEFS="$DEFS -D_SYSV3=1"
  1327.   }
  1328.   
  1329. ***************
  1330. *** 635,642 ****
  1331.     
  1332.   {
  1333.   test -n "$verbose" && \
  1334. ! echo "    defining _POSIX_SOURCE"
  1335. ! echo "#define" _POSIX_SOURCE 1 >> confdefs.h
  1336.   DEFS="$DEFS -D_POSIX_SOURCE=1"
  1337.   }
  1338.   
  1339. --- 858,865 ----
  1340.     
  1341.   {
  1342.   test -n "$verbose" && \
  1343. ! /bin/echo "    defining _POSIX_SOURCE"
  1344. ! /bin/echo "#define" _POSIX_SOURCE "1" >> confdefs.h
  1345.   DEFS="$DEFS -D_POSIX_SOURCE=1"
  1346.   }
  1347.   
  1348. ***************
  1349. *** 651,658 ****
  1350.     
  1351.   {
  1352.   test -n "$verbose" && \
  1353. ! echo "    defining HAVE_CC_LIMITS_H"
  1354. ! echo "#define" HAVE_CC_LIMITS_H 1 >> confdefs.h
  1355.   DEFS="$DEFS -DHAVE_CC_LIMITS_H=1"
  1356.   }
  1357.   
  1358. --- 874,881 ----
  1359.     
  1360.   {
  1361.   test -n "$verbose" && \
  1362. ! /bin/echo "    defining HAVE_CC_LIMITS_H"
  1363. ! /bin/echo "#define" HAVE_CC_LIMITS_H "1" >> confdefs.h
  1364.   DEFS="$DEFS -DHAVE_CC_LIMITS_H=1"
  1365.   }
  1366.   
  1367. ***************
  1368. *** 667,674 ****
  1369.     
  1370.   {
  1371.   test -n "$verbose" && \
  1372. ! echo "    defining HAVE_CC_OSFCN_H"
  1373. ! echo "#define" HAVE_CC_OSFCN_H 1 >> confdefs.h
  1374.   DEFS="$DEFS -DHAVE_CC_OSFCN_H=1"
  1375.   }
  1376.   
  1377. --- 890,897 ----
  1378.     
  1379.   {
  1380.   test -n "$verbose" && \
  1381. ! /bin/echo "    defining HAVE_CC_OSFCN_H"
  1382. ! /bin/echo "#define" HAVE_CC_OSFCN_H "1" >> confdefs.h
  1383.   DEFS="$DEFS -DHAVE_CC_OSFCN_H=1"
  1384.   }
  1385.   
  1386. ***************
  1387. *** 686,693 ****
  1388.     
  1389.   {
  1390.   test -n "$verbose" && \
  1391. ! echo "    defining STDLIB_H_DECLARES_GETOPT"
  1392. ! echo "#define" STDLIB_H_DECLARES_GETOPT 1 >> confdefs.h
  1393.   DEFS="$DEFS -DSTDLIB_H_DECLARES_GETOPT=1"
  1394.   }
  1395.   
  1396. --- 909,916 ----
  1397.     
  1398.   {
  1399.   test -n "$verbose" && \
  1400. ! /bin/echo "    defining STDLIB_H_DECLARES_GETOPT"
  1401. ! /bin/echo "#define" STDLIB_H_DECLARES_GETOPT "1" >> confdefs.h
  1402.   DEFS="$DEFS -DSTDLIB_H_DECLARES_GETOPT=1"
  1403.   }
  1404.   
  1405. ***************
  1406. *** 706,713 ****
  1407.     
  1408.   {
  1409.   test -n "$verbose" && \
  1410. ! echo "    defining UNISTD_H_DECLARES_GETOPT"
  1411. ! echo "#define" UNISTD_H_DECLARES_GETOPT 1 >> confdefs.h
  1412.   DEFS="$DEFS -DUNISTD_H_DECLARES_GETOPT=1"
  1413.   }
  1414.   
  1415. --- 929,936 ----
  1416.     
  1417.   {
  1418.   test -n "$verbose" && \
  1419. ! /bin/echo "    defining UNISTD_H_DECLARES_GETOPT"
  1420. ! /bin/echo "#define" UNISTD_H_DECLARES_GETOPT "1" >> confdefs.h
  1421.   DEFS="$DEFS -DUNISTD_H_DECLARES_GETOPT=1"
  1422.   }
  1423.   
  1424. ***************
  1425. *** 726,733 ****
  1426.     
  1427.   {
  1428.   test -n "$verbose" && \
  1429. ! echo "    defining STDLIB_H_DECLARES_PUTENV"
  1430. ! echo "#define" STDLIB_H_DECLARES_PUTENV 1 >> confdefs.h
  1431.   DEFS="$DEFS -DSTDLIB_H_DECLARES_PUTENV=1"
  1432.   }
  1433.   
  1434. --- 949,956 ----
  1435.     
  1436.   {
  1437.   test -n "$verbose" && \
  1438. ! /bin/echo "    defining STDLIB_H_DECLARES_PUTENV"
  1439. ! /bin/echo "#define" STDLIB_H_DECLARES_PUTENV "1" >> confdefs.h
  1440.   DEFS="$DEFS -DSTDLIB_H_DECLARES_PUTENV=1"
  1441.   }
  1442.   
  1443. ***************
  1444. *** 745,752 ****
  1445.     
  1446.   {
  1447.   test -n "$verbose" && \
  1448. ! echo "    defining STDIO_H_DECLARES_POPEN"
  1449. ! echo "#define" STDIO_H_DECLARES_POPEN 1 >> confdefs.h
  1450.   DEFS="$DEFS -DSTDIO_H_DECLARES_POPEN=1"
  1451.   }
  1452.   
  1453. --- 968,975 ----
  1454.     
  1455.   {
  1456.   test -n "$verbose" && \
  1457. ! /bin/echo "    defining STDIO_H_DECLARES_POPEN"
  1458. ! /bin/echo "#define" STDIO_H_DECLARES_POPEN "1" >> confdefs.h
  1459.   DEFS="$DEFS -DSTDIO_H_DECLARES_POPEN=1"
  1460.   }
  1461.   
  1462. ***************
  1463. *** 764,771 ****
  1464.     
  1465.   {
  1466.   test -n "$verbose" && \
  1467. ! echo "    defining STDIO_H_DECLARES_PCLOSE"
  1468. ! echo "#define" STDIO_H_DECLARES_PCLOSE 1 >> confdefs.h
  1469.   DEFS="$DEFS -DSTDIO_H_DECLARES_PCLOSE=1"
  1470.   }
  1471.   
  1472. --- 987,994 ----
  1473.     
  1474.   {
  1475.   test -n "$verbose" && \
  1476. ! /bin/echo "    defining STDIO_H_DECLARES_PCLOSE"
  1477. ! /bin/echo "#define" STDIO_H_DECLARES_PCLOSE "1" >> confdefs.h
  1478.   DEFS="$DEFS -DSTDIO_H_DECLARES_PCLOSE=1"
  1479.   }
  1480.   
  1481. ***************
  1482. *** 782,796 ****
  1483.     
  1484.   {
  1485.   test -n "$verbose" && \
  1486. ! echo "    defining LONG_FOR_TIME_T"
  1487. ! echo "#define" LONG_FOR_TIME_T 1 >> confdefs.h
  1488.   DEFS="$DEFS -DLONG_FOR_TIME_T=1"
  1489.   }
  1490.   
  1491.   fi
  1492.   rm -f conftest*
  1493. ! echo checking for return type of signal handlers
  1494. ! cat > conftest.c <<EOF
  1495.   #include "confdefs.h"
  1496.   #include <sys/types.h>
  1497.   #include <signal.h>
  1498. --- 1005,1019 ----
  1499.     
  1500.   {
  1501.   test -n "$verbose" && \
  1502. ! /bin/echo "    defining LONG_FOR_TIME_T"
  1503. ! /bin/echo "#define" LONG_FOR_TIME_T "1" >> confdefs.h
  1504.   DEFS="$DEFS -DLONG_FOR_TIME_T=1"
  1505.   }
  1506.   
  1507.   fi
  1508.   rm -f conftest*
  1509. ! test -n "$silent" || /bin/echo "checking for return type of signal handlers"
  1510. ! cat > conftest.${ac_ext} <<EOF
  1511.   #include "confdefs.h"
  1512.   #include <sys/types.h>
  1513.   #include <signal.h>
  1514. ***************
  1515. *** 798,813 ****
  1516.   #undef signal
  1517.   #endif
  1518.   extern void (*signal ()) ();
  1519. ! int main() { exit(0); }
  1520. ! int t() { int i; }
  1521.   EOF
  1522. ! if eval $compile; then
  1523.     rm -rf conftest*
  1524.     
  1525.   {
  1526.   test -n "$verbose" && \
  1527. ! echo "    defining" RETSIGTYPE to be void
  1528. ! echo "#define" RETSIGTYPE void >> confdefs.h
  1529.   DEFS="$DEFS -DRETSIGTYPE=void"
  1530.   }
  1531.   
  1532. --- 1021,1036 ----
  1533.   #undef signal
  1534.   #endif
  1535.   extern void (*signal ()) ();
  1536. ! int main() { return 0; }
  1537. ! int t() { int i;; return 0; }
  1538.   EOF
  1539. ! if eval $ac_compile; then
  1540.     rm -rf conftest*
  1541.     
  1542.   {
  1543.   test -n "$verbose" && \
  1544. ! /bin/echo "    defining" RETSIGTYPE to be "void"
  1545. ! /bin/echo "#define" RETSIGTYPE "void" >> confdefs.h
  1546.   DEFS="$DEFS -DRETSIGTYPE=void"
  1547.   }
  1548.   
  1549. ***************
  1550. *** 817,824 ****
  1551.     
  1552.   {
  1553.   test -n "$verbose" && \
  1554. ! echo "    defining" RETSIGTYPE to be int
  1555. ! echo "#define" RETSIGTYPE int >> confdefs.h
  1556.   DEFS="$DEFS -DRETSIGTYPE=int"
  1557.   }
  1558.   
  1559. --- 1040,1047 ----
  1560.     
  1561.   {
  1562.   test -n "$verbose" && \
  1563. ! /bin/echo "    defining" RETSIGTYPE to be "int"
  1564. ! /bin/echo "#define" RETSIGTYPE "int" >> confdefs.h
  1565.   DEFS="$DEFS -DRETSIGTYPE=int"
  1566.   }
  1567.   
  1568. ***************
  1569. *** 826,845 ****
  1570.   rm -f conftest*
  1571.   
  1572.   
  1573. ! echo checking for struct exception
  1574. ! cat > conftest.c <<EOF
  1575.   #include "confdefs.h"
  1576.   #include <math.h>
  1577. ! int main() { exit(0); }
  1578. ! int t() { struct exception e; }
  1579.   EOF
  1580. ! if eval $compile; then
  1581.     rm -rf conftest*
  1582.     
  1583.   {
  1584.   test -n "$verbose" && \
  1585. ! echo "    defining HAVE_STRUCT_EXCEPTION"
  1586. ! echo "#define" HAVE_STRUCT_EXCEPTION 1 >> confdefs.h
  1587.   DEFS="$DEFS -DHAVE_STRUCT_EXCEPTION=1"
  1588.   }
  1589.   
  1590. --- 1049,1068 ----
  1591.   rm -f conftest*
  1592.   
  1593.   
  1594. ! test -n "$silent" || /bin/echo "checking for struct exception"
  1595. ! cat > conftest.${ac_ext} <<EOF
  1596.   #include "confdefs.h"
  1597.   #include <math.h>
  1598. ! int main() { return 0; }
  1599. ! int t() { struct exception e;; return 0; }
  1600.   EOF
  1601. ! if eval $ac_compile; then
  1602.     rm -rf conftest*
  1603.     
  1604.   {
  1605.   test -n "$verbose" && \
  1606. ! /bin/echo "    defining HAVE_STRUCT_EXCEPTION"
  1607. ! /bin/echo "#define" HAVE_STRUCT_EXCEPTION "1" >> confdefs.h
  1608.   DEFS="$DEFS -DHAVE_STRUCT_EXCEPTION=1"
  1609.   }
  1610.   
  1611. ***************
  1612. *** 847,867 ****
  1613.   fi
  1614.   rm -f conftest*
  1615.   
  1616. ! echo checking for mmap
  1617. ! cat > conftest.c <<EOF
  1618.   #include "confdefs.h"
  1619.   #include <sys/types.h>
  1620.   #include <sys/mman.h>
  1621. ! int main() { exit(0); }
  1622. ! int t() { char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0); }
  1623.   EOF
  1624. ! if eval $compile; then
  1625.     rm -rf conftest*
  1626.     
  1627.   {
  1628.   test -n "$verbose" && \
  1629. ! echo "    defining HAVE_MMAP"
  1630. ! echo "#define" HAVE_MMAP 1 >> confdefs.h
  1631.   DEFS="$DEFS -DHAVE_MMAP=1"
  1632.   }
  1633.   
  1634. --- 1070,1090 ----
  1635.   fi
  1636.   rm -f conftest*
  1637.   
  1638. ! test -n "$silent" || /bin/echo "checking for mmap"
  1639. ! cat > conftest.${ac_ext} <<EOF
  1640.   #include "confdefs.h"
  1641.   #include <sys/types.h>
  1642.   #include <sys/mman.h>
  1643. ! int main() { return 0; }
  1644. ! int t() { char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0);; return 0; }
  1645.   EOF
  1646. ! if eval $ac_compile; then
  1647.     rm -rf conftest*
  1648.     
  1649.   {
  1650.   test -n "$verbose" && \
  1651. ! /bin/echo "    defining HAVE_MMAP"
  1652. ! /bin/echo "#define" HAVE_MMAP "1" >> confdefs.h
  1653.   DEFS="$DEFS -DHAVE_MMAP=1"
  1654.   }
  1655.   
  1656. ***************
  1657. *** 869,878 ****
  1658.   fi
  1659.   rm -f conftest*
  1660.   
  1661. ! echo checking for pid_t in sys/types.h
  1662. ! echo '#include "confdefs.h"
  1663. ! #include <sys/types.h>' > conftest.c
  1664. ! eval "$CPP conftest.c > conftest.out 2>&1"
  1665.   if egrep "pid_t" conftest.out >/dev/null 2>&1; then
  1666.     :
  1667.   else
  1668. --- 1092,1101 ----
  1669.   fi
  1670.   rm -f conftest*
  1671.   
  1672. ! test -n "$silent" || /bin/echo "checking for pid_t in sys/types.h"
  1673. ! /bin/echo '#include "confdefs.h"
  1674. ! #include <sys/types.h>' > conftest.${ac_ext}
  1675. ! eval "$ac_cpp conftest.${ac_ext} > conftest.out 2>&1"
  1676.   if egrep "pid_t" conftest.out >/dev/null 2>&1; then
  1677.     :
  1678.   else
  1679. ***************
  1680. *** 880,906 ****
  1681.     
  1682.   {
  1683.   test -n "$verbose" && \
  1684. ! echo "    defining" pid_t to be int
  1685. ! echo "#define" pid_t int >> confdefs.h
  1686.   DEFS="$DEFS -Dpid_t=int"
  1687.   }
  1688.   
  1689.   fi
  1690.   rm -f conftest*
  1691.   
  1692. ! echo checking for vfork.h
  1693. ! cat > conftest.c <<EOF
  1694.   #include "confdefs.h"
  1695.   #include <vfork.h>
  1696.   EOF
  1697. ! err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
  1698. ! if test -z "$err"; then
  1699.     rm -rf conftest*
  1700.     
  1701.   {
  1702.   test -n "$verbose" && \
  1703. ! echo "    defining HAVE_VFORK_H"
  1704. ! echo "#define" HAVE_VFORK_H 1 >> confdefs.h
  1705.   DEFS="$DEFS -DHAVE_VFORK_H=1"
  1706.   }
  1707.   
  1708. --- 1103,1131 ----
  1709.     
  1710.   {
  1711.   test -n "$verbose" && \
  1712. ! /bin/echo "    defining" pid_t to be "int"
  1713. ! /bin/echo "#define" pid_t "int" >> confdefs.h
  1714.   DEFS="$DEFS -Dpid_t=int"
  1715.   }
  1716.   
  1717.   fi
  1718.   rm -f conftest*
  1719.   
  1720. ! test -n "$silent" || /bin/echo "checking for vfork.h"
  1721. ! cat > conftest.${ac_ext} <<EOF
  1722.   #include "confdefs.h"
  1723.   #include <vfork.h>
  1724.   EOF
  1725. ! # Some shells (Coherent) do redirections in the wrong order, so need
  1726. ! # the parens.
  1727. ! ac_err=`eval "($ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"`
  1728. ! if test -z "$ac_err"; then
  1729.     rm -rf conftest*
  1730.     
  1731.   {
  1732.   test -n "$verbose" && \
  1733. ! /bin/echo "    defining HAVE_VFORK_H"
  1734. ! /bin/echo "#define" HAVE_VFORK_H "1" >> confdefs.h
  1735.   DEFS="$DEFS -DHAVE_VFORK_H=1"
  1736.   }
  1737.   
  1738. ***************
  1739. *** 908,916 ****
  1740.   fi
  1741.   rm -f conftest*
  1742.   
  1743. ! echo checking for working vfork
  1744.   
  1745. ! cat > conftest.c <<EOF
  1746.   #include "confdefs.h"
  1747.   /* Thanks to Paul Eggert for this test.  */
  1748.   #include <stdio.h>
  1749. --- 1133,1141 ----
  1750.   fi
  1751.   rm -f conftest*
  1752.   
  1753. ! test -n "$silent" || /bin/echo "checking for working vfork"
  1754.   
  1755. ! cat > conftest.${ac_ext} <<EOF
  1756.   #include "confdefs.h"
  1757.   /* Thanks to Paul Eggert for this test.  */
  1758.   #include <stdio.h>
  1759. ***************
  1760. *** 929,934 ****
  1761. --- 1154,1164 ----
  1762.     pid_t parent = getpid ();
  1763.     pid_t child;
  1764.   
  1765. + #ifdef __amigados__
  1766. +   /* Force this test to succeed for AmigaDOS, which has a fairly good
  1767. +      vfork() emulation, but doesn't support fork() at all.  -fnf */
  1768. +   exit (0);
  1769. + #endif
  1770.     signal (SIGINT, catch);
  1771.   
  1772.     child = vfork ();
  1773. ***************
  1774. *** 994,1008 ****
  1775.     }
  1776.   }
  1777.   EOF
  1778. ! eval $compile
  1779.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  1780.     :
  1781.   else
  1782.     
  1783.   {
  1784.   test -n "$verbose" && \
  1785. ! echo "    defining" vfork to be fork
  1786. ! echo "#define" vfork fork >> confdefs.h
  1787.   DEFS="$DEFS -Dvfork=fork"
  1788.   }
  1789.   
  1790. --- 1224,1238 ----
  1791.     }
  1792.   }
  1793.   EOF
  1794. ! eval $ac_compile
  1795.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  1796.     :
  1797.   else
  1798.     
  1799.   {
  1800.   test -n "$verbose" && \
  1801. ! /bin/echo "    defining" vfork to be "fork"
  1802. ! /bin/echo "#define" vfork "fork" >> confdefs.h
  1803.   DEFS="$DEFS -Dvfork=fork"
  1804.   }
  1805.   
  1806. ***************
  1807. *** 1011,1074 ****
  1808.   
  1809.   saved_libs="$LIBS"
  1810.   LIBS="$LIBS -lm"
  1811. ! for func in fmod strtol getcwd strerror putenv
  1812.   do
  1813. ! echo checking for ${func}
  1814. ! cat > conftest.c <<EOF
  1815.   #include "confdefs.h"
  1816.   #include <ctype.h>
  1817. ! int main() { exit(0); }
  1818.   int t() { 
  1819.   /* The GNU C library defines this for functions which it implements
  1820.       to always fail with ENOSYS.  Some functions are actually named
  1821.       something starting with __ and the normal name is an alias.  */
  1822. ! #if defined (__stub_${func}) || defined (__stub___${func})
  1823.   choke me
  1824.   #else
  1825.   /* Override any gcc2 internal prototype to avoid an error.  */
  1826. ! extern char ${func}(); ${func}();
  1827.   #endif
  1828. !  }
  1829.   EOF
  1830. ! if eval $compile; then
  1831.     :
  1832.   else
  1833.     rm -rf conftest*
  1834. !   LIBOBJS="$LIBOBJS ${func}.o"
  1835. ! test -n "$verbose" && echo "    using ${func}.o instead"
  1836.   fi
  1837.   rm -f conftest*
  1838.   
  1839.   done
  1840.   
  1841.   LIBS="$saved_libs"
  1842. ! for func in rename mkstemp
  1843.   do
  1844. ! trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
  1845. ! echo checking for ${func}
  1846. ! cat > conftest.c <<EOF
  1847.   #include "confdefs.h"
  1848.   #include <ctype.h>
  1849. ! int main() { exit(0); }
  1850.   int t() { 
  1851.   /* The GNU C library defines this for functions which it implements
  1852.       to always fail with ENOSYS.  Some functions are actually named
  1853.       something starting with __ and the normal name is an alias.  */
  1854. ! #if defined (__stub_${func}) || defined (__stub___${func})
  1855.   choke me
  1856.   #else
  1857.   /* Override any gcc2 internal prototype to avoid an error.  */
  1858. ! extern char ${func}(); ${func}();
  1859.   #endif
  1860. !  }
  1861.   EOF
  1862. ! if eval $compile; then
  1863.     rm -rf conftest*
  1864.     {
  1865.   test -n "$verbose" && \
  1866. ! echo "    defining ${trfunc}"
  1867. ! echo "#define" ${trfunc} 1 >> confdefs.h
  1868. ! DEFS="$DEFS -D${trfunc}=1"
  1869.   }
  1870.   
  1871.   
  1872. --- 1241,1304 ----
  1873.   
  1874.   saved_libs="$LIBS"
  1875.   LIBS="$LIBS -lm"
  1876. ! for ac_func in fmod strtol getcwd strerror putenv
  1877.   do
  1878. ! test -n "$silent" || /bin/echo "checking for ${ac_func}"
  1879. ! cat > conftest.${ac_ext} <<EOF
  1880.   #include "confdefs.h"
  1881.   #include <ctype.h>
  1882. ! int main() { return 0; }
  1883.   int t() { 
  1884.   /* The GNU C library defines this for functions which it implements
  1885.       to always fail with ENOSYS.  Some functions are actually named
  1886.       something starting with __ and the normal name is an alias.  */
  1887. ! #if defined (__stub_${ac_func}) || defined (__stub___${ac_func})
  1888.   choke me
  1889.   #else
  1890.   /* Override any gcc2 internal prototype to avoid an error.  */
  1891. ! extern char ${ac_func}(); ${ac_func}();
  1892.   #endif
  1893. ! ; return 0; }
  1894.   EOF
  1895. ! if eval $ac_compile; then
  1896.     :
  1897.   else
  1898.     rm -rf conftest*
  1899. !   LIBOBJS="$LIBOBJS ${ac_func}.o"
  1900. ! test -n "$verbose" && /bin/echo "    using ${ac_func}.o instead"
  1901.   fi
  1902.   rm -f conftest*
  1903.   
  1904.   done
  1905.   
  1906.   LIBS="$saved_libs"
  1907. ! for ac_func in rename mkstemp
  1908.   do
  1909. ! ac_tr_func=HAVE_`/bin/echo $ac_func | tr '[a-z]' '[A-Z]'`
  1910. ! test -n "$silent" || /bin/echo "checking for ${ac_func}"
  1911. ! cat > conftest.${ac_ext} <<EOF
  1912.   #include "confdefs.h"
  1913.   #include <ctype.h>
  1914. ! int main() { return 0; }
  1915.   int t() { 
  1916.   /* The GNU C library defines this for functions which it implements
  1917.       to always fail with ENOSYS.  Some functions are actually named
  1918.       something starting with __ and the normal name is an alias.  */
  1919. ! #if defined (__stub_${ac_func}) || defined (__stub___${ac_func})
  1920.   choke me
  1921.   #else
  1922.   /* Override any gcc2 internal prototype to avoid an error.  */
  1923. ! extern char ${ac_func}(); ${ac_func}();
  1924.   #endif
  1925. ! ; return 0; }
  1926.   EOF
  1927. ! if eval $ac_compile; then
  1928.     rm -rf conftest*
  1929.     {
  1930.   test -n "$verbose" && \
  1931. ! /bin/echo "    defining ${ac_tr_func}"
  1932. ! /bin/echo "#define" ${ac_tr_func} "1" >> confdefs.h
  1933. ! DEFS="$DEFS -D${ac_tr_func}=1"
  1934.   }
  1935.   
  1936.   
  1937. ***************
  1938. *** 1076,1095 ****
  1939.   rm -f conftest*
  1940.   done
  1941.   
  1942. ! echo checking for sys_siglist
  1943. ! cat > conftest.c <<EOF
  1944.   #include "confdefs.h"
  1945.   
  1946. ! int main() { exit(0); }
  1947. ! int t() { extern char *sys_siglist[]; sys_siglist[0] = 0; }
  1948.   EOF
  1949. ! if eval $compile; then
  1950.     rm -rf conftest*
  1951.     
  1952.   {
  1953.   test -n "$verbose" && \
  1954. ! echo "    defining HAVE_SYS_SIGLIST"
  1955. ! echo "#define" HAVE_SYS_SIGLIST 1 >> confdefs.h
  1956.   DEFS="$DEFS -DHAVE_SYS_SIGLIST=1"
  1957.   }
  1958.   
  1959. --- 1306,1325 ----
  1960.   rm -f conftest*
  1961.   done
  1962.   
  1963. ! test -n "$silent" || /bin/echo "checking for sys_siglist"
  1964. ! cat > conftest.${ac_ext} <<EOF
  1965.   #include "confdefs.h"
  1966.   
  1967. ! int main() { return 0; }
  1968. ! int t() { extern char *sys_siglist[]; sys_siglist[0] = 0;; return 0; }
  1969.   EOF
  1970. ! if eval $ac_compile; then
  1971.     rm -rf conftest*
  1972.     
  1973.   {
  1974.   test -n "$verbose" && \
  1975. ! /bin/echo "    defining HAVE_SYS_SIGLIST"
  1976. ! /bin/echo "#define" HAVE_SYS_SIGLIST "1" >> confdefs.h
  1977.   DEFS="$DEFS -DHAVE_SYS_SIGLIST=1"
  1978.   }
  1979.   
  1980. ***************
  1981. *** 1143,1150 ****
  1982.     
  1983.   {
  1984.   test -n "$verbose" && \
  1985. ! echo "    defining COOKIE_BUG"
  1986. ! echo "#define" COOKIE_BUG 1 >> confdefs.h
  1987.   DEFS="$DEFS -DCOOKIE_BUG=1"
  1988.   }
  1989.   
  1990. --- 1373,1380 ----
  1991.     
  1992.   {
  1993.   test -n "$verbose" && \
  1994. ! /bin/echo "    defining COOKIE_BUG"
  1995. ! /bin/echo "#define" COOKIE_BUG "1" >> confdefs.h
  1996.   DEFS="$DEFS -DCOOKIE_BUG=1"
  1997.   }
  1998.   
  1999. ***************
  2000. *** 1175,1182 ****
  2001.     
  2002.   {
  2003.   test -n "$verbose" && \
  2004. ! echo "    defining CFRONT_ANSI_BUG"
  2005. ! echo "#define" CFRONT_ANSI_BUG 1 >> confdefs.h
  2006.   DEFS="$DEFS -DCFRONT_ANSI_BUG=1"
  2007.   }
  2008.   
  2009. --- 1405,1412 ----
  2010.     
  2011.   {
  2012.   test -n "$verbose" && \
  2013. ! /bin/echo "    defining CFRONT_ANSI_BUG"
  2014. ! /bin/echo "#define" CFRONT_ANSI_BUG "1" >> confdefs.h
  2015.   DEFS="$DEFS -DCFRONT_ANSI_BUG=1"
  2016.   }
  2017.   
  2018. ***************
  2019. *** 1193,1200 ****
  2020.     
  2021.   {
  2022.   test -n "$verbose" && \
  2023. ! echo "    defining ARRAY_DELETE_NEEDS_SIZE"
  2024. ! echo "#define" ARRAY_DELETE_NEEDS_SIZE 1 >> confdefs.h
  2025.   DEFS="$DEFS -DARRAY_DELETE_NEEDS_SIZE=1"
  2026.   }
  2027.   
  2028. --- 1423,1430 ----
  2029.     
  2030.   {
  2031.   test -n "$verbose" && \
  2032. ! /bin/echo "    defining ARRAY_DELETE_NEEDS_SIZE"
  2033. ! /bin/echo "#define" ARRAY_DELETE_NEEDS_SIZE "1" >> confdefs.h
  2034.   DEFS="$DEFS -DARRAY_DELETE_NEEDS_SIZE=1"
  2035.   }
  2036.   
  2037. ***************
  2038. *** 1209,1223 ****
  2039.     
  2040.   {
  2041.   test -n "$verbose" && \
  2042. ! echo "    defining TRADITIONAL_CPP"
  2043. ! echo "#define" TRADITIONAL_CPP 1 >> confdefs.h
  2044.   DEFS="$DEFS -DTRADITIONAL_CPP=1"
  2045.   }
  2046.   
  2047.   fi
  2048.   rm -f conftest*
  2049.   echo checking for w_coredump
  2050. ! cat > conftest.c <<EOF
  2051.   #include "confdefs.h"
  2052.   
  2053.   #include <sys/types.h>
  2054. --- 1439,1453 ----
  2055.     
  2056.   {
  2057.   test -n "$verbose" && \
  2058. ! /bin/echo "    defining TRADITIONAL_CPP"
  2059. ! /bin/echo "#define" TRADITIONAL_CPP "1" >> confdefs.h
  2060.   DEFS="$DEFS -DTRADITIONAL_CPP=1"
  2061.   }
  2062.   
  2063.   fi
  2064.   rm -f conftest*
  2065.   echo checking for w_coredump
  2066. ! cat > conftest.${ac_ext} <<EOF
  2067.   #include "confdefs.h"
  2068.   
  2069.   #include <sys/types.h>
  2070. ***************
  2071. *** 1234,1246 ****
  2072.   }
  2073.   
  2074.   EOF
  2075. ! eval $compile
  2076.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  2077.     
  2078.   {
  2079.   test -n "$verbose" && \
  2080. ! echo "    defining" WCOREFLAG to be 0200
  2081. ! echo "#define" WCOREFLAG 0200 >> confdefs.h
  2082.   DEFS="$DEFS -DWCOREFLAG=0200"
  2083.   }
  2084.   
  2085. --- 1464,1476 ----
  2086.   }
  2087.   
  2088.   EOF
  2089. ! eval $ac_compile
  2090.   if test -s conftest && (./conftest; exit) 2>/dev/null; then
  2091.     
  2092.   {
  2093.   test -n "$verbose" && \
  2094. ! /bin/echo "    defining" WCOREFLAG to be "0200"
  2095. ! /bin/echo "#define" WCOREFLAG "0200" >> confdefs.h
  2096.   DEFS="$DEFS -DWCOREFLAG=0200"
  2097.   }
  2098.   
  2099. ***************
  2100. *** 1287,1310 ****
  2101.   
  2102.   # Set default prefixes.
  2103.   if test -n "$prefix"; then
  2104. !   test -z "$exec_prefix" && exec_prefix='${prefix}'
  2105. !   prsub="s%^prefix\\([     ]*\\)=\\([     ]*\\).*$%prefix\\1=\\2$prefix%"
  2106.   fi
  2107.   if test -n "$exec_prefix"; then
  2108. !   prsub="$prsub
  2109.   s%^exec_prefix\\([     ]*\\)=\\([     ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
  2110.   fi
  2111.   # Quote sed substitution magic chars in DEFS.
  2112.   cat >conftest.def <<EOF
  2113.   $DEFS
  2114.   EOF
  2115. ! escape_ampersand_and_backslash='s%[&\\]%\\&%g'
  2116. ! DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`
  2117.   rm -f conftest.def
  2118.   # Substitute for predefined variables.
  2119.   
  2120. ! trap 'rm -f config.status; exit 1' 1 3 15
  2121. ! echo creating config.status
  2122.   rm -f config.status
  2123.   cat > config.status <<EOF
  2124.   #!/bin/sh
  2125. --- 1517,1547 ----
  2126.   
  2127.   # Set default prefixes.
  2128.   if test -n "$prefix"; then
  2129. !   test -z "$exec_prefix" && exec_prefix='${prefix}' # Let make expand it.
  2130. !   ac_prsub="s%^prefix\\([     ]*\\)=\\([     ]*\\).*$%prefix\\1=\\2$prefix%"
  2131.   fi
  2132.   if test -n "$exec_prefix"; then
  2133. !   ac_prsub="$ac_prsub
  2134.   s%^exec_prefix\\([     ]*\\)=\\([     ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
  2135.   fi
  2136. + # Any assignment to VPATH causes Sun make to only execute
  2137. + # the first set of double-colon rules, so remove it if not needed.
  2138. + # If there is a colon in the path, we need to keep it.
  2139. + if test "x$srcdir" = x.; then
  2140. +   ac_vpsub='/^[     ]*VPATH[     ]*=[^:]*$/d'
  2141. + fi
  2142.   # Quote sed substitution magic chars in DEFS.
  2143.   cat >conftest.def <<EOF
  2144.   $DEFS
  2145.   EOF
  2146. ! ac_escape_ampersand_and_backslash='s%[&\\]%\\&%g'
  2147. ! DEFS=`sed "$ac_escape_ampersand_and_backslash" <conftest.def`
  2148.   rm -f conftest.def
  2149.   # Substitute for predefined variables.
  2150.   
  2151. ! trap 'rm -f config.status; exit 1' 1 2 15
  2152. ! /bin/echo creating config.status
  2153.   rm -f config.status
  2154.   cat > config.status <<EOF
  2155.   #!/bin/sh
  2156. ***************
  2157. *** 1315,1331 ****
  2158.   #
  2159.   # $0 $configure_args
  2160.   
  2161. ! for arg
  2162.   do
  2163. !   case "\$arg" in
  2164. !     -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  2165. !     echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args
  2166. !     exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args ;;
  2167. !     *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
  2168.     esac
  2169.   done
  2170.   
  2171. ! trap 'rm -f Makefile; exit 1' 1 3 15
  2172.   CC='$CC'
  2173.   CCLIBS='$CCLIBS'
  2174.   CCC='$CCC'
  2175. --- 1552,1574 ----
  2176.   #
  2177.   # $0 $configure_args
  2178.   
  2179. ! ac_cs_usage="Usage: config.status [--recheck] [--version] [--help]"
  2180. ! for ac_option
  2181.   do
  2182. !   case "\$ac_option" in
  2183. !   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  2184. !     /bin/echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args --no-create
  2185. !     exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args --no-create ;;
  2186. !   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
  2187. !     /bin/echo "config.status generated by autoconf version 1.9"
  2188. !     exit 0 ;;
  2189. !   -help | --help | --hel | --he | --h)
  2190. !     /bin/echo "\$ac_cs_usage"; exit 0 ;;
  2191. !   *) /bin/echo "\$ac_cs_usage"; exit 1 ;;
  2192.     esac
  2193.   done
  2194.   
  2195. ! trap 'rm -f Makefile; exit 1' 1 2 15
  2196.   CC='$CC'
  2197.   CCLIBS='$CCLIBS'
  2198.   CCC='$CCC'
  2199. ***************
  2200. *** 1349,1378 ****
  2201.   PAGE='$PAGE'
  2202.   LIBS='$LIBS'
  2203.   srcdir='$srcdir'
  2204. ! DEFS='$DEFS'
  2205.   prefix='$prefix'
  2206.   exec_prefix='$exec_prefix'
  2207. ! prsub='$prsub'
  2208.   extrasub='$extrasub'
  2209.   EOF
  2210.   cat >> config.status <<\EOF
  2211.   
  2212. ! top_srcdir=$srcdir
  2213.   
  2214.   CONFIG_FILES=${CONFIG_FILES-"Makefile"}
  2215. ! for file in .. ${CONFIG_FILES}; do if test "x$file" != x..; then
  2216. !   srcdir=$top_srcdir
  2217.     # Remove last slash and all that follows it.  Not all systems have dirname.
  2218. !   dir=`echo $file|sed 's%/[^/][^/]*$%%'`
  2219. !   if test "$dir" != "$file"; then
  2220. !     test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
  2221. !     test ! -d $dir && mkdir $dir
  2222.     fi
  2223. !   echo creating $file
  2224. !   rm -f $file
  2225. !   echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
  2226.     sed -e "
  2227. ! $prsub
  2228.   $extrasub
  2229.   s%@CC@%$CC%g
  2230.   s%@CCLIBS@%$CCLIBS%g
  2231. --- 1592,1641 ----
  2232.   PAGE='$PAGE'
  2233.   LIBS='$LIBS'
  2234.   srcdir='$srcdir'
  2235. ! top_srcdir='$top_srcdir'
  2236.   prefix='$prefix'
  2237.   exec_prefix='$exec_prefix'
  2238. ! DEFS='$DEFS'
  2239. ! ac_prsub='$ac_prsub'
  2240. ! ac_vpsub='$ac_vpsub'
  2241.   extrasub='$extrasub'
  2242.   EOF
  2243.   cat >> config.status <<\EOF
  2244.   
  2245. ! ac_given_srcdir=$srcdir
  2246.   
  2247.   CONFIG_FILES=${CONFIG_FILES-"Makefile"}
  2248. ! for ac_file in .. ${CONFIG_FILES}; do if test "x$ac_file" != x..; then
  2249.     # Remove last slash and all that follows it.  Not all systems have dirname.
  2250. !   ac_dir=`/bin/echo $ac_file|sed 's%/[^/][^/]*$%%'`
  2251. !   if test "$ac_dir" != "$ac_file"; then
  2252. !     # The file is in a subdirectory.
  2253. !     test ! -d "$ac_dir" && mkdir "$ac_dir"
  2254. !     ac_dir_suffix="/$ac_dir"
  2255. !   else
  2256. !     ac_dir_suffix=
  2257.     fi
  2258. !   # A "../" for each directory in $ac_dir_suffix.
  2259. !   ac_dots=`/bin/echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
  2260. !   case "$ac_given_srcdir" in
  2261. !   .)  srcdir=.; top_srcdir="$ac_dots." ;;
  2262. !   /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
  2263. !   *) # Relative path.
  2264. !     srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
  2265. !     top_srcdir="$ac_dots$ac_given_srcdir" ;;
  2266. !   esac
  2267. !   /bin/echo creating "$ac_file"
  2268. !   rm -f "$ac_file"
  2269. !   comment_str="Generated automatically from `/bin/echo $ac_file|sed 's|.*/||'`.in by configure."
  2270. !   case "$ac_file" in
  2271. !     *.c | *.h | *.C | *.cc | *.m )  /bin/echo "/* $comment_str */" > "$ac_file" ;;
  2272. !     * )          /bin/echo "# $comment_str"     > "$ac_file" ;;
  2273. !   esac
  2274.     sed -e "
  2275. ! $ac_prsub
  2276. ! $ac_vpsub
  2277.   $extrasub
  2278.   s%@CC@%$CC%g
  2279.   s%@CCLIBS@%$CCLIBS%g
  2280. ***************
  2281. *** 1397,1409 ****
  2282.   s%@PAGE@%$PAGE%g
  2283.   s%@LIBS@%$LIBS%g
  2284.   s%@srcdir@%$srcdir%g
  2285.   s%@DEFS@%$DEFS%
  2286. ! " $top_srcdir/${file}.in >> $file
  2287.   fi; done
  2288.   
  2289.   
  2290.   exit 0
  2291.   EOF
  2292.   chmod +x config.status
  2293. ! ${CONFIG_SHELL-/bin/sh} config.status
  2294.   
  2295. --- 1660,1675 ----
  2296.   s%@PAGE@%$PAGE%g
  2297.   s%@LIBS@%$LIBS%g
  2298.   s%@srcdir@%$srcdir%g
  2299. + s%@top_srcdir@%$top_srcdir%g
  2300. + s%@prefix@%$prefix%g
  2301. + s%@exec_prefix@%$exec_prefix%g
  2302.   s%@DEFS@%$DEFS%
  2303. ! " $ac_given_srcdir/${ac_file}.in >> $ac_file
  2304.   fi; done
  2305.   
  2306.   
  2307.   exit 0
  2308.   EOF
  2309.   chmod +x config.status
  2310. ! test -n "$no_create" || ${CONFIG_SHELL-/bin/sh} config.status
  2311.   
  2312. diff -rc --new-file groff-1.09/devdvi/generate/Makefile /gnu/src/amiga/groff-1.09/devdvi/generate/Makefile
  2313. *** groff-1.09/devdvi/generate/Makefile    Sun Aug  9 16:06:04 1992
  2314. --- /gnu/src/amiga/groff-1.09/devdvi/generate/Makefile    Mon Feb 21 16:35:01 1994
  2315. ***************
  2316. *** 22,29 ****
  2317.   # in the parent directory of the directory containing this file.
  2318.   
  2319.   srcdir=.
  2320. ! tfmdir=/usr/local/lib/groff-tfm
  2321. ! gfdir=/usr/local/lib/groff-gf
  2322.   
  2323.   TFMTODIT=tfmtodit
  2324.   FONTS=R I B BI CW MI S EX H HI HB SA SB
  2325. --- 22,29 ----
  2326.   # in the parent directory of the directory containing this file.
  2327.   
  2328.   srcdir=.
  2329. ! tfmdir=/gnu/lib/groff-tfm
  2330. ! gfdir=/gnu/lib/groff-gf
  2331.   
  2332.   TFMTODIT=tfmtodit
  2333.   FONTS=R I B BI CW MI S EX H HI HB SA SB
  2334. diff -rc --new-file groff-1.09/devps/generate/Makefile /gnu/src/amiga/groff-1.09/devps/generate/Makefile
  2335. *** groff-1.09/devps/generate/Makefile    Thu Aug 27 16:03:52 1992
  2336. --- /gnu/src/amiga/groff-1.09/devps/generate/Makefile    Mon Feb 21 16:34:50 1994
  2337. ***************
  2338. *** 24,30 ****
  2339.   # Directory containing AFM files.  Must not be current directory.
  2340.   # Either long names (eg Times-Roman.afm) or short names (eg timesr.afm)
  2341.   # may be used. See the afmname script.
  2342. ! afmdir=/usr/local/afm
  2343.   srcdir=generate
  2344.   
  2345.   SPECIALFONTS=S
  2346. --- 24,30 ----
  2347.   # Directory containing AFM files.  Must not be current directory.
  2348.   # Either long names (eg Times-Roman.afm) or short names (eg timesr.afm)
  2349.   # may be used. See the afmname script.
  2350. ! afmdir=/gnu/afm
  2351.   srcdir=generate
  2352.   
  2353.   SPECIALFONTS=S
  2354. diff -rc --new-file groff-1.09/eqn/eqn.cc /gnu/src/amiga/groff-1.09/eqn/eqn.cc
  2355. *** groff-1.09/eqn/eqn.cc    Tue Apr 13 15:22:04 1993
  2356. --- /gnu/src/amiga/groff-1.09/eqn/eqn.cc    Mon Feb 21 18:22:41 1994
  2357. ***************
  2358. *** 1,10 ****
  2359. ! #ifndef lint
  2360. ! static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  2361. ! #endif
  2362. ! #define YYBYACC 1
  2363. ! #line 20 "/u/jjc/groff/eqn/eqn.y"
  2364.   #include <stdio.h>
  2365. ! #include <string.h>
  2366.   #include <stdlib.h>
  2367.   
  2368.   #include "lib.h"
  2369. --- 1,72 ----
  2370. ! /*  A Bison parser, made from /ISO/groff/groff-1.09-amiga/eqn/eqn.y with Bison version GNU Bison version 1.22
  2371. !   */
  2372. ! #define YYBISON 1  /* Identify Bison output.  */
  2373. ! #define    OVER    258
  2374. ! #define    SMALLOVER    259
  2375. ! #define    SQRT    260
  2376. ! #define    SUB    261
  2377. ! #define    SUP    262
  2378. ! #define    LPILE    263
  2379. ! #define    RPILE    264
  2380. ! #define    CPILE    265
  2381. ! #define    PILE    266
  2382. ! #define    LEFT    267
  2383. ! #define    RIGHT    268
  2384. ! #define    TO    269
  2385. ! #define    FROM    270
  2386. ! #define    SIZE    271
  2387. ! #define    FONT    272
  2388. ! #define    ROMAN    273
  2389. ! #define    BOLD    274
  2390. ! #define    ITALIC    275
  2391. ! #define    FAT    276
  2392. ! #define    ACCENT    277
  2393. ! #define    BAR    278
  2394. ! #define    UNDER    279
  2395. ! #define    ABOVE    280
  2396. ! #define    TEXT    281
  2397. ! #define    QUOTED_TEXT    282
  2398. ! #define    FWD    283
  2399. ! #define    BACK    284
  2400. ! #define    DOWN    285
  2401. ! #define    UP    286
  2402. ! #define    MATRIX    287
  2403. ! #define    COL    288
  2404. ! #define    LCOL    289
  2405. ! #define    RCOL    290
  2406. ! #define    CCOL    291
  2407. ! #define    MARK    292
  2408. ! #define    LINEUP    293
  2409. ! #define    TYPE    294
  2410. ! #define    VCENTER    295
  2411. ! #define    PRIME    296
  2412. ! #define    SPLIT    297
  2413. ! #define    NOSPLIT    298
  2414. ! #define    UACCENT    299
  2415. ! #define    SPECIAL    300
  2416. ! #define    SPACE    301
  2417. ! #define    GFONT    302
  2418. ! #define    GSIZE    303
  2419. ! #define    DEFINE    304
  2420. ! #define    NDEFINE    305
  2421. ! #define    TDEFINE    306
  2422. ! #define    SDEFINE    307
  2423. ! #define    UNDEF    308
  2424. ! #define    IFDEF    309
  2425. ! #define    INCLUDE    310
  2426. ! #define    DELIM    311
  2427. ! #define    CHARTYPE    312
  2428. ! #define    SET    313
  2429. ! #define    GRFONT    314
  2430. ! #define    GBFONT    315
  2431. ! #line 19 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  2432.   #include <stdio.h>
  2433. ! #include </gnu/include/string.h>
  2434.   #include <stdlib.h>
  2435.   
  2436.   #include "lib.h"
  2437. ***************
  2438. *** 13,19 ****
  2439.   char *strsave(const char *);
  2440.   int yylex();
  2441.   void yyerror(const char *);
  2442. ! #line 32 "/u/jjc/groff/eqn/eqn.y"
  2443.   typedef union {
  2444.       char *str;
  2445.       box *b;
  2446. --- 75,82 ----
  2447.   char *strsave(const char *);
  2448.   int yylex();
  2449.   void yyerror(const char *);
  2450. ! #line 32 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  2451.   typedef union {
  2452.       char *str;
  2453.       box *b;
  2454. ***************
  2455. *** 22,1162 ****
  2456.       int n;
  2457.       column *col;
  2458.   } YYSTYPE;
  2459. ! #line 26 "y.tab.c"
  2460. ! #define OVER 257
  2461. ! #define SMALLOVER 258
  2462. ! #define SQRT 259
  2463. ! #define SUB 260
  2464. ! #define SUP 261
  2465. ! #define LPILE 262
  2466. ! #define RPILE 263
  2467. ! #define CPILE 264
  2468. ! #define PILE 265
  2469. ! #define LEFT 266
  2470. ! #define RIGHT 267
  2471. ! #define TO 268
  2472. ! #define FROM 269
  2473. ! #define SIZE 270
  2474. ! #define FONT 271
  2475. ! #define ROMAN 272
  2476. ! #define BOLD 273
  2477. ! #define ITALIC 274
  2478. ! #define FAT 275
  2479. ! #define ACCENT 276
  2480. ! #define BAR 277
  2481. ! #define UNDER 278
  2482. ! #define ABOVE 279
  2483. ! #define TEXT 280
  2484. ! #define QUOTED_TEXT 281
  2485. ! #define FWD 282
  2486. ! #define BACK 283
  2487. ! #define DOWN 284
  2488. ! #define UP 285
  2489. ! #define MATRIX 286
  2490. ! #define COL 287
  2491. ! #define LCOL 288
  2492. ! #define RCOL 289
  2493. ! #define CCOL 290
  2494. ! #define MARK 291
  2495. ! #define LINEUP 292
  2496. ! #define TYPE 293
  2497. ! #define VCENTER 294
  2498. ! #define PRIME 295
  2499. ! #define SPLIT 296
  2500. ! #define NOSPLIT 297
  2501. ! #define UACCENT 298
  2502. ! #define SPECIAL 299
  2503. ! #define SPACE 300
  2504. ! #define GFONT 301
  2505. ! #define GSIZE 302
  2506. ! #define DEFINE 303
  2507. ! #define NDEFINE 304
  2508. ! #define TDEFINE 305
  2509. ! #define SDEFINE 306
  2510. ! #define UNDEF 307
  2511. ! #define IFDEF 308
  2512. ! #define INCLUDE 309
  2513. ! #define DELIM 310
  2514. ! #define CHARTYPE 311
  2515. ! #define SET 312
  2516. ! #define GRFONT 313
  2517. ! #define GBFONT 314
  2518. ! #define YYERRCODE 256
  2519. ! short yylhs[] = {                                        -1,
  2520. !     0,    0,    6,    6,    1,    1,    1,    2,    2,    2,
  2521. !     2,    2,    3,    3,    3,    3,    4,    4,    7,    7,
  2522. !     7,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  2523. !     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  2524. !     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  2525. !     5,    5,    5,    5,    8,   11,   11,   12,   12,   13,
  2526. !    13,   16,   16,   15,   15,   14,   14,   14,   14,    9,
  2527. !     9,   10,   10,   10,
  2528.   };
  2529. ! short yylen[] = {                                         2,
  2530. !     0,    1,    1,    2,    1,    2,    2,    1,    3,    3,
  2531. !     5,    5,    1,    2,    3,    3,    1,    3,    1,    3,
  2532. !     5,    1,    1,    2,    2,    1,    1,    1,    3,    2,
  2533. !     2,    2,    2,    4,    5,    3,    2,    2,    2,    3,
  2534. !     3,    2,    2,    2,    2,    3,    3,    3,    3,    3,
  2535. !     3,    3,    2,    3,    1,    1,    3,    3,    4,    1,
  2536. !     2,    1,    3,    3,    4,    2,    2,    2,    2,    1,
  2537. !     1,    1,    1,    1,
  2538.   };
  2539. ! short yydefred[] = {                                      0,
  2540. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2541. !     0,    0,   22,   23,    0,    0,    0,    0,    0,    0,
  2542. !     0,    0,    0,    0,    0,    0,   26,   27,   28,    0,
  2543. !     0,    3,    5,    0,   13,    0,    0,   17,   14,   70,
  2544. !    71,    0,    0,   55,   31,   32,   33,   30,   73,   74,
  2545. !    72,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2546. !     0,    0,    0,    6,    7,    0,    0,   24,   25,    0,
  2547. !     0,    0,    0,    0,    0,    0,    0,    0,   37,   38,
  2548. !    39,    0,    4,    0,    0,    0,    0,    0,    0,    0,
  2549. !     0,    0,    0,    0,    0,    0,    0,    0,   60,    0,
  2550. !     0,   29,   15,   16,    9,    0,    0,   20,   18,   40,
  2551. !    41,    0,   58,    0,    0,    0,    0,   66,   67,   68,
  2552. !    69,   34,   61,    0,    0,    0,    0,   59,   35,    0,
  2553. !     0,    0,   11,   12,   21,    0,   64,    0,    0,   65,
  2554.   };
  2555. ! short yydgoto[] = {                                      31,
  2556. !    32,   33,   34,   35,   36,   84,   38,   43,   44,   52,
  2557. !    85,   45,   98,   99,  118,  131,
  2558.   };
  2559. ! short yysindex[] = {                                   1488,
  2560. !  1527, -120, -120, -120, -120, -123, -249, -249, 1566, 1566,
  2561. !  1566, 1566,    0,    0, -249, -249, -249, -249, -115, 1488,
  2562. !  1488, -249, 1566, -256, -251, -249,    0,    0,    0, 1488,
  2563. !     0,    0,    0, -221,    0, -233, 1488,    0,    0,    0,
  2564. !     0, 1488,  -85,    0,    0,    0,    0,    0,    0,    0,
  2565. !     0, 1488, 1566, 1566, -195, -195, -195, -195, 1566, 1566,
  2566. !  1566, 1566, -272,    0,    0, 1566, -195,    0,    0, 1566,
  2567. !  1402, 1527, 1527, 1527, 1527, 1566, 1566, 1566,    0,    0,
  2568. !     0, 1566,    0, 1488, -113, 1488, 1444, -195, -195, -195,
  2569. !  -195, -195, -195, -117, -117, -117, -117, -118,    0, -195,
  2570. !  -195,    0,    0,    0,    0, -167, -189,    0,    0,    0,
  2571. !     0, 1488,    0, -106, -123, 1488,  -83,    0,    0,    0,
  2572. !     0,    0,    0, 1527, 1527, 1566, 1488,    0,    0, 1488,
  2573. !  -105, 1488,    0,    0,    0, 1488,    0, -104, 1488,    0,
  2574.   };
  2575. ! short yyrindex[] = {                                     41,
  2576. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2577. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2578. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2579. !     0,    0,    0,    1,    0, 1220,   46,    0,    0,    0,
  2580. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2581. !     0,    0,    0,    0,   85,  128,  363,  406,    0,    0,
  2582. !     0,    0,    0,    0,    0,    0,  449,    0,    0,    0,
  2583. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2584. !     0,    0,    0, -103,    0,    0,  185,  492,  727,  770,
  2585. !   813,  856, 1091,    0,    0,    0,    0,    0,    0, 1134,
  2586. !  1177,    0,    0,    0,    0,   42, 1220,    0,    0,    0,
  2587. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2588. !     0,    0,    0,    0,    0,    0, -102,    0,    0, -101,
  2589. !     0,    0,    0,    0,    0,    0,    0,    0,  -99,    0,
  2590.   };
  2591. ! short yygindex[] = {                                      0,
  2592. !    -7,  -69,    3,  -66,  458,    9,  -26,   52,   27,  -63,
  2593. !   -32,   54,    0,  -35,    2,  -59,
  2594.   };
  2595. ! #define YYTABLESIZE 1865
  2596. ! short yytable[] = {                                      49,
  2597. !     8,   50,   42,   39,  105,  116,  122,   63,   37,    8,
  2598. !   109,  113,   64,   65,   94,   95,   96,   97,  128,  137,
  2599. !   140,   56,   57,   62,   68,   63,   76,   77,   69,   83,
  2600. !    40,   41,   51,   53,   54,   72,   73,   86,   71,  132,
  2601. !     1,   10,   78,   79,   80,    2,   74,   75,   66,  108,
  2602. !    10,  129,   70,  114,  133,  134,   46,   47,   48,  135,
  2603. !    87,   81,  123,   83,   82,    0,   59,   60,   61,   62,
  2604. !    76,  126,  138,    0,  103,  104,   83,  106,    0,   83,
  2605. !    78,   79,   80,    0,   42,    0,   78,   79,   80,   72,
  2606. !    73,    0,    0,   42,    8,    0,  119,  120,  121,   81,
  2607. !   124,  125,   82,    0,    0,   81,    0,    0,   82,    0,
  2608. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   83,
  2609. !   127,    0,   83,    8,  130,    8,    8,   43,    0,    0,
  2610. !     0,   83,    0,    0,    0,   10,   43,    0,    0,    0,
  2611. !   130,   51,    0,    0,  139,  117,  117,  117,  117,    0,
  2612. !     0,    0,    0,    0,    0,    0,   40,   41,    0,   40,
  2613. !    41,    0,   40,   41,   10,  112,   10,   10,   94,   95,
  2614. !    96,   97,  112,  136,  136,   56,   57,   62,   42,   63,
  2615. !     0,    0,    0,    0,   36,    0,    0,    0,    0,    0,
  2616. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2617. !     0,    0,    0,    0,    0,    0,    0,   42,    0,   42,
  2618. !    42,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2619. !     0,   43,    0,    0,    0,    0,    0,    0,    0,    0,
  2620. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2621. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2622. !    43,    0,   43,   43,    0,    0,    0,    0,    0,    8,
  2623. !     8,    8,    8,    8,    8,    8,    8,    8,    0,    0,
  2624. !     8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
  2625. !     8,    8,    8,    8,    8,    8,    8,    0,    0,    0,
  2626. !     0,    8,    8,    8,    8,    8,    8,    8,    8,    8,
  2627. !    10,   10,   10,   10,   10,   10,   10,   10,   10,   36,
  2628. !     0,   10,   10,   10,   10,   10,   10,   10,   10,   10,
  2629. !    10,   10,   10,   10,   10,   10,   10,   10,    0,    0,
  2630. !     0,    0,   10,   10,   10,   10,   10,   10,   10,   10,
  2631. !    10,   42,   42,   42,   42,   42,   42,   42,   42,   42,
  2632. !    42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
  2633. !     0,    0,   44,   42,   42,   42,   42,   42,   42,   42,
  2634. !    42,   44,    0,    0,    0,   42,   42,   42,   42,    0,
  2635. !    42,   42,    0,   42,   43,   43,   43,   43,   43,   43,
  2636. !    43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
  2637. !    43,   43,   43,    0,    0,   45,   43,   43,   43,   43,
  2638. !    43,   43,   43,   43,   45,    0,    0,    0,   43,   43,
  2639. !    43,   43,    0,   43,   43,    0,   43,    0,    0,    0,
  2640. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2641. !     0,   36,   36,    0,   36,   36,    0,    0,   53,    0,
  2642. !     0,    0,   36,   36,    0,    0,   44,   53,    0,    0,
  2643. !    36,   36,   36,   36,    0,    0,   55,   56,   57,   58,
  2644. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   36,
  2645. !    67,    0,   36,    0,    0,   44,    0,   44,   44,    0,
  2646. !     0,   47,    0,    0,    0,    0,    0,    0,    0,   45,
  2647. !    47,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2648. !    88,   89,    0,    0,    0,    0,   90,   91,   92,   93,
  2649. !     0,    0,    0,  100,    0,    0,    0,  101,   45,    0,
  2650. !    45,   45,    0,  107,    0,  110,    0,    0,    0,  111,
  2651. !     0,    0,   53,    0,    0,    0,    0,    0,    0,    0,
  2652. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2653. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2654. !     0,   53,    0,   53,   53,    0,    0,    0,    0,    0,
  2655. !     0,    0,    0,    0,    0,   47,    0,    0,    0,    0,
  2656. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2657. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2658. !     0,    0,    0,    0,   47,    0,   47,   47,    0,   44,
  2659. !    44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
  2660. !    44,   44,   44,   44,   44,   44,   44,   44,    0,    0,
  2661. !     0,   44,   44,   44,   44,   44,   44,   44,   44,    0,
  2662. !     0,    0,    0,   44,   44,   44,   44,    0,   44,   44,
  2663. !     0,   44,   45,   45,   45,   45,   45,   45,   45,   45,
  2664. !    45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
  2665. !    45,    0,    0,    0,   45,   45,   45,   45,   45,   45,
  2666. !    45,   45,    0,    0,    0,    0,   45,   45,   45,   45,
  2667. !     0,   45,   45,    0,   45,   53,   53,   53,   53,   53,
  2668. !    53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
  2669. !    53,   53,   53,   53,    0,    0,   46,   53,   53,   53,
  2670. !    53,   53,   53,   53,   53,   46,    0,    0,    0,   53,
  2671. !    53,   53,   53,    0,   53,   53,    0,   53,   47,   47,
  2672. !    47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
  2673. !    47,   47,   47,   47,   47,   47,   47,    0,    0,   48,
  2674. !    47,   47,   47,   47,   47,   47,   47,   47,   48,    0,
  2675. !     0,    0,   47,   47,   47,   47,    0,   47,   47,    0,
  2676. !    47,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2677. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2678. !     0,    0,   49,    0,    0,    0,    0,    0,    0,    0,
  2679. !    46,   49,    0,    0,    0,    0,    0,    0,    0,    0,
  2680. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2681. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   46,
  2682. !     0,   46,   46,    0,    0,   51,    0,    0,    0,    0,
  2683. !     0,    0,    0,   48,   51,    0,    0,    0,    0,    0,
  2684. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2685. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2686. !     0,    0,   48,    0,   48,   48,    0,    0,    0,    0,
  2687. !     0,    0,    0,    0,    0,    0,   49,    0,    0,    0,
  2688. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2689. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2690. !     0,    0,    0,    0,    0,   49,    0,   49,   49,    0,
  2691. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   51,
  2692. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2693. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2694. !     0,    0,    0,    0,    0,    0,    0,    0,   51,    0,
  2695. !    51,   51,    0,   46,   46,   46,   46,   46,   46,   46,
  2696. !    46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
  2697. !    46,   46,    0,    0,    0,   46,   46,   46,   46,   46,
  2698. !    46,   46,   46,    0,    0,    0,    0,   46,   46,   46,
  2699. !    46,    0,   46,   46,    0,   46,   48,   48,   48,   48,
  2700. !    48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
  2701. !    48,   48,   48,   48,   48,    0,    0,    0,   48,   48,
  2702. !    48,   48,   48,   48,   48,   48,    0,    0,    0,    0,
  2703. !    48,   48,   48,   48,    0,   48,   48,    0,   48,   49,
  2704. !    49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
  2705. !    49,   49,   49,   49,   49,   49,   49,   49,    0,    0,
  2706. !    50,   49,   49,   49,   49,   49,   49,   49,   49,   50,
  2707. !     0,    0,    0,   49,   49,   49,   49,    0,   49,   49,
  2708. !     0,   49,   51,   51,   51,   51,   51,   51,   51,   51,
  2709. !    51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
  2710. !    51,    0,    0,   52,   51,   51,   51,   51,   51,   51,
  2711. !    51,   51,   52,    0,    0,    0,   51,   51,   51,   51,
  2712. !     0,   51,   51,    0,   51,    0,    0,    0,    0,    0,
  2713. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2714. !     0,    0,    0,    0,    0,    0,   54,    0,    0,    0,
  2715. !     0,    0,    0,    0,   50,   54,    0,    0,    0,    0,
  2716. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2717. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2718. !     0,    0,    0,   50,    0,   50,   50,    0,    0,   19,
  2719. !     0,    0,    0,    0,    0,    0,    0,   52,   19,    0,
  2720. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2721. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2722. !     0,    0,    0,    0,    0,    0,   52,    0,   52,   52,
  2723. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2724. !    54,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2725. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2726. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   54,
  2727. !     0,   54,   54,    0,    0,    0,    0,    0,    0,    0,
  2728. !     0,    0,    0,   19,    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,    0,   19,    0,   19,   19,    0,   50,   50,   50,
  2732. !    50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
  2733. !    50,   50,   50,   50,   50,   50,    0,    0,    0,   50,
  2734. !    50,   50,   50,   50,   50,   50,   50,    0,    0,    0,
  2735. !     0,   50,   50,   50,   50,    0,   50,   50,    0,   50,
  2736. !    52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
  2737. !    52,   52,   52,   52,   52,   52,   52,   52,   52,    0,
  2738. !    29,    0,   52,   52,   52,   52,   52,   52,   52,   52,
  2739. !     0,    0,    0,    0,   52,   52,   52,   52,    0,   52,
  2740. !    52,    0,   52,   54,   54,   54,   54,   54,   54,   54,
  2741. !    54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
  2742. !    54,   54,   29,    0,    0,   54,   54,   54,   54,   54,
  2743. !    54,   54,   54,    0,    0,    0,    0,   54,   54,   54,
  2744. !    54,    0,   54,   54,    0,   54,   19,   19,   19,    0,
  2745. !     0,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  2746. !    19,   19,   19,   19,   19,   27,   29,    0,   19,   19,
  2747. !    19,   19,   19,   19,   19,   19,    0,    0,    0,    0,
  2748. !    19,   19,   19,   19,    0,   19,   19,    0,   19,    0,
  2749. !     0,    0,    0,    0,   30,    0,  102,   28,    0,    0,
  2750. !     0,    0,    0,    0,    0,   29,    0,   27,    0,    0,
  2751. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2752. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2753. !     0,    0,    0,    0,    0,    0,   30,    0,    0,   28,
  2754. !     0,    0,    0,    0,   29,    0,    0,    0,    0,    0,
  2755. !     0,   27,    0,    0,    0,    0,    0,    0,    0,    0,
  2756. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2757. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2758. !    30,    0,    0,   28,    0,    0,    0,    0,    0,    0,
  2759. !    27,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2760. !     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  2761. !     0,    0,    0,    0,    0,    0,    0,    0,    0,   30,
  2762. !     0,    0,   28,    0,    0,    0,    0,    0,    0,   27,
  2763. !     1,    0,    0,    2,    3,    4,    5,    6,    0,    0,
  2764. !     0,    7,    8,    9,   10,   11,   12,    0,    0,    0,
  2765. !     0,   13,   14,   15,   16,   17,   18,   19,   30,    0,
  2766. !     0,   28,   20,   21,   22,   23,    0,   24,   25,    0,
  2767. !    26,    0,    1,    0,    0,    2,    3,    4,    5,    6,
  2768. !   115,    0,    0,    7,    8,    9,   10,   11,   12,    0,
  2769. !     0,    0,    0,   13,   14,   15,   16,   17,   18,   19,
  2770. !     0,    0,    0,    0,   20,   21,   22,   23,    0,   24,
  2771. !    25,    0,   26,    0,    0,    0,    1,    0,    0,    2,
  2772. !     3,    4,    5,    6,    0,    0,    0,    7,    8,    9,
  2773. !    10,   11,   12,    0,    0,    0,    0,   13,   14,   15,
  2774. !    16,   17,   18,   19,    0,    0,    0,    0,   20,   21,
  2775. !    22,   23,    0,   24,   25,    1,   26,    0,    2,    3,
  2776. !     4,    5,    6,    0,    0,    0,    7,    8,    9,   10,
  2777. !    11,   12,    0,    0,    0,    0,   13,   14,   15,   16,
  2778. !    17,   18,   19,    0,    0,    0,    0,    0,    0,   22,
  2779. !    23,    0,   24,   25,    0,   26,    0,    2,    3,    4,
  2780. !     5,    6,    0,    0,    0,    7,    8,    9,   10,   11,
  2781. !    12,    0,    0,    0,    0,   13,   14,   15,   16,   17,
  2782. !    18,   19,    0,    0,    0,    0,    0,    0,   22,   23,
  2783. !     0,   24,   25,    0,   26,
  2784.   };
  2785. ! short yycheck[] = {                                     123,
  2786. !     0,  125,  123,    1,   74,  123,  125,  123,    0,    9,
  2787. !    77,  125,   20,   21,  287,  288,  289,  290,  125,  125,
  2788. !   125,  125,  125,  125,  281,  125,  260,  261,  280,   37,
  2789. !   280,  281,    6,    7,    8,  257,  258,  123,   30,  123,
  2790. !     0,    0,  276,  277,  278,    0,  268,  269,   22,   76,
  2791. !     9,  115,   26,   86,  124,  125,    3,    4,    5,  126,
  2792. !    52,  295,   98,   71,  298,   -1,   15,   16,   17,   18,
  2793. !   260,  261,  132,   -1,   72,   73,   84,   75,   -1,   87,
  2794. !   276,  277,  278,   -1,    0,   -1,  276,  277,  278,  257,
  2795. !   258,   -1,   -1,    9,   94,   -1,   95,   96,   97,  295,
  2796. !   268,  269,  298,   -1,   -1,  295,   -1,   -1,  298,   -1,
  2797. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  127,
  2798. !   112,   -1,  130,  123,  116,  125,  126,    0,   -1,   -1,
  2799. !    -1,  139,   -1,   -1,   -1,   94,    9,   -1,   -1,   -1,
  2800. !   132,  115,   -1,   -1,  136,   94,   95,   96,   97,   -1,
  2801. !    -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  280,
  2802. !   281,   -1,  280,  281,  123,  279,  125,  126,  287,  288,
  2803. !   289,  290,  279,  279,  279,  279,  279,  279,   94,  279,
  2804. !    -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,
  2805. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2806. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,
  2807. !   126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2808. !    -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2809. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2810. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2811. !   123,   -1,  125,  126,   -1,   -1,   -1,   -1,   -1,  259,
  2812. !   260,  261,  262,  263,  264,  265,  266,  267,   -1,   -1,
  2813. !   270,  271,  272,  273,  274,  275,  276,  277,  278,  279,
  2814. !   280,  281,  282,  283,  284,  285,  286,   -1,   -1,   -1,
  2815. !    -1,  291,  292,  293,  294,  295,  296,  297,  298,  299,
  2816. !   259,  260,  261,  262,  263,  264,  265,  266,  267,  125,
  2817. !    -1,  270,  271,  272,  273,  274,  275,  276,  277,  278,
  2818. !   279,  280,  281,  282,  283,  284,  285,  286,   -1,   -1,
  2819. !    -1,   -1,  291,  292,  293,  294,  295,  296,  297,  298,
  2820. !   299,  257,  258,  259,  260,  261,  262,  263,  264,  265,
  2821. !   266,  267,  268,  269,  270,  271,  272,  273,  274,  275,
  2822. !    -1,   -1,    0,  279,  280,  281,  282,  283,  284,  285,
  2823. !   286,    9,   -1,   -1,   -1,  291,  292,  293,  294,   -1,
  2824. !   296,  297,   -1,  299,  257,  258,  259,  260,  261,  262,
  2825. !   263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
  2826. !   273,  274,  275,   -1,   -1,    0,  279,  280,  281,  282,
  2827. !   283,  284,  285,  286,    9,   -1,   -1,   -1,  291,  292,
  2828. !   293,  294,   -1,  296,  297,   -1,  299,   -1,   -1,   -1,
  2829. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2830. !    -1,  257,  258,   -1,  260,  261,   -1,   -1,    0,   -1,
  2831. !    -1,   -1,  268,  269,   -1,   -1,   94,    9,   -1,   -1,
  2832. !   276,  277,  278,  279,   -1,   -1,    9,   10,   11,   12,
  2833. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  295,
  2834. !    23,   -1,  298,   -1,   -1,  123,   -1,  125,  126,   -1,
  2835. !    -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
  2836. !     9,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2837. !    53,   54,   -1,   -1,   -1,   -1,   59,   60,   61,   62,
  2838. !    -1,   -1,   -1,   66,   -1,   -1,   -1,   70,  123,   -1,
  2839. !   125,  126,   -1,   76,   -1,   78,   -1,   -1,   -1,   82,
  2840. !    -1,   -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2841. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2842. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2843. !    -1,  123,   -1,  125,  126,   -1,   -1,   -1,   -1,   -1,
  2844. !    -1,   -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,   -1,
  2845. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2846. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2847. !    -1,   -1,   -1,   -1,  123,   -1,  125,  126,   -1,  257,
  2848. !   258,  259,  260,  261,  262,  263,  264,  265,  266,  267,
  2849. !   268,  269,  270,  271,  272,  273,  274,  275,   -1,   -1,
  2850. !    -1,  279,  280,  281,  282,  283,  284,  285,  286,   -1,
  2851. !    -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,  297,
  2852. !    -1,  299,  257,  258,  259,  260,  261,  262,  263,  264,
  2853. !   265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
  2854. !   275,   -1,   -1,   -1,  279,  280,  281,  282,  283,  284,
  2855. !   285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,
  2856. !    -1,  296,  297,   -1,  299,  257,  258,  259,  260,  261,
  2857. !   262,  263,  264,  265,  266,  267,  268,  269,  270,  271,
  2858. !   272,  273,  274,  275,   -1,   -1,    0,  279,  280,  281,
  2859. !   282,  283,  284,  285,  286,    9,   -1,   -1,   -1,  291,
  2860. !   292,  293,  294,   -1,  296,  297,   -1,  299,  257,  258,
  2861. !   259,  260,  261,  262,  263,  264,  265,  266,  267,  268,
  2862. !   269,  270,  271,  272,  273,  274,  275,   -1,   -1,    0,
  2863. !   279,  280,  281,  282,  283,  284,  285,  286,    9,   -1,
  2864. !    -1,   -1,  291,  292,  293,  294,   -1,  296,  297,   -1,
  2865. !   299,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2866. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2867. !    -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2868. !    94,    9,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2869. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2870. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  2871. !    -1,  125,  126,   -1,   -1,    0,   -1,   -1,   -1,   -1,
  2872. !    -1,   -1,   -1,   94,    9,   -1,   -1,   -1,   -1,   -1,
  2873. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2874. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2875. !    -1,   -1,  123,   -1,  125,  126,   -1,   -1,   -1,   -1,
  2876. !    -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,
  2877. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2878. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2879. !    -1,   -1,   -1,   -1,   -1,  123,   -1,  125,  126,   -1,
  2880. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
  2881. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2882. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2883. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,
  2884. !   125,  126,   -1,  257,  258,  259,  260,  261,  262,  263,
  2885. !   264,  265,  266,  267,  268,  269,  270,  271,  272,  273,
  2886. !   274,  275,   -1,   -1,   -1,  279,  280,  281,  282,  283,
  2887. !   284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  2888. !   294,   -1,  296,  297,   -1,  299,  257,  258,  259,  260,
  2889. !   261,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  2890. !   271,  272,  273,  274,  275,   -1,   -1,   -1,  279,  280,
  2891. !   281,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
  2892. !   291,  292,  293,  294,   -1,  296,  297,   -1,  299,  257,
  2893. !   258,  259,  260,  261,  262,  263,  264,  265,  266,  267,
  2894. !   268,  269,  270,  271,  272,  273,  274,  275,   -1,   -1,
  2895. !     0,  279,  280,  281,  282,  283,  284,  285,  286,    9,
  2896. !    -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,  297,
  2897. !    -1,  299,  257,  258,  259,  260,  261,  262,  263,  264,
  2898. !   265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
  2899. !   275,   -1,   -1,    0,  279,  280,  281,  282,  283,  284,
  2900. !   285,  286,    9,   -1,   -1,   -1,  291,  292,  293,  294,
  2901. !    -1,  296,  297,   -1,  299,   -1,   -1,   -1,   -1,   -1,
  2902. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2903. !    -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
  2904. !    -1,   -1,   -1,   -1,   94,    9,   -1,   -1,   -1,   -1,
  2905. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2906. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2907. !    -1,   -1,   -1,  123,   -1,  125,  126,   -1,   -1,    0,
  2908. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,    9,   -1,
  2909. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2910. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2911. !    -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,  126,
  2912. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2913. !    94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2914. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2915. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  2916. !    -1,  125,  126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2917. !    -1,   -1,   -1,   94,   -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,   -1,  123,   -1,  125,  126,   -1,  257,  258,  259,
  2921. !   260,  261,  262,  263,  264,  265,  266,  267,  268,  269,
  2922. !   270,  271,  272,  273,  274,  275,   -1,   -1,   -1,  279,
  2923. !   280,  281,  282,  283,  284,  285,  286,   -1,   -1,   -1,
  2924. !    -1,  291,  292,  293,  294,   -1,  296,  297,   -1,  299,
  2925. !   257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
  2926. !   267,  268,  269,  270,  271,  272,  273,  274,  275,   -1,
  2927. !     9,   -1,  279,  280,  281,  282,  283,  284,  285,  286,
  2928. !    -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,
  2929. !   297,   -1,  299,  257,  258,  259,  260,  261,  262,  263,
  2930. !   264,  265,  266,  267,  268,  269,  270,  271,  272,  273,
  2931. !   274,  275,    9,   -1,   -1,  279,  280,  281,  282,  283,
  2932. !   284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  2933. !   294,   -1,  296,  297,   -1,  299,  257,  258,  259,   -1,
  2934. !    -1,  262,  263,  264,  265,  266,  267,  268,  269,  270,
  2935. !   271,  272,  273,  274,  275,   94,    9,   -1,  279,  280,
  2936. !   281,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
  2937. !   291,  292,  293,  294,   -1,  296,  297,   -1,  299,   -1,
  2938. !    -1,   -1,   -1,   -1,  123,   -1,  125,  126,   -1,   -1,
  2939. !    -1,   -1,   -1,   -1,   -1,    9,   -1,   94,   -1,   -1,
  2940. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2941. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2942. !    -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,   -1,  126,
  2943. !    -1,   -1,   -1,   -1,    9,   -1,   -1,   -1,   -1,   -1,
  2944. !    -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2945. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2946. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2947. !   123,   -1,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,
  2948. !    94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2949. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  2950. !    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  2951. !    -1,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,   94,
  2952. !   259,   -1,   -1,  262,  263,  264,  265,  266,   -1,   -1,
  2953. !    -1,  270,  271,  272,  273,  274,  275,   -1,   -1,   -1,
  2954. !    -1,  280,  281,  282,  283,  284,  285,  286,  123,   -1,
  2955. !    -1,  126,  291,  292,  293,  294,   -1,  296,  297,   -1,
  2956. !   299,   -1,  259,   -1,   -1,  262,  263,  264,  265,  266,
  2957. !   267,   -1,   -1,  270,  271,  272,  273,  274,  275,   -1,
  2958. !    -1,   -1,   -1,  280,  281,  282,  283,  284,  285,  286,
  2959. !    -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,  296,
  2960. !   297,   -1,  299,   -1,   -1,   -1,  259,   -1,   -1,  262,
  2961. !   263,  264,  265,  266,   -1,   -1,   -1,  270,  271,  272,
  2962. !   273,  274,  275,   -1,   -1,   -1,   -1,  280,  281,  282,
  2963. !   283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,
  2964. !   293,  294,   -1,  296,  297,  259,  299,   -1,  262,  263,
  2965. !   264,  265,  266,   -1,   -1,   -1,  270,  271,  272,  273,
  2966. !   274,  275,   -1,   -1,   -1,   -1,  280,  281,  282,  283,
  2967. !   284,  285,  286,   -1,   -1,   -1,   -1,   -1,   -1,  293,
  2968. !   294,   -1,  296,  297,   -1,  299,   -1,  262,  263,  264,
  2969. !   265,  266,   -1,   -1,   -1,  270,  271,  272,  273,  274,
  2970. !   275,   -1,   -1,   -1,   -1,  280,  281,  282,  283,  284,
  2971. !   285,  286,   -1,   -1,   -1,   -1,   -1,   -1,  293,  294,
  2972. !    -1,  296,  297,   -1,  299,
  2973.   };
  2974. ! #define YYFINAL 31
  2975. ! #ifndef YYDEBUG
  2976. ! #define YYDEBUG 0
  2977. ! #endif
  2978. ! #define YYMAXTOKEN 314
  2979. ! #if YYDEBUG
  2980. ! char *yyname[] = {
  2981. ! "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,
  2982. ! 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,
  2983. ! 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,
  2984. ! 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,
  2985. ! 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,
  2986. ! 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,
  2987. ! 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",
  2988. ! "SMALLOVER","SQRT","SUB","SUP","LPILE","RPILE","CPILE","PILE","LEFT","RIGHT",
  2989. ! "TO","FROM","SIZE","FONT","ROMAN","BOLD","ITALIC","FAT","ACCENT","BAR","UNDER",
  2990. ! "ABOVE","TEXT","QUOTED_TEXT","FWD","BACK","DOWN","UP","MATRIX","COL","LCOL",
  2991. ! "RCOL","CCOL","MARK","LINEUP","TYPE","VCENTER","PRIME","SPLIT","NOSPLIT",
  2992. ! "UACCENT","SPECIAL","SPACE","GFONT","GSIZE","DEFINE","NDEFINE","TDEFINE",
  2993. ! "SDEFINE","UNDEF","IFDEF","INCLUDE","DELIM","CHARTYPE","SET","GRFONT","GBFONT",
  2994.   };
  2995. ! char *yyrule[] = {
  2996. ! "$accept : top",
  2997. ! "top :",
  2998. ! "top : equation",
  2999. ! "equation : mark",
  3000. ! "equation : equation mark",
  3001. ! "mark : from_to",
  3002. ! "mark : MARK mark",
  3003. ! "mark : LINEUP mark",
  3004. ! "from_to : sqrt_over",
  3005. ! "from_to : sqrt_over TO from_to",
  3006. ! "from_to : sqrt_over FROM sqrt_over",
  3007. ! "from_to : sqrt_over FROM sqrt_over TO from_to",
  3008. ! "from_to : sqrt_over FROM sqrt_over FROM from_to",
  3009. ! "sqrt_over : script",
  3010. ! "sqrt_over : SQRT sqrt_over",
  3011. ! "sqrt_over : sqrt_over OVER sqrt_over",
  3012. ! "sqrt_over : sqrt_over SMALLOVER sqrt_over",
  3013. ! "script : nonsup",
  3014. ! "script : simple SUP script",
  3015. ! "nonsup : simple",
  3016. ! "nonsup : simple SUB nonsup",
  3017. ! "nonsup : simple SUB simple SUP script",
  3018. ! "simple : TEXT",
  3019. ! "simple : QUOTED_TEXT",
  3020. ! "simple : SPLIT QUOTED_TEXT",
  3021. ! "simple : NOSPLIT TEXT",
  3022. ! "simple : '^'",
  3023. ! "simple : '~'",
  3024. ! "simple : '\\t'",
  3025. ! "simple : '{' equation '}'",
  3026. ! "simple : PILE pile_arg",
  3027. ! "simple : LPILE pile_arg",
  3028. ! "simple : RPILE pile_arg",
  3029. ! "simple : CPILE pile_arg",
  3030. ! "simple : MATRIX '{' column_list '}'",
  3031. ! "simple : LEFT delim equation RIGHT delim",
  3032. ! "simple : LEFT delim equation",
  3033. ! "simple : simple BAR",
  3034. ! "simple : simple UNDER",
  3035. ! "simple : simple PRIME",
  3036. ! "simple : simple ACCENT simple",
  3037. ! "simple : simple UACCENT simple",
  3038. ! "simple : ROMAN simple",
  3039. ! "simple : BOLD simple",
  3040. ! "simple : ITALIC simple",
  3041. ! "simple : FAT simple",
  3042. ! "simple : FONT text simple",
  3043. ! "simple : SIZE text simple",
  3044. ! "simple : FWD number simple",
  3045. ! "simple : BACK number simple",
  3046. ! "simple : UP number simple",
  3047. ! "simple : DOWN number simple",
  3048. ! "simple : TYPE text simple",
  3049. ! "simple : VCENTER simple",
  3050. ! "simple : SPECIAL text simple",
  3051. ! "number : text",
  3052. ! "pile_element_list : equation",
  3053. ! "pile_element_list : pile_element_list ABOVE equation",
  3054. ! "pile_arg : '{' pile_element_list '}'",
  3055. ! "pile_arg : number '{' pile_element_list '}'",
  3056. ! "column_list : column",
  3057. ! "column_list : column_list column",
  3058. ! "column_element_list : equation",
  3059. ! "column_element_list : column_element_list ABOVE equation",
  3060. ! "column_arg : '{' column_element_list '}'",
  3061. ! "column_arg : number '{' column_element_list '}'",
  3062. ! "column : COL column_arg",
  3063. ! "column : LCOL column_arg",
  3064. ! "column : RCOL column_arg",
  3065. ! "column : CCOL column_arg",
  3066. ! "text : TEXT",
  3067. ! "text : QUOTED_TEXT",
  3068. ! "delim : text",
  3069. ! "delim : '{'",
  3070. ! "delim : '}'",
  3071.   };
  3072.   #endif
  3073. ! #define yyclearin (yychar=(-1))
  3074. ! #define yyerrok (yyerrflag=0)
  3075. ! #ifdef YYSTACKSIZE
  3076.   #ifndef YYMAXDEPTH
  3077. ! #define YYMAXDEPTH YYSTACKSIZE
  3078.   #endif
  3079. ! #else
  3080. ! #ifdef YYMAXDEPTH
  3081. ! #define YYSTACKSIZE YYMAXDEPTH
  3082. ! #else
  3083. ! #define YYSTACKSIZE 500
  3084. ! #define YYMAXDEPTH 500
  3085.   #endif
  3086.   #endif
  3087. ! int yydebug;
  3088. ! int yynerrs;
  3089. ! int yyerrflag;
  3090. ! int yychar;
  3091. ! short *yyssp;
  3092. ! YYSTYPE *yyvsp;
  3093. ! YYSTYPE yyval;
  3094. ! YYSTYPE yylval;
  3095. ! short yyss[YYSTACKSIZE];
  3096. ! YYSTYPE yyvs[YYSTACKSIZE];
  3097. ! #define yystacksize YYSTACKSIZE
  3098. ! #define YYABORT goto yyabort
  3099. ! #define YYACCEPT goto yyaccept
  3100. ! #define YYERROR goto yyerrlab
  3101.   int
  3102.   yyparse()
  3103.   {
  3104. !     register int yym, yyn, yystate;
  3105. ! #if YYDEBUG
  3106. !     register char *yys;
  3107. !     extern char *getenv();
  3108.   
  3109. !     if (yys = getenv("YYDEBUG"))
  3110.       {
  3111. !         yyn = *yys;
  3112. !         if (yyn >= '0' && yyn <= '9')
  3113. !             yydebug = yyn - '0';
  3114.       }
  3115.   #endif
  3116.   
  3117. !     yynerrs = 0;
  3118. !     yyerrflag = 0;
  3119. !     yychar = (-1);
  3120. !     yyssp = yyss;
  3121. !     yyvsp = yyvs;
  3122. !     *yyssp = yystate = 0;
  3123. ! yyloop:
  3124. !     if (yyn = yydefred[yystate]) goto yyreduce;
  3125. !     if (yychar < 0)
  3126.       {
  3127. !         if ((yychar = yylex()) < 0) yychar = 0;
  3128. ! #if YYDEBUG
  3129. !         if (yydebug)
  3130. !         {
  3131. !             yys = 0;
  3132. !             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  3133. !             if (!yys) yys = "illegal-symbol";
  3134. !             printf("yydebug: state %d, reading %d (%s)\n", yystate,
  3135. !                     yychar, yys);
  3136. !         }
  3137.   #endif
  3138.       }
  3139. !     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
  3140. !             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  3141.       {
  3142. ! #if YYDEBUG
  3143. !         if (yydebug)
  3144. !             printf("yydebug: state %d, shifting to state %d\n",
  3145. !                     yystate, yytable[yyn]);
  3146. ! #endif
  3147. !         if (yyssp >= yyss + yystacksize - 1)
  3148. !         {
  3149. !             goto yyoverflow;
  3150. !         }
  3151. !         *++yyssp = yystate = yytable[yyn];
  3152. !         *++yyvsp = yylval;
  3153. !         yychar = (-1);
  3154. !         if (yyerrflag > 0)  --yyerrflag;
  3155. !         goto yyloop;
  3156.       }
  3157. !     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
  3158. !             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  3159.       {
  3160. !         yyn = yytable[yyn];
  3161. !         goto yyreduce;
  3162. !     }
  3163. !     if (yyerrflag) goto yyinrecovery;
  3164. ! #ifdef lint
  3165. !     goto yynewerror;
  3166. ! #endif
  3167. ! yynewerror:
  3168. !     yyerror("syntax error");
  3169. ! #ifdef lint
  3170. !     goto yyerrlab;
  3171.   #endif
  3172. - yyerrlab:
  3173. -     ++yynerrs;
  3174. - yyinrecovery:
  3175. -     if (yyerrflag < 3)
  3176. -     {
  3177. -         yyerrflag = 3;
  3178. -         for (;;)
  3179. -         {
  3180. -             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
  3181. -                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
  3182. -             {
  3183. - #if YYDEBUG
  3184. -                 if (yydebug)
  3185. -                     printf("yydebug: state %d, error recovery shifting\
  3186. -  to state %d\n", *yyssp, yytable[yyn]);
  3187. - #endif
  3188. -                 if (yyssp >= yyss + yystacksize - 1)
  3189. -                 {
  3190. -                     goto yyoverflow;
  3191. -                 }
  3192. -                 *++yyssp = yystate = yytable[yyn];
  3193. -                 *++yyvsp = yylval;
  3194. -                 goto yyloop;
  3195. -             }
  3196. -             else
  3197. -             {
  3198. - #if YYDEBUG
  3199. -                 if (yydebug)
  3200. -                     printf("yydebug: error recovery discarding state %d\n",
  3201. -                             *yyssp);
  3202. - #endif
  3203. -                 if (yyssp <= yyss) goto yyabort;
  3204. -                 --yyssp;
  3205. -                 --yyvsp;
  3206. -             }
  3207. -         }
  3208.       }
  3209. !     else
  3210.       {
  3211. !         if (yychar == 0) goto yyabort;
  3212. ! #if YYDEBUG
  3213. !         if (yydebug)
  3214. !         {
  3215. !             yys = 0;
  3216. !             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  3217. !             if (!yys) yys = "illegal-symbol";
  3218. !             printf("yydebug: state %d, error recovery discards token %d (%s)\n",
  3219. !                     yystate, yychar, yys);
  3220. !         }
  3221. ! #endif
  3222. !         yychar = (-1);
  3223. !         goto yyloop;
  3224.       }
  3225.   yyreduce:
  3226. ! #if YYDEBUG
  3227. !     if (yydebug)
  3228. !         printf("yydebug: state %d, reducing by rule %d (%s)\n",
  3229. !                 yystate, yyn, yyrule[yyn]);
  3230. ! #endif
  3231. !     yym = yylen[yyn];
  3232. !     yyval = yyvsp[1-yym];
  3233. !     switch (yyn)
  3234.       {
  3235.   case 2:
  3236. ! #line 126 "/u/jjc/groff/eqn/eqn.y"
  3237. ! { yyvsp[0].b->top_level(); non_empty_flag = 1; }
  3238. ! break;
  3239.   case 3:
  3240. ! #line 131 "/u/jjc/groff/eqn/eqn.y"
  3241. ! { yyval.b = yyvsp[0].b; }
  3242. ! break;
  3243.   case 4:
  3244. ! #line 133 "/u/jjc/groff/eqn/eqn.y"
  3245.   {
  3246.             list_box *lb = yyvsp[-1].b->to_list_box();
  3247.             if (!lb)
  3248.               lb = new list_box(yyvsp[-1].b);
  3249.             lb->append(yyvsp[0].b);
  3250.             yyval.b = lb;
  3251. !         }
  3252. ! break;
  3253.   case 5:
  3254. ! #line 144 "/u/jjc/groff/eqn/eqn.y"
  3255. ! { yyval.b = yyvsp[0].b; }
  3256. ! break;
  3257.   case 6:
  3258. ! #line 146 "/u/jjc/groff/eqn/eqn.y"
  3259. ! { yyval.b = make_mark_box(yyvsp[0].b); }
  3260. ! break;
  3261.   case 7:
  3262. ! #line 148 "/u/jjc/groff/eqn/eqn.y"
  3263. ! { yyval.b = make_lineup_box(yyvsp[0].b); }
  3264. ! break;
  3265.   case 8:
  3266. ! #line 153 "/u/jjc/groff/eqn/eqn.y"
  3267. ! { yyval.b = yyvsp[0].b; }
  3268. ! break;
  3269.   case 9:
  3270. ! #line 155 "/u/jjc/groff/eqn/eqn.y"
  3271. ! { yyval.b = make_limit_box(yyvsp[-2].b, 0, yyvsp[0].b); }
  3272. ! break;
  3273.   case 10:
  3274. ! #line 157 "/u/jjc/groff/eqn/eqn.y"
  3275. ! { yyval.b = make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0); }
  3276. ! break;
  3277.   case 11:
  3278. ! #line 159 "/u/jjc/groff/eqn/eqn.y"
  3279. ! { yyval.b = make_limit_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); }
  3280. ! break;
  3281.   case 12:
  3282. ! #line 161 "/u/jjc/groff/eqn/eqn.y"
  3283. ! { yyval.b = make_limit_box(yyvsp[-4].b, make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0), 0); }
  3284. ! break;
  3285.   case 13:
  3286. ! #line 166 "/u/jjc/groff/eqn/eqn.y"
  3287. ! { yyval.b = yyvsp[0].b; }
  3288. ! break;
  3289.   case 14:
  3290. ! #line 168 "/u/jjc/groff/eqn/eqn.y"
  3291. ! { yyval.b = make_sqrt_box(yyvsp[0].b); }
  3292. ! break;
  3293.   case 15:
  3294. ! #line 170 "/u/jjc/groff/eqn/eqn.y"
  3295. ! { yyval.b = make_over_box(yyvsp[-2].b, yyvsp[0].b); }
  3296. ! break;
  3297.   case 16:
  3298. ! #line 172 "/u/jjc/groff/eqn/eqn.y"
  3299. ! { yyval.b = make_small_over_box(yyvsp[-2].b, yyvsp[0].b); }
  3300. ! break;
  3301.   case 17:
  3302. ! #line 177 "/u/jjc/groff/eqn/eqn.y"
  3303. ! { yyval.b = yyvsp[0].b; }
  3304. ! break;
  3305.   case 18:
  3306. ! #line 179 "/u/jjc/groff/eqn/eqn.y"
  3307. ! { yyval.b = make_script_box(yyvsp[-2].b, 0, yyvsp[0].b); }
  3308. ! break;
  3309.   case 19:
  3310. ! #line 184 "/u/jjc/groff/eqn/eqn.y"
  3311. ! { yyval.b = yyvsp[0].b; }
  3312. ! break;
  3313.   case 20:
  3314. ! #line 186 "/u/jjc/groff/eqn/eqn.y"
  3315. ! { yyval.b = make_script_box(yyvsp[-2].b, yyvsp[0].b, 0); }
  3316. ! break;
  3317.   case 21:
  3318. ! #line 188 "/u/jjc/groff/eqn/eqn.y"
  3319. ! { yyval.b = make_script_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); }
  3320. ! break;
  3321.   case 22:
  3322. ! #line 193 "/u/jjc/groff/eqn/eqn.y"
  3323. ! { yyval.b = split_text(yyvsp[0].str); }
  3324. ! break;
  3325.   case 23:
  3326. ! #line 195 "/u/jjc/groff/eqn/eqn.y"
  3327. ! { yyval.b = new quoted_text_box(yyvsp[0].str); }
  3328. ! break;
  3329.   case 24:
  3330. ! #line 197 "/u/jjc/groff/eqn/eqn.y"
  3331. ! { yyval.b = split_text(yyvsp[0].str); }
  3332. ! break;
  3333.   case 25:
  3334. ! #line 199 "/u/jjc/groff/eqn/eqn.y"
  3335. ! { yyval.b = new quoted_text_box(yyvsp[0].str); }
  3336. ! break;
  3337.   case 26:
  3338. ! #line 201 "/u/jjc/groff/eqn/eqn.y"
  3339. ! { yyval.b = new half_space_box; }
  3340. ! break;
  3341.   case 27:
  3342. ! #line 203 "/u/jjc/groff/eqn/eqn.y"
  3343. ! { yyval.b = new space_box; }
  3344. ! break;
  3345.   case 28:
  3346. ! #line 205 "/u/jjc/groff/eqn/eqn.y"
  3347. ! { yyval.b = new tab_box; }
  3348. ! break;
  3349.   case 29:
  3350. ! #line 207 "/u/jjc/groff/eqn/eqn.y"
  3351. ! { yyval.b = yyvsp[-1].b; }
  3352. ! break;
  3353.   case 30:
  3354. ! #line 209 "/u/jjc/groff/eqn/eqn.y"
  3355. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; }
  3356. ! break;
  3357.   case 31:
  3358. ! #line 211 "/u/jjc/groff/eqn/eqn.y"
  3359. ! { yyvsp[0].pb->set_alignment(LEFT_ALIGN); yyval.b = yyvsp[0].pb; }
  3360. ! break;
  3361.   case 32:
  3362. ! #line 213 "/u/jjc/groff/eqn/eqn.y"
  3363. ! { yyvsp[0].pb->set_alignment(RIGHT_ALIGN); yyval.b = yyvsp[0].pb; }
  3364. ! break;
  3365.   case 33:
  3366. ! #line 215 "/u/jjc/groff/eqn/eqn.y"
  3367. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; }
  3368. ! break;
  3369.   case 34:
  3370. ! #line 217 "/u/jjc/groff/eqn/eqn.y"
  3371. ! { yyval.b = yyvsp[-1].mb; }
  3372. ! break;
  3373.   case 35:
  3374. ! #line 219 "/u/jjc/groff/eqn/eqn.y"
  3375. ! { yyval.b = make_delim_box(yyvsp[-3].str, yyvsp[-2].b, yyvsp[0].str); }
  3376. ! break;
  3377.   case 36:
  3378. ! #line 221 "/u/jjc/groff/eqn/eqn.y"
  3379. ! { yyval.b = make_delim_box(yyvsp[-1].str, yyvsp[0].b, 0); }
  3380. ! break;
  3381.   case 37:
  3382. ! #line 223 "/u/jjc/groff/eqn/eqn.y"
  3383. ! { yyval.b = make_overline_box(yyvsp[-1].b); }
  3384. ! break;
  3385.   case 38:
  3386. ! #line 225 "/u/jjc/groff/eqn/eqn.y"
  3387. ! { yyval.b = make_underline_box(yyvsp[-1].b); }
  3388. ! break;
  3389.   case 39:
  3390. ! #line 227 "/u/jjc/groff/eqn/eqn.y"
  3391. ! { yyval.b = make_prime_box(yyvsp[-1].b); }
  3392. ! break;
  3393.   case 40:
  3394. ! #line 229 "/u/jjc/groff/eqn/eqn.y"
  3395. ! { yyval.b = make_accent_box(yyvsp[-2].b, yyvsp[0].b); }
  3396. ! break;
  3397.   case 41:
  3398. ! #line 231 "/u/jjc/groff/eqn/eqn.y"
  3399. ! { yyval.b = make_uaccent_box(yyvsp[-2].b, yyvsp[0].b); }
  3400. ! break;
  3401.   case 42:
  3402. ! #line 233 "/u/jjc/groff/eqn/eqn.y"
  3403. ! { yyval.b = new font_box(strsave(get_grfont()), yyvsp[0].b); }
  3404. ! break;
  3405.   case 43:
  3406. ! #line 235 "/u/jjc/groff/eqn/eqn.y"
  3407. ! { yyval.b = new font_box(strsave(get_gbfont()), yyvsp[0].b); }
  3408. ! break;
  3409.   case 44:
  3410. ! #line 237 "/u/jjc/groff/eqn/eqn.y"
  3411. ! { yyval.b = new font_box(strsave(get_gfont()), yyvsp[0].b); }
  3412. ! break;
  3413.   case 45:
  3414. ! #line 239 "/u/jjc/groff/eqn/eqn.y"
  3415. ! { yyval.b = new fat_box(yyvsp[0].b); }
  3416. ! break;
  3417.   case 46:
  3418. ! #line 241 "/u/jjc/groff/eqn/eqn.y"
  3419. ! { yyval.b = new font_box(yyvsp[-1].str, yyvsp[0].b); }
  3420. ! break;
  3421.   case 47:
  3422. ! #line 243 "/u/jjc/groff/eqn/eqn.y"
  3423. ! { yyval.b = new size_box(yyvsp[-1].str, yyvsp[0].b); }
  3424. ! break;
  3425.   case 48:
  3426. ! #line 245 "/u/jjc/groff/eqn/eqn.y"
  3427. ! { yyval.b = new hmotion_box(yyvsp[-1].n, yyvsp[0].b); }
  3428. ! break;
  3429.   case 49:
  3430. ! #line 247 "/u/jjc/groff/eqn/eqn.y"
  3431. ! { yyval.b = new hmotion_box(-yyvsp[-1].n, yyvsp[0].b); }
  3432. ! break;
  3433.   case 50:
  3434. ! #line 249 "/u/jjc/groff/eqn/eqn.y"
  3435. ! { yyval.b = new vmotion_box(yyvsp[-1].n, yyvsp[0].b); }
  3436. ! break;
  3437.   case 51:
  3438. ! #line 251 "/u/jjc/groff/eqn/eqn.y"
  3439. ! { yyval.b = new vmotion_box(-yyvsp[-1].n, yyvsp[0].b); }
  3440. ! break;
  3441.   case 52:
  3442. ! #line 253 "/u/jjc/groff/eqn/eqn.y"
  3443. ! { yyvsp[0].b->set_spacing_type(yyvsp[-1].str); yyval.b = yyvsp[0].b; }
  3444. ! break;
  3445.   case 53:
  3446. ! #line 255 "/u/jjc/groff/eqn/eqn.y"
  3447. ! { yyval.b = new vcenter_box(yyvsp[0].b); }
  3448. ! break;
  3449.   case 54:
  3450. ! #line 257 "/u/jjc/groff/eqn/eqn.y"
  3451. ! { yyval.b = make_special_box(yyvsp[-1].str, yyvsp[0].b); }
  3452. ! break;
  3453.   case 55:
  3454. ! #line 262 "/u/jjc/groff/eqn/eqn.y"
  3455.   {
  3456.             int n;
  3457.             if (sscanf(yyvsp[0].str, "%d", &n) == 1)
  3458.               yyval.n = n;
  3459.             a_delete yyvsp[0].str;
  3460. !         }
  3461. ! break;
  3462.   case 56:
  3463. ! #line 272 "/u/jjc/groff/eqn/eqn.y"
  3464. ! { yyval.pb = new pile_box(yyvsp[0].b); }
  3465. ! break;
  3466.   case 57:
  3467. ! #line 274 "/u/jjc/groff/eqn/eqn.y"
  3468. ! { yyvsp[-2].pb->append(yyvsp[0].b); yyval.pb = yyvsp[-2].pb; }
  3469. ! break;
  3470.   case 58:
  3471. ! #line 279 "/u/jjc/groff/eqn/eqn.y"
  3472. ! { yyval.pb = yyvsp[-1].pb; }
  3473. ! break;
  3474.   case 59:
  3475. ! #line 281 "/u/jjc/groff/eqn/eqn.y"
  3476. ! { yyvsp[-1].pb->set_space(yyvsp[-3].n); yyval.pb = yyvsp[-1].pb; }
  3477. ! break;
  3478.   case 60:
  3479. ! #line 286 "/u/jjc/groff/eqn/eqn.y"
  3480. ! { yyval.mb = new matrix_box(yyvsp[0].col); }
  3481. ! break;
  3482.   case 61:
  3483. ! #line 288 "/u/jjc/groff/eqn/eqn.y"
  3484. ! { yyvsp[-1].mb->append(yyvsp[0].col); yyval.mb = yyvsp[-1].mb; }
  3485. ! break;
  3486.   case 62:
  3487. ! #line 293 "/u/jjc/groff/eqn/eqn.y"
  3488. ! { yyval.col = new column(yyvsp[0].b); }
  3489. ! break;
  3490.   case 63:
  3491. ! #line 295 "/u/jjc/groff/eqn/eqn.y"
  3492. ! { yyvsp[-2].col->append(yyvsp[0].b); yyval.col = yyvsp[-2].col; }
  3493. ! break;
  3494.   case 64:
  3495. ! #line 300 "/u/jjc/groff/eqn/eqn.y"
  3496. ! { yyval.col = yyvsp[-1].col; }
  3497. ! break;
  3498.   case 65:
  3499. ! #line 302 "/u/jjc/groff/eqn/eqn.y"
  3500. ! { yyvsp[-1].col->set_space(yyvsp[-3].n); yyval.col = yyvsp[-1].col; }
  3501. ! break;
  3502.   case 66:
  3503. ! #line 307 "/u/jjc/groff/eqn/eqn.y"
  3504. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; }
  3505. ! break;
  3506.   case 67:
  3507. ! #line 309 "/u/jjc/groff/eqn/eqn.y"
  3508. ! { yyvsp[0].col->set_alignment(LEFT_ALIGN); yyval.col = yyvsp[0].col; }
  3509. ! break;
  3510.   case 68:
  3511. ! #line 311 "/u/jjc/groff/eqn/eqn.y"
  3512. ! { yyvsp[0].col->set_alignment(RIGHT_ALIGN); yyval.col = yyvsp[0].col; }
  3513. ! break;
  3514.   case 69:
  3515. ! #line 313 "/u/jjc/groff/eqn/eqn.y"
  3516. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; }
  3517. ! break;
  3518.   case 70:
  3519. ! #line 317 "/u/jjc/groff/eqn/eqn.y"
  3520. ! { yyval.str = yyvsp[0].str; }
  3521. ! break;
  3522.   case 71:
  3523. ! #line 319 "/u/jjc/groff/eqn/eqn.y"
  3524. ! { yyval.str = yyvsp[0].str; }
  3525. ! break;
  3526.   case 72:
  3527. ! #line 324 "/u/jjc/groff/eqn/eqn.y"
  3528. ! { yyval.str = yyvsp[0].str; }
  3529. ! break;
  3530.   case 73:
  3531. ! #line 326 "/u/jjc/groff/eqn/eqn.y"
  3532. ! { yyval.str = strsave("{"); }
  3533. ! break;
  3534.   case 74:
  3535. ! #line 328 "/u/jjc/groff/eqn/eqn.y"
  3536. ! { yyval.str = strsave("}"); }
  3537. ! break;
  3538. ! #line 1107 "y.tab.c"
  3539.       }
  3540. !     yyssp -= yym;
  3541. !     yystate = *yyssp;
  3542. !     yyvsp -= yym;
  3543. !     yym = yylhs[yyn];
  3544. !     if (yystate == 0 && yym == 0)
  3545.       {
  3546. ! #if YYDEBUG
  3547. !         if (yydebug)
  3548. !             printf("yydebug: after reduction, shifting from state 0 to\
  3549. !  state %d\n", YYFINAL);
  3550. ! #endif
  3551. !         yystate = YYFINAL;
  3552. !         *++yyssp = YYFINAL;
  3553. !         *++yyvsp = yyval;
  3554. !         if (yychar < 0)
  3555. !         {
  3556. !             if ((yychar = yylex()) < 0) yychar = 0;
  3557. ! #if YYDEBUG
  3558. !             if (yydebug)
  3559. !             {
  3560. !                 yys = 0;
  3561. !                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  3562. !                 if (!yys) yys = "illegal-symbol";
  3563. !                 printf("yydebug: state %d, reading %d (%s)\n",
  3564. !                         YYFINAL, yychar, yys);
  3565. !             }
  3566. ! #endif
  3567. !         }
  3568. !         if (yychar == 0) goto yyaccept;
  3569. !         goto yyloop;
  3570.       }
  3571. -     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
  3572. -             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
  3573. -         yystate = yytable[yyn];
  3574. -     else
  3575. -         yystate = yydgoto[yym];
  3576. - #if YYDEBUG
  3577. -     if (yydebug)
  3578. -         printf("yydebug: after reduction, shifting from state %d \
  3579. - to state %d\n", *yyssp, yystate);
  3580.   #endif
  3581. !     if (yyssp >= yyss + yystacksize - 1)
  3582.       {
  3583. !         goto yyoverflow;
  3584.       }
  3585. !     *++yyssp = yystate;
  3586. !     *++yyvsp = yyval;
  3587. !     goto yyloop;
  3588. ! yyoverflow:
  3589. !     yyerror("yacc stack overflow");
  3590. ! yyabort:
  3591. !     return (1);
  3592. ! yyaccept:
  3593. !     return (0);
  3594.   }
  3595. --- 85,1342 ----
  3596.       int n;
  3597.       column *col;
  3598.   } YYSTYPE;
  3599. ! #ifndef YYLTYPE
  3600. ! typedef
  3601. !   struct yyltype
  3602. !     {
  3603. !       int timestamp;
  3604. !       int first_line;
  3605. !       int first_column;
  3606. !       int last_line;
  3607. !       int last_column;
  3608. !       char *text;
  3609. !    }
  3610. !   yyltype;
  3611. ! #define YYLTYPE yyltype
  3612. ! #endif
  3613. ! #include <stdio.h>
  3614. ! #ifndef __cplusplus
  3615. ! #ifndef __STDC__
  3616. ! #define const
  3617. ! #endif
  3618. ! #endif
  3619. ! #define    YYFINAL        142
  3620. ! #define    YYFLAG        -32768
  3621. ! #define    YYNTBASE    66
  3622. ! #define YYTRANSLATE(x) ((unsigned)(x) <= 315 ? yytranslate[x] : 83)
  3623. ! static const char yytranslate[] = {     0,
  3624. !      2,     2,     2,     2,     2,     2,     2,     2,    63,     2,
  3625. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3626. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3627. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3628. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3629. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3630. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3631. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3632. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3633. !      2,     2,     2,    61,     2,     2,     2,     2,     2,     2,
  3634. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3635. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3636. !      2,     2,    64,     2,    65,    62,     2,     2,     2,     2,
  3637. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3638. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3639. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3640. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3641. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3642. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3643. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3644. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3645. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3646. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3647. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3648. !      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  3649. !      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
  3650. !      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
  3651. !     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  3652. !     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
  3653. !     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
  3654. !     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
  3655. !     56,    57,    58,    59,    60
  3656.   };
  3657. ! #if YYDEBUG != 0
  3658. ! static const short yyprhs[] = {     0,
  3659. !      0,     1,     3,     5,     8,    10,    13,    16,    18,    22,
  3660. !     26,    32,    38,    40,    43,    47,    51,    53,    57,    59,
  3661. !     63,    69,    71,    73,    76,    79,    81,    83,    85,    89,
  3662. !     92,    95,    98,   101,   106,   112,   116,   119,   122,   125,
  3663. !    129,   133,   136,   139,   142,   145,   149,   153,   157,   161,
  3664. !    165,   169,   173,   176,   180,   182,   184,   188,   192,   197,
  3665. !    199,   202,   204,   208,   212,   217,   220,   223,   226,   229,
  3666. !    231,   233,   235,   237
  3667.   };
  3668. ! static const short yyrhs[] = {    -1,
  3669. !     67,     0,    68,     0,    67,    68,     0,    69,     0,    37,
  3670. !     68,     0,    38,    68,     0,    70,     0,    70,    14,    69,
  3671. !      0,    70,    15,    70,     0,    70,    15,    70,    14,    69,
  3672. !      0,    70,    15,    70,    15,    69,     0,    71,     0,     5,
  3673. !     70,     0,    70,     3,    70,     0,    70,     4,    70,     0,
  3674. !     72,     0,    73,     7,    71,     0,    73,     0,    73,     6,
  3675. !     72,     0,    73,     6,    73,     7,    71,     0,    26,     0,
  3676. !     27,     0,    42,    27,     0,    43,    26,     0,    61,     0,
  3677. !     62,     0,    63,     0,    64,    67,    65,     0,    11,    76,
  3678. !      0,     8,    76,     0,     9,    76,     0,    10,    76,     0,
  3679. !     32,    64,    77,    65,     0,    12,    82,    67,    13,    82,
  3680. !      0,    12,    82,    67,     0,    73,    23,     0,    73,    24,
  3681. !      0,    73,    41,     0,    73,    22,    73,     0,    73,    44,
  3682. !     73,     0,    18,    73,     0,    19,    73,     0,    20,    73,
  3683. !      0,    21,    73,     0,    17,    81,    73,     0,    16,    81,
  3684. !     73,     0,    28,    74,    73,     0,    29,    74,    73,     0,
  3685. !     31,    74,    73,     0,    30,    74,    73,     0,    39,    81,
  3686. !     73,     0,    40,    73,     0,    45,    81,    73,     0,    81,
  3687. !      0,    67,     0,    75,    25,    67,     0,    64,    75,    65,
  3688. !      0,    74,    64,    75,    65,     0,    80,     0,    77,    80,
  3689. !      0,    67,     0,    78,    25,    67,     0,    64,    78,    65,
  3690. !      0,    74,    64,    78,    65,     0,    33,    79,     0,    34,
  3691. !     79,     0,    35,    79,     0,    36,    79,     0,    26,     0,
  3692. !     27,     0,    81,     0,    64,     0,    65,     0
  3693.   };
  3694. ! #endif
  3695. ! #if YYDEBUG != 0
  3696. ! static const short yyrline[] = { 0,
  3697. !    123,   125,   129,   132,   142,   145,   147,   151,   154,   156,
  3698. !    158,   160,   164,   167,   169,   171,   175,   178,   182,   185,
  3699. !    187,   191,   194,   196,   198,   200,   202,   204,   206,   208,
  3700. !    210,   212,   214,   216,   218,   220,   222,   224,   226,   228,
  3701. !    230,   232,   234,   236,   238,   240,   242,   244,   246,   248,
  3702. !    250,   252,   254,   256,   260,   270,   273,   277,   280,   284,
  3703. !    287,   291,   294,   298,   301,   305,   308,   310,   312,   316,
  3704. !    318,   322,   325,   327
  3705.   };
  3706. ! static const char * const yytname[] = {   "$","error","$illegal.","OVER","SMALLOVER",
  3707. ! "SQRT","SUB","SUP","LPILE","RPILE","CPILE","PILE","LEFT","RIGHT","TO","FROM",
  3708. ! "SIZE","FONT","ROMAN","BOLD","ITALIC","FAT","ACCENT","BAR","UNDER","ABOVE","TEXT",
  3709. ! "QUOTED_TEXT","FWD","BACK","DOWN","UP","MATRIX","COL","LCOL","RCOL","CCOL","MARK",
  3710. ! "LINEUP","TYPE","VCENTER","PRIME","SPLIT","NOSPLIT","UACCENT","SPECIAL","SPACE",
  3711. ! "GFONT","GSIZE","DEFINE","NDEFINE","TDEFINE","SDEFINE","UNDEF","IFDEF","INCLUDE",
  3712. ! "DELIM","CHARTYPE","SET","GRFONT","GBFONT","'^'","'~'","'\\t'","'{'","'}'","top",
  3713. ! "equation","mark","from_to","sqrt_over","script","nonsup","simple","number",
  3714. ! "pile_element_list","pile_arg","column_list","column_element_list","column_arg",
  3715. ! "column","text","delim",""
  3716.   };
  3717. ! #endif
  3718. ! static const short yyr1[] = {     0,
  3719. !     66,    66,    67,    67,    68,    68,    68,    69,    69,    69,
  3720. !     69,    69,    70,    70,    70,    70,    71,    71,    72,    72,
  3721. !     72,    73,    73,    73,    73,    73,    73,    73,    73,    73,
  3722. !     73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
  3723. !     73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
  3724. !     73,    73,    73,    73,    74,    75,    75,    76,    76,    77,
  3725. !     77,    78,    78,    79,    79,    80,    80,    80,    80,    81,
  3726. !     81,    82,    82,    82
  3727. ! };
  3728. ! static const short yyr2[] = {     0,
  3729. !      0,     1,     1,     2,     1,     2,     2,     1,     3,     3,
  3730. !      5,     5,     1,     2,     3,     3,     1,     3,     1,     3,
  3731. !      5,     1,     1,     2,     2,     1,     1,     1,     3,     2,
  3732. !      2,     2,     2,     4,     5,     3,     2,     2,     2,     3,
  3733. !      3,     2,     2,     2,     2,     3,     3,     3,     3,     3,
  3734. !      3,     3,     2,     3,     1,     1,     3,     3,     4,     1,
  3735. !      2,     1,     3,     3,     4,     2,     2,     2,     2,     1,
  3736. !      1,     1,     1,     1
  3737.   };
  3738. ! static const short yydefact[] = {     1,
  3739. !      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  3740. !      0,     0,    22,    23,     0,     0,     0,     0,     0,     0,
  3741. !      0,     0,     0,     0,     0,     0,    26,    27,    28,     0,
  3742. !      2,     3,     5,     8,    13,    17,    19,    14,    70,    71,
  3743. !      0,     0,    31,    55,    32,    33,    30,    73,    74,    72,
  3744. !      0,     0,     0,    42,    43,    44,    45,     0,     0,     0,
  3745. !      0,     0,     6,     7,     0,    53,    24,    25,     0,     0,
  3746. !      4,     0,     0,     0,     0,     0,     0,     0,    37,    38,
  3747. !     39,     0,    56,     0,     0,    36,    47,    46,    48,    49,
  3748. !     51,    50,     0,     0,     0,     0,     0,    60,    52,    54,
  3749. !     29,    15,    16,     9,    10,    20,    19,    18,    40,    41,
  3750. !      0,    58,     0,     0,     0,     0,    66,    67,    68,    69,
  3751. !     34,    61,     0,     0,     0,    57,    59,    35,    62,     0,
  3752. !      0,    11,    12,    21,     0,    64,     0,    63,    65,     0,
  3753. !      0,     0
  3754.   };
  3755. ! static const short yydefgoto[] = {   140,
  3756. !     83,    32,    33,    34,    35,    36,    37,    42,    84,    43,
  3757. !     97,   130,   117,    98,    44,    51
  3758. ! };
  3759. ! static const short yypact[] = {   228,
  3760. !    267,     8,     8,     8,     8,     6,    68,    68,   306,   306,
  3761. !    306,   306,-32768,-32768,    68,    68,    68,    68,   -51,   228,
  3762. !    228,    68,   306,   -12,     5,    68,-32768,-32768,-32768,   228,
  3763. !    228,-32768,-32768,    25,-32768,-32768,    58,-32768,-32768,-32768,
  3764. !    228,   -46,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  3765. !    228,   306,   306,    81,    81,    81,    81,   306,   306,   306,
  3766. !    306,    83,-32768,-32768,   306,    81,-32768,-32768,   306,   128,
  3767. ! -32768,   267,   267,   267,   267,   306,   306,   306,-32768,-32768,
  3768. ! -32768,   306,   228,    -9,   228,   189,    81,    81,    81,    81,
  3769. !     81,    81,    11,    11,    11,    11,    12,-32768,    81,    81,
  3770. ! -32768,-32768,-32768,-32768,    64,-32768,   333,-32768,-32768,-32768,
  3771. !    228,-32768,    -8,     6,   228,   -38,-32768,-32768,-32768,-32768,
  3772. ! -32768,-32768,   267,   267,   306,   228,-32768,-32768,   228,    -6,
  3773. !    228,-32768,-32768,-32768,   228,-32768,    -5,   228,-32768,    27,
  3774. !     36,-32768
  3775.   };
  3776. ! static const short yypgoto[] = {-32768,
  3777. !      0,   -17,   -62,     1,   -76,   -26,    32,    -7,   -33,    19,
  3778. ! -32768,   -77,    33,   -39,    -1,   -31
  3779.   };
  3780. ! #define    YYLAST        377
  3781. ! static const short yytable[] = {    31,
  3782. !    108,    38,    63,    64,    50,    52,    53,    58,    59,    60,
  3783. !     61,   104,    62,    71,    67,   111,   111,    85,   135,   135,
  3784. !     65,    45,    46,    47,    69,   131,   141,    72,    73,    70,
  3785. !     68,    39,    40,    39,    40,   142,    39,    40,    74,    75,
  3786. !     54,    55,    56,    57,    93,    94,    95,    96,   134,   106,
  3787. !     86,   113,    71,   137,    66,   112,   127,   122,   136,   139,
  3788. !    132,   133,     0,    76,    77,    71,    72,    73,    71,    48,
  3789. !     49,    41,   102,   103,   115,   105,   121,   123,   124,    78,
  3790. !     79,    80,   128,    87,    88,   116,   116,   116,   116,    89,
  3791. !     90,    91,    92,    39,    40,     0,    99,     0,    81,     0,
  3792. !    100,    82,    78,    79,    80,     0,     0,   107,    71,   109,
  3793. !    126,    71,    50,   110,   129,    93,    94,    95,    96,     0,
  3794. !     71,    81,     0,     0,    82,     0,   118,   119,   120,     0,
  3795. !    129,     0,     1,     0,   138,     2,     3,     4,     5,     6,
  3796. !      0,     0,     0,     7,     8,     9,    10,    11,    12,     0,
  3797. !      0,     0,     0,    13,    14,    15,    16,    17,    18,    19,
  3798. !      0,     0,     0,     0,    20,    21,    22,    23,     0,    24,
  3799. !     25,     0,    26,     0,     0,     0,     0,     0,     0,     0,
  3800. !      0,     0,     0,     0,     0,     0,     0,     0,    27,    28,
  3801. !     29,    30,   101,     1,     0,     0,     2,     3,     4,     5,
  3802. !      6,   114,     0,     0,     7,     8,     9,    10,    11,    12,
  3803. !      0,     0,     0,     0,    13,    14,    15,    16,    17,    18,
  3804. !     19,     0,     0,     0,     0,    20,    21,    22,    23,     0,
  3805. !     24,    25,     1,    26,     0,     2,     3,     4,     5,     6,
  3806. !      0,     0,     0,     7,     8,     9,    10,    11,    12,    27,
  3807. !     28,    29,    30,    13,    14,    15,    16,    17,    18,    19,
  3808. !      0,     0,     0,     0,    20,    21,    22,    23,     0,    24,
  3809. !     25,     1,    26,     0,     2,     3,     4,     5,     6,     0,
  3810. !      0,     0,     7,     8,     9,    10,    11,    12,    27,    28,
  3811. !     29,    30,    13,    14,    15,    16,    17,    18,    19,     0,
  3812. !      0,     0,     0,     0,     0,    22,    23,     0,    24,    25,
  3813. !      0,    26,     0,     2,     3,     4,     5,     6,     0,     0,
  3814. !      0,     7,     8,     9,    10,    11,    12,    27,    28,    29,
  3815. !     30,    13,    14,    15,    16,    17,    18,    19,    76,   125,
  3816. !      0,     0,     0,     0,    22,    23,     0,    24,    25,     0,
  3817. !     26,     0,     0,     0,    78,    79,    80,     0,     0,     0,
  3818. !      0,     0,     0,     0,     0,     0,    27,    28,    29,    30,
  3819. !      0,     0,     0,    81,     0,     0,    82
  3820.   };
  3821. ! static const short yycheck[] = {     0,
  3822. !     77,     1,    20,    21,     6,     7,     8,    15,    16,    17,
  3823. !     18,    74,    64,    31,    27,    25,    25,    64,    25,    25,
  3824. !     22,     3,     4,     5,    26,    64,     0,     3,     4,    30,
  3825. !     26,    26,    27,    26,    27,     0,    26,    27,    14,    15,
  3826. !      9,    10,    11,    12,    33,    34,    35,    36,   125,    76,
  3827. !     51,    85,    70,   131,    23,    65,    65,    97,    65,    65,
  3828. !    123,   124,    -1,     6,     7,    83,     3,     4,    86,    64,
  3829. !     65,    64,    72,    73,    64,    75,    65,    14,    15,    22,
  3830. !     23,    24,   114,    52,    53,    93,    94,    95,    96,    58,
  3831. !     59,    60,    61,    26,    27,    -1,    65,    -1,    41,    -1,
  3832. !     69,    44,    22,    23,    24,    -1,    -1,    76,   126,    78,
  3833. !    111,   129,   114,    82,   115,    33,    34,    35,    36,    -1,
  3834. !    138,    41,    -1,    -1,    44,    -1,    94,    95,    96,    -1,
  3835. !    131,    -1,     5,    -1,   135,     8,     9,    10,    11,    12,
  3836. !     -1,    -1,    -1,    16,    17,    18,    19,    20,    21,    -1,
  3837. !     -1,    -1,    -1,    26,    27,    28,    29,    30,    31,    32,
  3838. !     -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,    42,
  3839. !     43,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3840. !     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,
  3841. !     63,    64,    65,     5,    -1,    -1,     8,     9,    10,    11,
  3842. !     12,    13,    -1,    -1,    16,    17,    18,    19,    20,    21,
  3843. !     -1,    -1,    -1,    -1,    26,    27,    28,    29,    30,    31,
  3844. !     32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
  3845. !     42,    43,     5,    45,    -1,     8,     9,    10,    11,    12,
  3846. !     -1,    -1,    -1,    16,    17,    18,    19,    20,    21,    61,
  3847. !     62,    63,    64,    26,    27,    28,    29,    30,    31,    32,
  3848. !     -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,    42,
  3849. !     43,     5,    45,    -1,     8,     9,    10,    11,    12,    -1,
  3850. !     -1,    -1,    16,    17,    18,    19,    20,    21,    61,    62,
  3851. !     63,    64,    26,    27,    28,    29,    30,    31,    32,    -1,
  3852. !     -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
  3853. !     -1,    45,    -1,     8,     9,    10,    11,    12,    -1,    -1,
  3854. !     -1,    16,    17,    18,    19,    20,    21,    61,    62,    63,
  3855. !     64,    26,    27,    28,    29,    30,    31,    32,     6,     7,
  3856. !     -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    -1,
  3857. !     45,    -1,    -1,    -1,    22,    23,    24,    -1,    -1,    -1,
  3858. !     -1,    -1,    -1,    -1,    -1,    -1,    61,    62,    63,    64,
  3859. !     -1,    -1,    -1,    41,    -1,    -1,    44
  3860.   };
  3861. + /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
  3862. + #line 3 "/usr/lib/bison.simple"
  3863. + /* Skeleton output parser for bison,
  3864. +    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  3865. +    This program is free software; you can redistribute it and/or modify
  3866. +    it under the terms of the GNU General Public License as published by
  3867. +    the Free Software Foundation; either version 1, or (at your option)
  3868. +    any later version.
  3869. +    This program is distributed in the hope that it will be useful,
  3870. +    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3871. +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3872. +    GNU General Public License for more details.
  3873. +    You should have received a copy of the GNU General Public License
  3874. +    along with this program; if not, write to the Free Software
  3875. +    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  3876. + #ifndef alloca
  3877. + #ifdef __GNUC__
  3878. + #define alloca __builtin_alloca
  3879. + #else /* not GNU C.  */
  3880. + #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
  3881. + #include <alloca.h>
  3882. + #else /* not sparc */
  3883. + #if defined (MSDOS) && !defined (__TURBOC__)
  3884. + #include <malloc.h>
  3885. + #else /* not MSDOS, or __TURBOC__ */
  3886. + #if defined(_AIX)
  3887. + #include <malloc.h>
  3888. +  #pragma alloca
  3889. + #else /* not MSDOS, __TURBOC__, or _AIX */
  3890. + #ifdef __hpux
  3891. + #ifdef __cplusplus
  3892. + extern "C" {
  3893. + void *alloca (unsigned int);
  3894. + };
  3895. + #else /* not __cplusplus */
  3896. + void *alloca ();
  3897. + #endif /* not __cplusplus */
  3898. + #endif /* __hpux */
  3899. + #endif /* not _AIX */
  3900. + #endif /* not MSDOS, or __TURBOC__ */
  3901. + #endif /* not sparc.  */
  3902. + #endif /* not GNU C.  */
  3903. + #endif /* alloca not defined.  */
  3904. + /* This is the parser code that is written into each bison parser
  3905. +   when the %semantic_parser declaration is not specified in the grammar.
  3906. +   It was written by Richard Stallman by simplifying the hairy parser
  3907. +   used when %semantic_parser is specified.  */
  3908. + /* Note: there must be only one dollar sign in this file.
  3909. +    It is replaced by the list of actions, each action
  3910. +    as one case of the switch.  */
  3911. + #define yyerrok        (yyerrstatus = 0)
  3912. + #define yyclearin    (yychar = YYEMPTY)
  3913. + #define YYEMPTY        -2
  3914. + #define YYEOF        0
  3915. + #define YYACCEPT    return(0)
  3916. + #define YYABORT     return(1)
  3917. + #define YYERROR        goto yyerrlab1
  3918. + /* Like YYERROR except do call yyerror.
  3919. +    This remains here temporarily to ease the
  3920. +    transition to the new meaning of YYERROR, for GCC.
  3921. +    Once GCC version 2 has supplanted version 1, this can go.  */
  3922. + #define YYFAIL        goto yyerrlab
  3923. + #define YYRECOVERING()  (!!yyerrstatus)
  3924. + #define YYBACKUP(token, value) \
  3925. + do                                \
  3926. +   if (yychar == YYEMPTY && yylen == 1)                \
  3927. +     { yychar = (token), yylval = (value);            \
  3928. +       yychar1 = YYTRANSLATE (yychar);                \
  3929. +       YYPOPSTACK;                        \
  3930. +       goto yybackup;                        \
  3931. +     }                                \
  3932. +   else                                \
  3933. +     { yyerror ("syntax error: cannot back up"); YYERROR; }    \
  3934. + while (0)
  3935. + #define YYTERROR    1
  3936. + #define YYERRCODE    256
  3937. + #ifndef YYPURE
  3938. + #define YYLEX        yylex()
  3939.   #endif
  3940. ! #ifdef YYPURE
  3941. ! #ifdef YYLSP_NEEDED
  3942. ! #define YYLEX        yylex(&yylval, &yylloc)
  3943. ! #else
  3944. ! #define YYLEX        yylex(&yylval)
  3945. ! #endif
  3946. ! #endif
  3947. ! /* If nonreentrant, generate the variables here */
  3948. ! #ifndef YYPURE
  3949. ! int    yychar;            /*  the lookahead symbol        */
  3950. ! YYSTYPE    yylval;            /*  the semantic value of the        */
  3951. !                 /*  lookahead symbol            */
  3952. ! #ifdef YYLSP_NEEDED
  3953. ! YYLTYPE yylloc;            /*  location data for the lookahead    */
  3954. !                 /*  symbol                */
  3955. ! #endif
  3956. ! int yynerrs;            /*  number of parse errors so far       */
  3957. ! #endif  /* not YYPURE */
  3958. ! #if YYDEBUG != 0
  3959. ! int yydebug;            /*  nonzero means print parse trace    */
  3960. ! /* Since this is uninitialized, it does not stop multiple parsers
  3961. !    from coexisting.  */
  3962. ! #endif
  3963. ! /*  YYINITDEPTH indicates the initial size of the parser's stacks    */
  3964. ! #ifndef    YYINITDEPTH
  3965. ! #define YYINITDEPTH 200
  3966. ! #endif
  3967. ! /*  YYMAXDEPTH is the maximum size the stacks can grow to
  3968. !     (effective only if the built-in stack extension method is used).  */
  3969. ! #if YYMAXDEPTH == 0
  3970. ! #undef YYMAXDEPTH
  3971. ! #endif
  3972.   #ifndef YYMAXDEPTH
  3973. ! #define YYMAXDEPTH 10000
  3974.   #endif
  3975. ! /* Prevent warning if -Wstrict-prototypes.  */
  3976. ! #ifdef __GNUC__
  3977. ! int yyparse (void);
  3978. ! #endif
  3979. ! #if __GNUC__ > 1        /* GNU C and GNU C++ define this.  */
  3980. ! #define __yy_bcopy(FROM,TO,COUNT)    __builtin_memcpy(TO,FROM,COUNT)
  3981. ! #else                /* not GNU C or C++ */
  3982. ! #ifndef __cplusplus
  3983. ! /* This is the most reliable way to avoid incompatibilities
  3984. !    in available built-in functions on various systems.  */
  3985. ! static void
  3986. ! __yy_bcopy (from, to, count)
  3987. !      char *from;
  3988. !      char *to;
  3989. !      int count;
  3990. ! {
  3991. !   register char *f = from;
  3992. !   register char *t = to;
  3993. !   register int i = count;
  3994. !   while (i-- > 0)
  3995. !     *t++ = *f++;
  3996. ! }
  3997. ! #else /* __cplusplus */
  3998. ! /* This is the most reliable way to avoid incompatibilities
  3999. !    in available built-in functions on various systems.  */
  4000. ! static void
  4001. ! __yy_bcopy (char *from, char *to, int count)
  4002. ! {
  4003. !   register char *f = from;
  4004. !   register char *t = to;
  4005. !   register int i = count;
  4006. !   while (i-- > 0)
  4007. !     *t++ = *f++;
  4008. ! }
  4009.   #endif
  4010.   #endif
  4011. ! #line 184 "/usr/lib/bison.simple"
  4012.   int
  4013.   yyparse()
  4014.   {
  4015. !   register int yystate;
  4016. !   register int yyn;
  4017. !   register short *yyssp;
  4018. !   register YYSTYPE *yyvsp;
  4019. !   int yyerrstatus;    /*  number of tokens to shift before error messages enabled */
  4020. !   int yychar1 = 0;        /*  lookahead token as an internal (translated) token number */
  4021. !   short    yyssa[YYINITDEPTH];    /*  the state stack            */
  4022. !   YYSTYPE yyvsa[YYINITDEPTH];    /*  the semantic value stack        */
  4023. !   short *yyss = yyssa;        /*  refer to the stacks thru separate pointers */
  4024. !   YYSTYPE *yyvs = yyvsa;    /*  to allow yyoverflow to reallocate them elsewhere */
  4025. ! #ifdef YYLSP_NEEDED
  4026. !   YYLTYPE yylsa[YYINITDEPTH];    /*  the location stack            */
  4027. !   YYLTYPE *yyls = yylsa;
  4028. !   YYLTYPE *yylsp;
  4029. ! #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
  4030. ! #else
  4031. ! #define YYPOPSTACK   (yyvsp--, yyssp--)
  4032. ! #endif
  4033. !   int yystacksize = YYINITDEPTH;
  4034. ! #ifdef YYPURE
  4035. !   int yychar;
  4036. !   YYSTYPE yylval;
  4037. !   int yynerrs;
  4038. ! #ifdef YYLSP_NEEDED
  4039. !   YYLTYPE yylloc;
  4040. ! #endif
  4041. ! #endif
  4042.   
  4043. !   YYSTYPE yyval;        /*  the variable used to return        */
  4044. !                 /*  semantic values from the action    */
  4045. !                 /*  routines                */
  4046. !   int yylen;
  4047. ! #if YYDEBUG != 0
  4048. !   if (yydebug)
  4049. !     fprintf(stderr, "Starting parse\n");
  4050. ! #endif
  4051. !   yystate = 0;
  4052. !   yyerrstatus = 0;
  4053. !   yynerrs = 0;
  4054. !   yychar = YYEMPTY;        /* Cause a token to be read.  */
  4055. !   /* Initialize stack pointers.
  4056. !      Waste one element of value and location stack
  4057. !      so that they stay on the same level as the state stack.
  4058. !      The wasted elements are never initialized.  */
  4059. !   yyssp = yyss - 1;
  4060. !   yyvsp = yyvs;
  4061. ! #ifdef YYLSP_NEEDED
  4062. !   yylsp = yyls;
  4063. ! #endif
  4064. ! /* Push a new state, which is found in  yystate  .  */
  4065. ! /* In all cases, when you get here, the value and location stacks
  4066. !    have just been pushed. so pushing a state here evens the stacks.  */
  4067. ! yynewstate:
  4068. !   *++yyssp = yystate;
  4069. !   if (yyssp >= yyss + yystacksize - 1)
  4070.       {
  4071. !       /* Give user a chance to reallocate the stack */
  4072. !       /* Use copies of these so that the &'s don't force the real ones into memory. */
  4073. !       YYSTYPE *yyvs1 = yyvs;
  4074. !       short *yyss1 = yyss;
  4075. ! #ifdef YYLSP_NEEDED
  4076. !       YYLTYPE *yyls1 = yyls;
  4077. ! #endif
  4078. !       /* Get the current used size of the three stacks, in elements.  */
  4079. !       int size = yyssp - yyss + 1;
  4080. ! #ifdef yyoverflow
  4081. !       /* Each stack pointer address is followed by the size of
  4082. !      the data in use in that stack, in bytes.  */
  4083. ! #ifdef YYLSP_NEEDED
  4084. !       /* This used to be a conditional around just the two extra args,
  4085. !      but that might be undefined if yyoverflow is a macro.  */
  4086. !       yyoverflow("parser stack overflow",
  4087. !          &yyss1, size * sizeof (*yyssp),
  4088. !          &yyvs1, size * sizeof (*yyvsp),
  4089. !          &yyls1, size * sizeof (*yylsp),
  4090. !          &yystacksize);
  4091. ! #else
  4092. !       yyoverflow("parser stack overflow",
  4093. !          &yyss1, size * sizeof (*yyssp),
  4094. !          &yyvs1, size * sizeof (*yyvsp),
  4095. !          &yystacksize);
  4096. ! #endif
  4097. !       yyss = yyss1; yyvs = yyvs1;
  4098. ! #ifdef YYLSP_NEEDED
  4099. !       yyls = yyls1;
  4100. ! #endif
  4101. ! #else /* no yyoverflow */
  4102. !       /* Extend the stack our own way.  */
  4103. !       if (yystacksize >= YYMAXDEPTH)
  4104. !     {
  4105. !       yyerror("parser stack overflow");
  4106. !       return 2;
  4107. !     }
  4108. !       yystacksize *= 2;
  4109. !       if (yystacksize > YYMAXDEPTH)
  4110. !     yystacksize = YYMAXDEPTH;
  4111. !       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
  4112. !       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
  4113. !       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
  4114. !       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
  4115. ! #ifdef YYLSP_NEEDED
  4116. !       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
  4117. !       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
  4118. ! #endif
  4119. ! #endif /* no yyoverflow */
  4120. !       yyssp = yyss + size - 1;
  4121. !       yyvsp = yyvs + size - 1;
  4122. ! #ifdef YYLSP_NEEDED
  4123. !       yylsp = yyls + size - 1;
  4124. ! #endif
  4125. ! #if YYDEBUG != 0
  4126. !       if (yydebug)
  4127. !     fprintf(stderr, "Stack size increased to %d\n", yystacksize);
  4128. ! #endif
  4129. !       if (yyssp >= yyss + yystacksize - 1)
  4130. !     YYABORT;
  4131.       }
  4132. + #if YYDEBUG != 0
  4133. +   if (yydebug)
  4134. +     fprintf(stderr, "Entering state %d\n", yystate);
  4135.   #endif
  4136.   
  4137. !   goto yybackup;
  4138. !  yybackup:
  4139. ! /* Do appropriate processing given the current state.  */
  4140. ! /* Read a lookahead token if we need one and don't already have one.  */
  4141. ! /* yyresume: */
  4142. !   /* First try to decide what to do without reference to lookahead token.  */
  4143. !   yyn = yypact[yystate];
  4144. !   if (yyn == YYFLAG)
  4145. !     goto yydefault;
  4146. !   /* Not known => get a lookahead token if don't already have one.  */
  4147. !   /* yychar is either YYEMPTY or YYEOF
  4148. !      or a valid token in external form.  */
  4149. !   if (yychar == YYEMPTY)
  4150.       {
  4151. ! #if YYDEBUG != 0
  4152. !       if (yydebug)
  4153. !     fprintf(stderr, "Reading a token: ");
  4154.   #endif
  4155. +       yychar = YYLEX;
  4156.       }
  4157. !   /* Convert token to internal form (in yychar1) for indexing tables with */
  4158. !   if (yychar <= 0)        /* This means end of input. */
  4159.       {
  4160. !       yychar1 = 0;
  4161. !       yychar = YYEOF;        /* Don't call YYLEX any more */
  4162. ! #if YYDEBUG != 0
  4163. !       if (yydebug)
  4164. !     fprintf(stderr, "Now at end of input.\n");
  4165. ! #endif
  4166.       }
  4167. !   else
  4168.       {
  4169. !       yychar1 = YYTRANSLATE(yychar);
  4170. ! #if YYDEBUG != 0
  4171. !       if (yydebug)
  4172. !     {
  4173. !       fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
  4174. !       /* Give the individual parser a way to print the precise meaning
  4175. !          of a token, for further debugging info.  */
  4176. ! #ifdef YYPRINT
  4177. !       YYPRINT (stderr, yychar, yylval);
  4178. ! #endif
  4179. !       fprintf (stderr, ")\n");
  4180. !     }
  4181.   #endif
  4182.       }
  4183. !   yyn += yychar1;
  4184. !   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
  4185. !     goto yydefault;
  4186. !   yyn = yytable[yyn];
  4187. !   /* yyn is what to do for this token type in this state.
  4188. !      Negative => reduce, -yyn is rule number.
  4189. !      Positive => shift, yyn is new state.
  4190. !        New state is final state => don't bother to shift,
  4191. !        just return success.
  4192. !      0, or most negative number => error.  */
  4193. !   if (yyn < 0)
  4194.       {
  4195. !       if (yyn == YYFLAG)
  4196. !     goto yyerrlab;
  4197. !       yyn = -yyn;
  4198. !       goto yyreduce;
  4199.       }
  4200. +   else if (yyn == 0)
  4201. +     goto yyerrlab;
  4202. +   if (yyn == YYFINAL)
  4203. +     YYACCEPT;
  4204. +   /* Shift the lookahead token.  */
  4205. + #if YYDEBUG != 0
  4206. +   if (yydebug)
  4207. +     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
  4208. + #endif
  4209. +   /* Discard the token being shifted unless it is eof.  */
  4210. +   if (yychar != YYEOF)
  4211. +     yychar = YYEMPTY;
  4212. +   *++yyvsp = yylval;
  4213. + #ifdef YYLSP_NEEDED
  4214. +   *++yylsp = yylloc;
  4215. + #endif
  4216. +   /* count tokens shifted since error; after three, turn off error status.  */
  4217. +   if (yyerrstatus) yyerrstatus--;
  4218. +   yystate = yyn;
  4219. +   goto yynewstate;
  4220. + /* Do the default action for the current state.  */
  4221. + yydefault:
  4222. +   yyn = yydefact[yystate];
  4223. +   if (yyn == 0)
  4224. +     goto yyerrlab;
  4225. + /* Do a reduction.  yyn is the number of a rule to reduce with.  */
  4226.   yyreduce:
  4227. !   yylen = yyr2[yyn];
  4228. !   if (yylen > 0)
  4229. !     yyval = yyvsp[1-yylen]; /* implement default value of the action */
  4230. ! #if YYDEBUG != 0
  4231. !   if (yydebug)
  4232.       {
  4233. +       int i;
  4234. +       fprintf (stderr, "Reducing via rule %d (line %d), ",
  4235. +            yyn, yyrline[yyn]);
  4236. +       /* Print the symbols being reduced, and their result.  */
  4237. +       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
  4238. +     fprintf (stderr, "%s ", yytname[yyrhs[i]]);
  4239. +       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
  4240. +     }
  4241. + #endif
  4242. +   switch (yyn) {
  4243.   case 2:
  4244. ! #line 126 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4245. ! { yyvsp[0].b->top_level(); non_empty_flag = 1; ;
  4246. !     break;}
  4247.   case 3:
  4248. ! #line 131 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4249. ! { yyval.b = yyvsp[0].b; ;
  4250. !     break;}
  4251.   case 4:
  4252. ! #line 133 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4253.   {
  4254.             list_box *lb = yyvsp[-1].b->to_list_box();
  4255.             if (!lb)
  4256.               lb = new list_box(yyvsp[-1].b);
  4257.             lb->append(yyvsp[0].b);
  4258.             yyval.b = lb;
  4259. !         ;
  4260. !     break;}
  4261.   case 5:
  4262. ! #line 144 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4263. ! { yyval.b = yyvsp[0].b; ;
  4264. !     break;}
  4265.   case 6:
  4266. ! #line 146 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4267. ! { yyval.b = make_mark_box(yyvsp[0].b); ;
  4268. !     break;}
  4269.   case 7:
  4270. ! #line 148 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4271. ! { yyval.b = make_lineup_box(yyvsp[0].b); ;
  4272. !     break;}
  4273.   case 8:
  4274. ! #line 153 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4275. ! { yyval.b = yyvsp[0].b; ;
  4276. !     break;}
  4277.   case 9:
  4278. ! #line 155 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4279. ! { yyval.b = make_limit_box(yyvsp[-2].b, 0, yyvsp[0].b); ;
  4280. !     break;}
  4281.   case 10:
  4282. ! #line 157 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4283. ! { yyval.b = make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0); ;
  4284. !     break;}
  4285.   case 11:
  4286. ! #line 159 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4287. ! { yyval.b = make_limit_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); ;
  4288. !     break;}
  4289.   case 12:
  4290. ! #line 161 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4291. ! { yyval.b = make_limit_box(yyvsp[-4].b, make_limit_box(yyvsp[-2].b, yyvsp[0].b, 0), 0); ;
  4292. !     break;}
  4293.   case 13:
  4294. ! #line 166 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4295. ! { yyval.b = yyvsp[0].b; ;
  4296. !     break;}
  4297.   case 14:
  4298. ! #line 168 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4299. ! { yyval.b = make_sqrt_box(yyvsp[0].b); ;
  4300. !     break;}
  4301.   case 15:
  4302. ! #line 170 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4303. ! { yyval.b = make_over_box(yyvsp[-2].b, yyvsp[0].b); ;
  4304. !     break;}
  4305.   case 16:
  4306. ! #line 172 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4307. ! { yyval.b = make_small_over_box(yyvsp[-2].b, yyvsp[0].b); ;
  4308. !     break;}
  4309.   case 17:
  4310. ! #line 177 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4311. ! { yyval.b = yyvsp[0].b; ;
  4312. !     break;}
  4313.   case 18:
  4314. ! #line 179 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4315. ! { yyval.b = make_script_box(yyvsp[-2].b, 0, yyvsp[0].b); ;
  4316. !     break;}
  4317.   case 19:
  4318. ! #line 184 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4319. ! { yyval.b = yyvsp[0].b; ;
  4320. !     break;}
  4321.   case 20:
  4322. ! #line 186 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4323. ! { yyval.b = make_script_box(yyvsp[-2].b, yyvsp[0].b, 0); ;
  4324. !     break;}
  4325.   case 21:
  4326. ! #line 188 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4327. ! { yyval.b = make_script_box(yyvsp[-4].b, yyvsp[-2].b, yyvsp[0].b); ;
  4328. !     break;}
  4329.   case 22:
  4330. ! #line 193 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4331. ! { yyval.b = split_text(yyvsp[0].str); ;
  4332. !     break;}
  4333.   case 23:
  4334. ! #line 195 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4335. ! { yyval.b = new quoted_text_box(yyvsp[0].str); ;
  4336. !     break;}
  4337.   case 24:
  4338. ! #line 197 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4339. ! { yyval.b = split_text(yyvsp[0].str); ;
  4340. !     break;}
  4341.   case 25:
  4342. ! #line 199 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4343. ! { yyval.b = new quoted_text_box(yyvsp[0].str); ;
  4344. !     break;}
  4345.   case 26:
  4346. ! #line 201 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4347. ! { yyval.b = new half_space_box; ;
  4348. !     break;}
  4349.   case 27:
  4350. ! #line 203 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4351. ! { yyval.b = new space_box; ;
  4352. !     break;}
  4353.   case 28:
  4354. ! #line 205 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4355. ! { yyval.b = new tab_box; ;
  4356. !     break;}
  4357.   case 29:
  4358. ! #line 207 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4359. ! { yyval.b = yyvsp[-1].b; ;
  4360. !     break;}
  4361.   case 30:
  4362. ! #line 209 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4363. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; ;
  4364. !     break;}
  4365.   case 31:
  4366. ! #line 211 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4367. ! { yyvsp[0].pb->set_alignment(LEFT_ALIGN); yyval.b = yyvsp[0].pb; ;
  4368. !     break;}
  4369.   case 32:
  4370. ! #line 213 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4371. ! { yyvsp[0].pb->set_alignment(RIGHT_ALIGN); yyval.b = yyvsp[0].pb; ;
  4372. !     break;}
  4373.   case 33:
  4374. ! #line 215 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4375. ! { yyvsp[0].pb->set_alignment(CENTER_ALIGN); yyval.b = yyvsp[0].pb; ;
  4376. !     break;}
  4377.   case 34:
  4378. ! #line 217 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4379. ! { yyval.b = yyvsp[-1].mb; ;
  4380. !     break;}
  4381.   case 35:
  4382. ! #line 219 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4383. ! { yyval.b = make_delim_box(yyvsp[-3].str, yyvsp[-2].b, yyvsp[0].str); ;
  4384. !     break;}
  4385.   case 36:
  4386. ! #line 221 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4387. ! { yyval.b = make_delim_box(yyvsp[-1].str, yyvsp[0].b, 0); ;
  4388. !     break;}
  4389.   case 37:
  4390. ! #line 223 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4391. ! { yyval.b = make_overline_box(yyvsp[-1].b); ;
  4392. !     break;}
  4393.   case 38:
  4394. ! #line 225 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4395. ! { yyval.b = make_underline_box(yyvsp[-1].b); ;
  4396. !     break;}
  4397.   case 39:
  4398. ! #line 227 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4399. ! { yyval.b = make_prime_box(yyvsp[-1].b); ;
  4400. !     break;}
  4401.   case 40:
  4402. ! #line 229 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4403. ! { yyval.b = make_accent_box(yyvsp[-2].b, yyvsp[0].b); ;
  4404. !     break;}
  4405.   case 41:
  4406. ! #line 231 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4407. ! { yyval.b = make_uaccent_box(yyvsp[-2].b, yyvsp[0].b); ;
  4408. !     break;}
  4409.   case 42:
  4410. ! #line 233 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4411. ! { yyval.b = new font_box(strsave(get_grfont()), yyvsp[0].b); ;
  4412. !     break;}
  4413.   case 43:
  4414. ! #line 235 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4415. ! { yyval.b = new font_box(strsave(get_gbfont()), yyvsp[0].b); ;
  4416. !     break;}
  4417.   case 44:
  4418. ! #line 237 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4419. ! { yyval.b = new font_box(strsave(get_gfont()), yyvsp[0].b); ;
  4420. !     break;}
  4421.   case 45:
  4422. ! #line 239 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4423. ! { yyval.b = new fat_box(yyvsp[0].b); ;
  4424. !     break;}
  4425.   case 46:
  4426. ! #line 241 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4427. ! { yyval.b = new font_box(yyvsp[-1].str, yyvsp[0].b); ;
  4428. !     break;}
  4429.   case 47:
  4430. ! #line 243 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4431. ! { yyval.b = new size_box(yyvsp[-1].str, yyvsp[0].b); ;
  4432. !     break;}
  4433.   case 48:
  4434. ! #line 245 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4435. ! { yyval.b = new hmotion_box(yyvsp[-1].n, yyvsp[0].b); ;
  4436. !     break;}
  4437.   case 49:
  4438. ! #line 247 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4439. ! { yyval.b = new hmotion_box(-yyvsp[-1].n, yyvsp[0].b); ;
  4440. !     break;}
  4441.   case 50:
  4442. ! #line 249 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4443. ! { yyval.b = new vmotion_box(yyvsp[-1].n, yyvsp[0].b); ;
  4444. !     break;}
  4445.   case 51:
  4446. ! #line 251 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4447. ! { yyval.b = new vmotion_box(-yyvsp[-1].n, yyvsp[0].b); ;
  4448. !     break;}
  4449.   case 52:
  4450. ! #line 253 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4451. ! { yyvsp[0].b->set_spacing_type(yyvsp[-1].str); yyval.b = yyvsp[0].b; ;
  4452. !     break;}
  4453.   case 53:
  4454. ! #line 255 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4455. ! { yyval.b = new vcenter_box(yyvsp[0].b); ;
  4456. !     break;}
  4457.   case 54:
  4458. ! #line 257 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4459. ! { yyval.b = make_special_box(yyvsp[-1].str, yyvsp[0].b); ;
  4460. !     break;}
  4461.   case 55:
  4462. ! #line 262 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4463.   {
  4464.             int n;
  4465.             if (sscanf(yyvsp[0].str, "%d", &n) == 1)
  4466.               yyval.n = n;
  4467.             a_delete yyvsp[0].str;
  4468. !         ;
  4469. !     break;}
  4470.   case 56:
  4471. ! #line 272 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4472. ! { yyval.pb = new pile_box(yyvsp[0].b); ;
  4473. !     break;}
  4474.   case 57:
  4475. ! #line 274 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4476. ! { yyvsp[-2].pb->append(yyvsp[0].b); yyval.pb = yyvsp[-2].pb; ;
  4477. !     break;}
  4478.   case 58:
  4479. ! #line 279 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4480. ! { yyval.pb = yyvsp[-1].pb; ;
  4481. !     break;}
  4482.   case 59:
  4483. ! #line 281 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4484. ! { yyvsp[-1].pb->set_space(yyvsp[-3].n); yyval.pb = yyvsp[-1].pb; ;
  4485. !     break;}
  4486.   case 60:
  4487. ! #line 286 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4488. ! { yyval.mb = new matrix_box(yyvsp[0].col); ;
  4489. !     break;}
  4490.   case 61:
  4491. ! #line 288 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4492. ! { yyvsp[-1].mb->append(yyvsp[0].col); yyval.mb = yyvsp[-1].mb; ;
  4493. !     break;}
  4494.   case 62:
  4495. ! #line 293 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4496. ! { yyval.col = new column(yyvsp[0].b); ;
  4497. !     break;}
  4498.   case 63:
  4499. ! #line 295 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4500. ! { yyvsp[-2].col->append(yyvsp[0].b); yyval.col = yyvsp[-2].col; ;
  4501. !     break;}
  4502.   case 64:
  4503. ! #line 300 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4504. ! { yyval.col = yyvsp[-1].col; ;
  4505. !     break;}
  4506.   case 65:
  4507. ! #line 302 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4508. ! { yyvsp[-1].col->set_space(yyvsp[-3].n); yyval.col = yyvsp[-1].col; ;
  4509. !     break;}
  4510.   case 66:
  4511. ! #line 307 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4512. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; ;
  4513. !     break;}
  4514.   case 67:
  4515. ! #line 309 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4516. ! { yyvsp[0].col->set_alignment(LEFT_ALIGN); yyval.col = yyvsp[0].col; ;
  4517. !     break;}
  4518.   case 68:
  4519. ! #line 311 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4520. ! { yyvsp[0].col->set_alignment(RIGHT_ALIGN); yyval.col = yyvsp[0].col; ;
  4521. !     break;}
  4522.   case 69:
  4523. ! #line 313 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4524. ! { yyvsp[0].col->set_alignment(CENTER_ALIGN); yyval.col = yyvsp[0].col; ;
  4525. !     break;}
  4526.   case 70:
  4527. ! #line 317 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4528. ! { yyval.str = yyvsp[0].str; ;
  4529. !     break;}
  4530.   case 71:
  4531. ! #line 319 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4532. ! { yyval.str = yyvsp[0].str; ;
  4533. !     break;}
  4534.   case 72:
  4535. ! #line 324 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4536. ! { yyval.str = yyvsp[0].str; ;
  4537. !     break;}
  4538.   case 73:
  4539. ! #line 326 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4540. ! { yyval.str = strsave("{"); ;
  4541. !     break;}
  4542.   case 74:
  4543. ! #line 328 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4544. ! { yyval.str = strsave("}"); ;
  4545. !     break;}
  4546. ! }
  4547. !    /* the action file gets copied in in place of this dollarsign */
  4548. ! #line 465 "/usr/lib/bison.simple"
  4549. !   yyvsp -= yylen;
  4550. !   yyssp -= yylen;
  4551. ! #ifdef YYLSP_NEEDED
  4552. !   yylsp -= yylen;
  4553. ! #endif
  4554. ! #if YYDEBUG != 0
  4555. !   if (yydebug)
  4556. !     {
  4557. !       short *ssp1 = yyss - 1;
  4558. !       fprintf (stderr, "state stack now");
  4559. !       while (ssp1 != yyssp)
  4560. !     fprintf (stderr, " %d", *++ssp1);
  4561. !       fprintf (stderr, "\n");
  4562. !     }
  4563. ! #endif
  4564. !   *++yyvsp = yyval;
  4565. ! #ifdef YYLSP_NEEDED
  4566. !   yylsp++;
  4567. !   if (yylen == 0)
  4568. !     {
  4569. !       yylsp->first_line = yylloc.first_line;
  4570. !       yylsp->first_column = yylloc.first_column;
  4571. !       yylsp->last_line = (yylsp-1)->last_line;
  4572. !       yylsp->last_column = (yylsp-1)->last_column;
  4573. !       yylsp->text = 0;
  4574. !     }
  4575. !   else
  4576. !     {
  4577. !       yylsp->last_line = (yylsp+yylen-1)->last_line;
  4578. !       yylsp->last_column = (yylsp+yylen-1)->last_column;
  4579. !     }
  4580. ! #endif
  4581. !   /* Now "shift" the result of the reduction.
  4582. !      Determine what state that goes to,
  4583. !      based on the state we popped back to
  4584. !      and the rule number reduced by.  */
  4585. !   yyn = yyr1[yyn];
  4586. !   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
  4587. !   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
  4588. !     yystate = yytable[yystate];
  4589. !   else
  4590. !     yystate = yydefgoto[yyn - YYNTBASE];
  4591. !   goto yynewstate;
  4592. ! yyerrlab:   /* here on detecting error */
  4593. !   if (! yyerrstatus)
  4594. !     /* If not already recovering from an error, report this error.  */
  4595. !     {
  4596. !       ++yynerrs;
  4597. ! #ifdef YYERROR_VERBOSE
  4598. !       yyn = yypact[yystate];
  4599. !       if (yyn > YYFLAG && yyn < YYLAST)
  4600. !     {
  4601. !       int size = 0;
  4602. !       char *msg;
  4603. !       int x, count;
  4604. !       count = 0;
  4605. !       /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
  4606. !       for (x = (yyn < 0 ? -yyn : 0);
  4607. !            x < (sizeof(yytname) / sizeof(char *)); x++)
  4608. !         if (yycheck[x + yyn] == x)
  4609. !           size += strlen(yytname[x]) + 15, count++;
  4610. !       msg = (char *) malloc(size + 15);
  4611. !       if (msg != 0)
  4612. !         {
  4613. !           strcpy(msg, "parse error");
  4614. !           if (count < 5)
  4615. !         {
  4616. !           count = 0;
  4617. !           for (x = (yyn < 0 ? -yyn : 0);
  4618. !                x < (sizeof(yytname) / sizeof(char *)); x++)
  4619. !             if (yycheck[x + yyn] == x)
  4620. !               {
  4621. !             strcat(msg, count == 0 ? ", expecting `" : " or `");
  4622. !             strcat(msg, yytname[x]);
  4623. !             strcat(msg, "'");
  4624. !             count++;
  4625. !               }
  4626. !         }
  4627. !           yyerror(msg);
  4628. !           free(msg);
  4629. !         }
  4630. !       else
  4631. !         yyerror ("parse error; also virtual memory exceeded");
  4632. !     }
  4633. !       else
  4634. ! #endif /* YYERROR_VERBOSE */
  4635. !     yyerror("parse error");
  4636. !     }
  4637. !   goto yyerrlab1;
  4638. ! yyerrlab1:   /* here on error raised explicitly by an action */
  4639. !   if (yyerrstatus == 3)
  4640. !     {
  4641. !       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
  4642. !       /* return failure if at end of input */
  4643. !       if (yychar == YYEOF)
  4644. !     YYABORT;
  4645. ! #if YYDEBUG != 0
  4646. !       if (yydebug)
  4647. !     fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
  4648. ! #endif
  4649. !       yychar = YYEMPTY;
  4650.       }
  4651. !   /* Else will try to reuse lookahead token
  4652. !      after shifting the error token.  */
  4653. !   yyerrstatus = 3;        /* Each real token shifted decrements this */
  4654. !   goto yyerrhandle;
  4655. ! yyerrdefault:  /* current state does not do anything special for the error token. */
  4656. ! #if 0
  4657. !   /* This is wrong; only states that explicitly want error tokens
  4658. !      should shift them.  */
  4659. !   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
  4660. !   if (yyn) goto yydefault;
  4661. ! #endif
  4662. ! yyerrpop:   /* pop the current state because it cannot handle the error token */
  4663. !   if (yyssp == yyss) YYABORT;
  4664. !   yyvsp--;
  4665. !   yystate = *--yyssp;
  4666. ! #ifdef YYLSP_NEEDED
  4667. !   yylsp--;
  4668. ! #endif
  4669. ! #if YYDEBUG != 0
  4670. !   if (yydebug)
  4671.       {
  4672. !       short *ssp1 = yyss - 1;
  4673. !       fprintf (stderr, "Error: state stack now");
  4674. !       while (ssp1 != yyssp)
  4675. !     fprintf (stderr, " %d", *++ssp1);
  4676. !       fprintf (stderr, "\n");
  4677.       }
  4678.   #endif
  4679. ! yyerrhandle:
  4680. !   yyn = yypact[yystate];
  4681. !   if (yyn == YYFLAG)
  4682. !     goto yyerrdefault;
  4683. !   yyn += YYTERROR;
  4684. !   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
  4685. !     goto yyerrdefault;
  4686. !   yyn = yytable[yyn];
  4687. !   if (yyn < 0)
  4688.       {
  4689. !       if (yyn == YYFLAG)
  4690. !     goto yyerrpop;
  4691. !       yyn = -yyn;
  4692. !       goto yyreduce;
  4693.       }
  4694. !   else if (yyn == 0)
  4695. !     goto yyerrpop;
  4696. !   if (yyn == YYFINAL)
  4697. !     YYACCEPT;
  4698. ! #if YYDEBUG != 0
  4699. !   if (yydebug)
  4700. !     fprintf(stderr, "Shifting error token, ");
  4701. ! #endif
  4702. !   *++yyvsp = yylval;
  4703. ! #ifdef YYLSP_NEEDED
  4704. !   *++yylsp = yylloc;
  4705. ! #endif
  4706. !   yystate = yyn;
  4707. !   goto yynewstate;
  4708.   }
  4709. + #line 331 "/ISO/groff/groff-1.09-amiga/eqn/eqn.y"
  4710. diff -rc --new-file groff-1.09/eqn/eqn.h /gnu/src/amiga/groff-1.09/eqn/eqn.h
  4711. *** groff-1.09/eqn/eqn.h    Sun Sep 20 10:26:24 1992
  4712. --- /gnu/src/amiga/groff-1.09/eqn/eqn.h    Mon Feb 21 16:15:34 1994
  4713. ***************
  4714. *** 19,25 ****
  4715.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4716.   
  4717.   #include <stdio.h>
  4718. ! #include <string.h>
  4719.   #include <assert.h>
  4720.   #include <stdlib.h>
  4721.   #include <errno.h>
  4722. --- 19,25 ----
  4723.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4724.   
  4725.   #include <stdio.h>
  4726. ! #include </gnu/include/string.h>
  4727.   #include <assert.h>
  4728.   #include <stdlib.h>
  4729.   #include <errno.h>
  4730. diff -rc --new-file groff-1.09/eqn/eqn.tab.h /gnu/src/amiga/groff-1.09/eqn/eqn.tab.h
  4731. *** groff-1.09/eqn/eqn.tab.h    Tue Mar 30 17:04:40 1993
  4732. --- /gnu/src/amiga/groff-1.09/eqn/eqn.tab.h    Mon Feb 21 18:22:41 1994
  4733. ***************
  4734. *** 1,61 ****
  4735. - #define OVER 257
  4736. - #define SMALLOVER 258
  4737. - #define SQRT 259
  4738. - #define SUB 260
  4739. - #define SUP 261
  4740. - #define LPILE 262
  4741. - #define RPILE 263
  4742. - #define CPILE 264
  4743. - #define PILE 265
  4744. - #define LEFT 266
  4745. - #define RIGHT 267
  4746. - #define TO 268
  4747. - #define FROM 269
  4748. - #define SIZE 270
  4749. - #define FONT 271
  4750. - #define ROMAN 272
  4751. - #define BOLD 273
  4752. - #define ITALIC 274
  4753. - #define FAT 275
  4754. - #define ACCENT 276
  4755. - #define BAR 277
  4756. - #define UNDER 278
  4757. - #define ABOVE 279
  4758. - #define TEXT 280
  4759. - #define QUOTED_TEXT 281
  4760. - #define FWD 282
  4761. - #define BACK 283
  4762. - #define DOWN 284
  4763. - #define UP 285
  4764. - #define MATRIX 286
  4765. - #define COL 287
  4766. - #define LCOL 288
  4767. - #define RCOL 289
  4768. - #define CCOL 290
  4769. - #define MARK 291
  4770. - #define LINEUP 292
  4771. - #define TYPE 293
  4772. - #define VCENTER 294
  4773. - #define PRIME 295
  4774. - #define SPLIT 296
  4775. - #define NOSPLIT 297
  4776. - #define UACCENT 298
  4777. - #define SPECIAL 299
  4778. - #define SPACE 300
  4779. - #define GFONT 301
  4780. - #define GSIZE 302
  4781. - #define DEFINE 303
  4782. - #define NDEFINE 304
  4783. - #define TDEFINE 305
  4784. - #define SDEFINE 306
  4785. - #define UNDEF 307
  4786. - #define IFDEF 308
  4787. - #define INCLUDE 309
  4788. - #define DELIM 310
  4789. - #define CHARTYPE 311
  4790. - #define SET 312
  4791. - #define GRFONT 313
  4792. - #define GBFONT 314
  4793.   typedef union {
  4794.       char *str;
  4795.       box *b;
  4796. --- 1,3 ----
  4797. ***************
  4798. *** 64,67 ****
  4799. --- 6,69 ----
  4800.       int n;
  4801.       column *col;
  4802.   } YYSTYPE;
  4803. + #define    OVER    258
  4804. + #define    SMALLOVER    259
  4805. + #define    SQRT    260
  4806. + #define    SUB    261
  4807. + #define    SUP    262
  4808. + #define    LPILE    263
  4809. + #define    RPILE    264
  4810. + #define    CPILE    265
  4811. + #define    PILE    266
  4812. + #define    LEFT    267
  4813. + #define    RIGHT    268
  4814. + #define    TO    269
  4815. + #define    FROM    270
  4816. + #define    SIZE    271
  4817. + #define    FONT    272
  4818. + #define    ROMAN    273
  4819. + #define    BOLD    274
  4820. + #define    ITALIC    275
  4821. + #define    FAT    276
  4822. + #define    ACCENT    277
  4823. + #define    BAR    278
  4824. + #define    UNDER    279
  4825. + #define    ABOVE    280
  4826. + #define    TEXT    281
  4827. + #define    QUOTED_TEXT    282
  4828. + #define    FWD    283
  4829. + #define    BACK    284
  4830. + #define    DOWN    285
  4831. + #define    UP    286
  4832. + #define    MATRIX    287
  4833. + #define    COL    288
  4834. + #define    LCOL    289
  4835. + #define    RCOL    290
  4836. + #define    CCOL    291
  4837. + #define    MARK    292
  4838. + #define    LINEUP    293
  4839. + #define    TYPE    294
  4840. + #define    VCENTER    295
  4841. + #define    PRIME    296
  4842. + #define    SPLIT    297
  4843. + #define    NOSPLIT    298
  4844. + #define    UACCENT    299
  4845. + #define    SPECIAL    300
  4846. + #define    SPACE    301
  4847. + #define    GFONT    302
  4848. + #define    GSIZE    303
  4849. + #define    DEFINE    304
  4850. + #define    NDEFINE    305
  4851. + #define    TDEFINE    306
  4852. + #define    SDEFINE    307
  4853. + #define    UNDEF    308
  4854. + #define    IFDEF    309
  4855. + #define    INCLUDE    310
  4856. + #define    DELIM    311
  4857. + #define    CHARTYPE    312
  4858. + #define    SET    313
  4859. + #define    GRFONT    314
  4860. + #define    GBFONT    315
  4861.   extern YYSTYPE yylval;
  4862. diff -rc --new-file groff-1.09/eqn/eqn.y /gnu/src/amiga/groff-1.09/eqn/eqn.y
  4863. *** groff-1.09/eqn/eqn.y    Wed Apr  7 11:47:57 1993
  4864. --- /gnu/src/amiga/groff-1.09/eqn/eqn.y    Mon Feb 21 16:15:26 1994
  4865. ***************
  4866. *** 18,24 ****
  4867.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4868.   %{
  4869.   #include <stdio.h>
  4870. ! #include <string.h>
  4871.   #include <stdlib.h>
  4872.   
  4873.   #include "lib.h"
  4874. --- 18,24 ----
  4875.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4876.   %{
  4877.   #include <stdio.h>
  4878. ! #include </gnu/include/string.h>
  4879.   #include <stdlib.h>
  4880.   
  4881.   #include "lib.h"
  4882. diff -rc --new-file groff-1.09/groff/groff.cc /gnu/src/amiga/groff-1.09/groff/groff.cc
  4883. *** groff-1.09/groff/groff.cc    Tue Aug 10 07:39:26 1993
  4884. --- /gnu/src/amiga/groff-1.09/groff/groff.cc    Mon Feb 21 16:15:40 1994
  4885. ***************
  4886. *** 21,27 ****
  4887.   // A front end for groff.
  4888.   
  4889.   #include <stdio.h>
  4890. ! #include <string.h>
  4891.   #include <stdlib.h>
  4892.   #include <signal.h>
  4893.   #include <errno.h>
  4894. --- 21,27 ----
  4895.   // A front end for groff.
  4896.   
  4897.   #include <stdio.h>
  4898. ! #include </gnu/include/string.h>
  4899.   #include <stdlib.h>
  4900.   #include <signal.h>
  4901.   #include <errno.h>
  4902. diff -rc --new-file groff-1.09/grog/Makefile.sub /gnu/src/amiga/groff-1.09/grog/Makefile.sub
  4903. *** groff-1.09/grog/Makefile.sub    Mon Apr 19 08:47:11 1993
  4904. --- /gnu/src/amiga/groff-1.09/grog/Makefile.sub    Mon Feb 21 16:30:48 1994
  4905. ***************
  4906. *** 6,12 ****
  4907.   grog: grog.pl grog.sh
  4908.       if test -n "$(PERLPATH)" && test -f "$(PERLPATH)"; then \
  4909.         rm -f $@; \
  4910. !       sed -e 's;/usr/bin/perl;$(PERLPATH);' $(srcdir)/grog.pl >$@; \
  4911.       else \
  4912.         rm -f $@; \
  4913.         sed "$(SH_SCRIPT_SED_CMD)" $(srcdir)/grog.sh >$@; \
  4914. --- 6,12 ----
  4915.   grog: grog.pl grog.sh
  4916.       if test -n "$(PERLPATH)" && test -f "$(PERLPATH)"; then \
  4917.         rm -f $@; \
  4918. !       sed -e 's;/bin/perl;$(PERLPATH);' $(srcdir)/grog.pl >$@; \
  4919.       else \
  4920.         rm -f $@; \
  4921.         sed "$(SH_SCRIPT_SED_CMD)" $(srcdir)/grog.sh >$@; \
  4922. diff -rc --new-file groff-1.09/grog/grog.pl /gnu/src/amiga/groff-1.09/grog/grog.pl
  4923. *** groff-1.09/grog/grog.pl    Thu Feb 25 07:50:51 1993
  4924. --- /gnu/src/amiga/groff-1.09/grog/grog.pl    Mon Feb 21 16:30:32 1994
  4925. ***************
  4926. *** 1,4 ****
  4927. ! #!/usr/bin/perl
  4928.   # grog -- guess options for groff command
  4929.   # Inspired by doctype script in Kernighan & Pike, Unix Programming
  4930.   # Environment, pp 306-8.
  4931. --- 1,4 ----
  4932. ! #!/bin/perl
  4933.   # grog -- guess options for groff command
  4934.   # Inspired by doctype script in Kernighan & Pike, Unix Programming
  4935.   # Environment, pp 306-8.
  4936. diff -rc --new-file groff-1.09/include/driver.h /gnu/src/amiga/groff-1.09/include/driver.h
  4937. *** groff-1.09/include/driver.h    Tue Aug 25 13:57:07 1992
  4938. --- /gnu/src/amiga/groff-1.09/include/driver.h    Mon Feb 21 16:15:46 1994
  4939. ***************
  4940. *** 19,25 ****
  4941.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4942.   
  4943.   #include <stdio.h>
  4944. ! #include <string.h>
  4945.   #include <ctype.h>
  4946.   #include <stdlib.h>
  4947.   #include <stddef.h>
  4948. --- 19,25 ----
  4949.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4950.   
  4951.   #include <stdio.h>
  4952. ! #include </gnu/include/string.h>
  4953.   #include <ctype.h>
  4954.   #include <stdlib.h>
  4955.   #include <stddef.h>
  4956. diff -rc --new-file groff-1.09/include/ptable.h /gnu/src/amiga/groff-1.09/include/ptable.h
  4957. *** groff-1.09/include/ptable.h    Tue Aug 25 12:55:59 1992
  4958. --- /gnu/src/amiga/groff-1.09/include/ptable.h    Mon Feb 21 16:15:55 1994
  4959. ***************
  4960. *** 19,25 ****
  4961.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4962.   
  4963.   #include <assert.h>
  4964. ! #include <string.h>
  4965.   
  4966.   #ifdef TRADITIONAL_CPP
  4967.   #define name2(a,b) a/**/b
  4968. --- 19,25 ----
  4969.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4970.   
  4971.   #include <assert.h>
  4972. ! #include </gnu/include/string.h>
  4973.   
  4974.   #ifdef TRADITIONAL_CPP
  4975.   #define name2(a,b) a/**/b
  4976. diff -rc --new-file groff-1.09/include/stringclass.h /gnu/src/amiga/groff-1.09/include/stringclass.h
  4977. *** groff-1.09/include/stringclass.h    Thu May 27 21:19:36 1993
  4978. --- /gnu/src/amiga/groff-1.09/include/stringclass.h    Mon Feb 21 16:16:02 1994
  4979. ***************
  4980. *** 18,24 ****
  4981.   with groff; see the file COPYING.  If not, write to the Free Software
  4982.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4983.   
  4984. ! #include <string.h>
  4985.   #include <stdio.h>
  4986.   #include <assert.h>
  4987.   
  4988. --- 18,24 ----
  4989.   with groff; see the file COPYING.  If not, write to the Free Software
  4990.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  4991.   
  4992. ! #include </gnu/include/string.h>
  4993.   #include <stdio.h>
  4994.   #include <assert.h>
  4995.   
  4996. diff -rc --new-file groff-1.09/indxbib/Makefile.sub /gnu/src/amiga/groff-1.09/indxbib/Makefile.sub
  4997. *** groff-1.09/indxbib/Makefile.sub    Mon Jan  4 21:57:32 1993
  4998. --- /gnu/src/amiga/groff-1.09/indxbib/Makefile.sub    Mon Feb 21 16:31:44 1994
  4999. ***************
  5000. *** 10,20 ****
  5001.   install_data: eign
  5002.       -test -d $(datadir) || mkdir $(datadir)
  5003.       -test -d $(datasubdir) || mkdir $(datasubdir)
  5004. !     if test -f /usr/lib/eign; then \
  5005.         rm -f $(common_words_file); \
  5006. !       ln -s /usr/lib/eign $(common_words_file) 2>/dev/null \
  5007. !       || ln /usr/lib/eign $(common_words_file) 2>/dev/null \
  5008. !       || cp /usr/lib/eign $(common_words_file); \
  5009.       else \
  5010.         rm -f $(common_words_file); \
  5011.         $(INSTALL_DATA) $(srcdir)/eign $(common_words_file); \
  5012. --- 10,20 ----
  5013.   install_data: eign
  5014.       -test -d $(datadir) || mkdir $(datadir)
  5015.       -test -d $(datasubdir) || mkdir $(datasubdir)
  5016. !     if test -f /gnu/lib/eign; then \
  5017.         rm -f $(common_words_file); \
  5018. !       ln -s /gnu/lib/eign $(common_words_file) 2>/dev/null \
  5019. !       || ln /gnu/lib/eign $(common_words_file) 2>/dev/null \
  5020. !       || cp /gnu/lib/eign $(common_words_file); \
  5021.       else \
  5022.         rm -f $(common_words_file); \
  5023.         $(INSTALL_DATA) $(srcdir)/eign $(common_words_file); \
  5024. diff -rc --new-file groff-1.09/indxbib/indxbib.cc /gnu/src/amiga/groff-1.09/indxbib/indxbib.cc
  5025. *** groff-1.09/indxbib/indxbib.cc    Thu Feb  3 09:34:30 1994
  5026. --- /gnu/src/amiga/groff-1.09/indxbib/indxbib.cc    Mon Feb 21 16:16:09 1994
  5027. ***************
  5028. *** 20,26 ****
  5029.   
  5030.   #include <stdio.h>
  5031.   #include <stdlib.h>
  5032. ! #include <string.h>
  5033.   #include <assert.h>
  5034.   #include <errno.h>
  5035.   
  5036. --- 20,26 ----
  5037.   
  5038.   #include <stdio.h>
  5039.   #include <stdlib.h>
  5040. ! #include </gnu/include/string.h>
  5041.   #include <assert.h>
  5042.   #include <errno.h>
  5043.   
  5044. diff -rc --new-file groff-1.09/libbib/index.cc /gnu/src/amiga/groff-1.09/libbib/index.cc
  5045. *** groff-1.09/libbib/index.cc    Sun Feb 13 10:24:49 1994
  5046. --- /gnu/src/amiga/groff-1.09/libbib/index.cc    Mon Feb 21 16:16:28 1994
  5047. ***************
  5048. *** 19,25 ****
  5049.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5050.   
  5051.   #include <stdio.h>
  5052. ! #include <string.h>
  5053.   #include <stdlib.h>
  5054.   #include <errno.h>
  5055.   
  5056. --- 19,25 ----
  5057.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5058.   
  5059.   #include <stdio.h>
  5060. ! #include </gnu/include/string.h>
  5061.   #include <stdlib.h>
  5062.   #include <errno.h>
  5063.   
  5064. diff -rc --new-file groff-1.09/libbib/linear.cc /gnu/src/amiga/groff-1.09/libbib/linear.cc
  5065. *** groff-1.09/libbib/linear.cc    Fri Feb 18 17:27:29 1994
  5066. --- /gnu/src/amiga/groff-1.09/libbib/linear.cc    Mon Feb 21 16:16:21 1994
  5067. ***************
  5068. *** 19,25 ****
  5069.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5070.   
  5071.   
  5072. ! #include <string.h>
  5073.   #include <stdlib.h>
  5074.   #include <assert.h>
  5075.   #include <errno.h>
  5076. --- 19,25 ----
  5077.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5078.   
  5079.   
  5080. ! #include </gnu/include/string.h>
  5081.   #include <stdlib.h>
  5082.   #include <assert.h>
  5083.   #include <errno.h>
  5084. diff -rc --new-file groff-1.09/libbib/search.cc /gnu/src/amiga/groff-1.09/libbib/search.cc
  5085. *** groff-1.09/libbib/search.cc    Tue Aug 25 15:03:41 1992
  5086. --- /gnu/src/amiga/groff-1.09/libbib/search.cc    Mon Feb 21 16:16:14 1994
  5087. ***************
  5088. *** 19,25 ****
  5089.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5090.   
  5091.   #include <stdlib.h>
  5092. ! #include <string.h>
  5093.   #include <assert.h>
  5094.   #include <errno.h>
  5095.   
  5096. --- 19,25 ----
  5097.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5098.   
  5099.   #include <stdlib.h>
  5100. ! #include </gnu/include/string.h>
  5101.   #include <assert.h>
  5102.   #include <errno.h>
  5103.   
  5104. diff -rc --new-file groff-1.09/libgroff/change_lf.cc /gnu/src/amiga/groff-1.09/libgroff/change_lf.cc
  5105. *** groff-1.09/libgroff/change_lf.cc    Mon Aug  3 10:34:52 1992
  5106. --- /gnu/src/amiga/groff-1.09/libgroff/change_lf.cc    Mon Feb 21 16:16:34 1994
  5107. ***************
  5108. *** 17,23 ****
  5109.   with groff; see the file COPYING.  If not, write to the Free Software
  5110.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5111.   
  5112. ! #include <string.h>
  5113.   
  5114.   extern char *strsave(const char *);
  5115.   
  5116. --- 17,23 ----
  5117.   with groff; see the file COPYING.  If not, write to the Free Software
  5118.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5119.   
  5120. ! #include </gnu/include/string.h>
  5121.   
  5122.   extern char *strsave(const char *);
  5123.   
  5124. diff -rc --new-file groff-1.09/libgroff/error.cc /gnu/src/amiga/groff-1.09/libgroff/error.cc
  5125. *** groff-1.09/libgroff/error.cc    Mon Aug  3 10:34:36 1992
  5126. --- /gnu/src/amiga/groff-1.09/libgroff/error.cc    Mon Feb 21 16:16:40 1994
  5127. ***************
  5128. *** 20,26 ****
  5129.   
  5130.   #include <stdio.h>
  5131.   #include <stdlib.h>
  5132. ! #include <string.h>
  5133.   #include "errarg.h"
  5134.   #include "error.h"
  5135.   
  5136. --- 20,26 ----
  5137.   
  5138.   #include <stdio.h>
  5139.   #include <stdlib.h>
  5140. ! #include </gnu/include/string.h>
  5141.   #include "errarg.h"
  5142.   #include "error.h"
  5143.   
  5144. diff -rc --new-file groff-1.09/libgroff/font.cc /gnu/src/amiga/groff-1.09/libgroff/font.cc
  5145. *** groff-1.09/libgroff/font.cc    Mon Feb 14 08:27:02 1994
  5146. --- /gnu/src/amiga/groff-1.09/libgroff/font.cc    Mon Feb 21 16:16:54 1994
  5147. ***************
  5148. *** 19,25 ****
  5149.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5150.   
  5151.   #include <stdio.h>
  5152. ! #include <string.h>
  5153.   #include <ctype.h>
  5154.   #include <assert.h>
  5155.   #include <math.h>
  5156. --- 19,25 ----
  5157.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5158.   
  5159.   #include <stdio.h>
  5160. ! #include </gnu/include/string.h>
  5161.   #include <ctype.h>
  5162.   #include <assert.h>
  5163.   #include <math.h>
  5164. diff -rc --new-file groff-1.09/libgroff/fontfile.cc /gnu/src/amiga/groff-1.09/libgroff/fontfile.cc
  5165. *** groff-1.09/libgroff/fontfile.cc    Mon Aug  3 10:35:02 1992
  5166. --- /gnu/src/amiga/groff-1.09/libgroff/fontfile.cc    Mon Feb 21 16:16:46 1994
  5167. ***************
  5168. *** 19,25 ****
  5169.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5170.   
  5171.   #include <stdio.h>
  5172. ! #include <string.h>
  5173.   #include <assert.h>
  5174.   #include <stdlib.h>
  5175.   #include <errno.h>
  5176. --- 19,25 ----
  5177.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5178.   
  5179.   #include <stdio.h>
  5180. ! #include </gnu/include/string.h>
  5181.   #include <assert.h>
  5182.   #include <stdlib.h>
  5183.   #include <errno.h>
  5184. diff -rc --new-file groff-1.09/libgroff/lf.cc /gnu/src/amiga/groff-1.09/libgroff/lf.cc
  5185. *** groff-1.09/libgroff/lf.cc    Mon Aug  3 10:35:03 1992
  5186. --- /gnu/src/amiga/groff-1.09/libgroff/lf.cc    Mon Feb 21 16:17:01 1994
  5187. ***************
  5188. *** 18,24 ****
  5189.   with groff; see the file COPYING.  If not, write to the Free Software
  5190.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5191.   
  5192. ! #include <string.h>
  5193.   #include <ctype.h>
  5194.   #include "cset.h"
  5195.   #include "stringclass.h"
  5196. --- 18,24 ----
  5197.   with groff; see the file COPYING.  If not, write to the Free Software
  5198.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5199.   
  5200. ! #include </gnu/include/string.h>
  5201.   #include <ctype.h>
  5202.   #include "cset.h"
  5203.   #include "stringclass.h"
  5204. diff -rc --new-file groff-1.09/libgroff/nametoindex.cc /gnu/src/amiga/groff-1.09/libgroff/nametoindex.cc
  5205. *** groff-1.09/libgroff/nametoindex.cc    Mon Aug  3 10:34:44 1992
  5206. --- /gnu/src/amiga/groff-1.09/libgroff/nametoindex.cc    Mon Feb 21 16:17:11 1994
  5207. ***************
  5208. *** 19,25 ****
  5209.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5210.   
  5211.   #include <stdio.h>
  5212. ! #include <string.h>
  5213.   #include <ctype.h>
  5214.   #include <assert.h>
  5215.   #include <stdlib.h>
  5216. --- 19,25 ----
  5217.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5218.   
  5219.   #include <stdio.h>
  5220. ! #include </gnu/include/string.h>
  5221.   #include <ctype.h>
  5222.   #include <assert.h>
  5223.   #include <stdlib.h>
  5224. diff -rc --new-file groff-1.09/libgroff/new.cc /gnu/src/amiga/groff-1.09/libgroff/new.cc
  5225. *** groff-1.09/libgroff/new.cc    Sun Feb 13 10:48:35 1994
  5226. --- /gnu/src/amiga/groff-1.09/libgroff/new.cc    Mon Feb 21 16:17:06 1994
  5227. ***************
  5228. *** 19,25 ****
  5229.   
  5230.   #include <stddef.h>
  5231.   #include <stdlib.h>
  5232. ! #include <string.h>
  5233.   
  5234.   #include "posix.h"
  5235.   
  5236. --- 19,25 ----
  5237.   
  5238.   #include <stddef.h>
  5239.   #include <stdlib.h>
  5240. ! #include </gnu/include/string.h>
  5241.   
  5242.   #include "posix.h"
  5243.   
  5244. diff -rc --new-file groff-1.09/libgroff/searchpath.cc /gnu/src/amiga/groff-1.09/libgroff/searchpath.cc
  5245. *** groff-1.09/libgroff/searchpath.cc    Mon Aug  3 10:34:46 1992
  5246. --- /gnu/src/amiga/groff-1.09/libgroff/searchpath.cc    Mon Feb 21 16:17:18 1994
  5247. ***************
  5248. *** 19,25 ****
  5249.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5250.   
  5251.   #include <stdio.h>
  5252. ! #include <string.h>
  5253.   #include <stdlib.h>
  5254.   #include <assert.h>
  5255.   
  5256. --- 19,25 ----
  5257.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5258.   
  5259.   #include <stdio.h>
  5260. ! #include </gnu/include/string.h>
  5261.   #include <stdlib.h>
  5262.   #include <assert.h>
  5263.   
  5264. diff -rc --new-file groff-1.09/libgroff/strsave.cc /gnu/src/amiga/groff-1.09/libgroff/strsave.cc
  5265. *** groff-1.09/libgroff/strsave.cc    Mon Aug  3 10:34:49 1992
  5266. --- /gnu/src/amiga/groff-1.09/libgroff/strsave.cc    Mon Feb 21 16:17:25 1994
  5267. ***************
  5268. *** 18,24 ****
  5269.   with groff; see the file COPYING.  If not, write to the Free Software
  5270.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5271.   
  5272. ! #include <string.h>
  5273.   
  5274.   char *strsave(const char *s)
  5275.   {
  5276. --- 18,24 ----
  5277.   with groff; see the file COPYING.  If not, write to the Free Software
  5278.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  5279.   
  5280. ! #include </gnu/include/string.h>
  5281.   
  5282.   char *strsave(const char *s)
  5283.   {
  5284. diff -rc --new-file groff-1.09/libgroff/tmpfile.cc /gnu/src/amiga/groff-1.09/libgroff/tmpfile.cc
  5285. *** groff-1.09/libgroff/tmpfile.cc    Tue Aug 25 15:03:31 1992
  5286. --- /gnu/src/amiga/groff-1.09/libgroff/tmpfile.cc    Mon Feb 21 16:17:30 1994
  5287. ***************
  5288. *** 20,26 ****
  5289.   
  5290.   #include <stdio.h>
  5291.   #include <errno.h>
  5292. ! #include <string.h>
  5293.   #include <stdlib.h>
  5294.   
  5295.   #include "posix.h"
  5296. --- 20,26 ----
  5297.   
  5298.   #include <stdio.h>
  5299.   #include <errno.h>
  5300. ! #include </gnu/include/string.h>
  5301.   #include <stdlib.h>
  5302.   
  5303.   #include "posix.h"
  5304. diff -rc --new-file groff-1.09/lkbib/lkbib.cc /gnu/src/amiga/groff-1.09/lkbib/lkbib.cc
  5305. *** groff-1.09/lkbib/lkbib.cc    Thu May 27 22:29:33 1993
  5306. --- /gnu/src/amiga/groff-1.09/lkbib/lkbib.cc    Mon Feb 21 16:17:56 1994
  5307. ***************
  5308. *** 21,27 ****
  5309.   #include <stdlib.h>
  5310.   #include <stdio.h>
  5311.   #include <errno.h>
  5312. ! #include <string.h>
  5313.   #include <assert.h>
  5314.   
  5315.   #include "lib.h"
  5316. --- 21,27 ----
  5317.   #include <stdlib.h>
  5318.   #include <stdio.h>
  5319.   #include <errno.h>
  5320. ! #include </gnu/include/string.h>
  5321.   #include <assert.h>
  5322.   
  5323.   #include "lib.h"
  5324. diff -rc --new-file groff-1.09/lookbib/lookbib.cc /gnu/src/amiga/groff-1.09/lookbib/lookbib.cc
  5325. *** groff-1.09/lookbib/lookbib.cc    Thu May 27 22:29:38 1993
  5326. --- /gnu/src/amiga/groff-1.09/lookbib/lookbib.cc    Mon Feb 21 16:18:01 1994
  5327. ***************
  5328. *** 20,26 ****
  5329.   
  5330.   #include <stdio.h>
  5331.   #include <stdlib.h>
  5332. ! #include <string.h>
  5333.   #include <assert.h>
  5334.   #include <errno.h>
  5335.   
  5336. --- 20,26 ----
  5337.   
  5338.   #include <stdio.h>
  5339.   #include <stdlib.h>
  5340. ! #include </gnu/include/string.h>
  5341.   #include <assert.h>
  5342.   #include <errno.h>
  5343.   
  5344. diff -rc --new-file groff-1.09/mm/tmac.m /gnu/src/amiga/groff-1.09/mm/tmac.m
  5345. *** groff-1.09/mm/tmac.m    Mon Feb 14 08:42:46 1994
  5346. --- /gnu/src/amiga/groff-1.09/mm/tmac.m    Mon Feb 21 16:31:58 1994
  5347. ***************
  5348. *** 131,137 ****
  5349.   .\"
  5350.   .\" These two are for cover macro .MT
  5351.   .\" Change @langage in the national file.
  5352. ! .ds @cur-lib /usr/local/lib/groff/tmac
  5353.   .\" .ds @language
  5354.   .\"
  5355.   .\"    Current pointsize and vertical space, always in points.
  5356. --- 131,137 ----
  5357.   .\"
  5358.   .\" These two are for cover macro .MT
  5359.   .\" Change @langage in the national file.
  5360. ! .ds @cur-lib /gnu/lib/groff/tmac
  5361.   .\" .ds @language
  5362.   .\"
  5363.   .\"    Current pointsize and vertical space, always in points.
  5364. diff -rc --new-file groff-1.09/nroff/Makefile.sub /gnu/src/amiga/groff-1.09/nroff/Makefile.sub
  5365. *** groff-1.09/nroff/Makefile.sub    Mon Apr 19 08:46:21 1993
  5366. --- /gnu/src/amiga/groff-1.09/nroff/Makefile.sub    Sat Jul  9 13:53:05 1994
  5367. ***************
  5368. *** 1,3 ****
  5369. --- 1,4 ----
  5370. + PROG=nroff
  5371.   MAN1=nroff.n
  5372.   NAMEPREFIX=$(g)
  5373.   CLEANADD=nroff
  5374. diff -rc --new-file groff-1.09/pic/make-dos-dist /gnu/src/amiga/groff-1.09/pic/make-dos-dist
  5375. *** groff-1.09/pic/make-dos-dist    Thu May 27 19:57:13 1993
  5376. --- /gnu/src/amiga/groff-1.09/pic/make-dos-dist    Mon Feb 21 16:09:10 1994
  5377. ***************
  5378. *** 132,138 ****
  5379.   /* Derived from comp.sources.unix/volume3/att_getopt. */
  5380.   
  5381.   #include <stdio.h>
  5382. ! #include <string.h>
  5383.   #include <ctype.h>
  5384.   
  5385.   #ifdef SWITCHAR
  5386. --- 132,138 ----
  5387.   /* Derived from comp.sources.unix/volume3/att_getopt. */
  5388.   
  5389.   #include <stdio.h>
  5390. ! #include </gnu/include/string.h>
  5391.   #include <ctype.h>
  5392.   
  5393.   #ifdef SWITCHAR
  5394. diff -rc --new-file groff-1.09/pic/pic.cc /gnu/src/amiga/groff-1.09/pic/pic.cc
  5395. *** groff-1.09/pic/pic.cc    Sun Feb 13 10:26:46 1994
  5396. --- /gnu/src/amiga/groff-1.09/pic/pic.cc    Wed May  4 11:34:59 1994
  5397. ***************
  5398. *** 2,8 ****
  5399.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  5400.   #endif
  5401.   #define YYBYACC 1
  5402. ! #line 20 "/u/jjc/groff/pic/pic.y"
  5403.   #include "pic.h"
  5404.   #include "ptable.h"
  5405.   #include "object.h"
  5406. --- 2,8 ----
  5407.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  5408.   #endif
  5409.   #define YYBYACC 1
  5410. ! #line 20 "pic.y"
  5411.   #include "pic.h"
  5412.   #include "ptable.h"
  5413.   #include "object.h"
  5414. ***************
  5415. *** 53,59 ****
  5416.   char *format_number(const char *form, double n);
  5417.   char *do_sprintf(const char *form, const double *v, int nv);
  5418.   
  5419. ! #line 73 "/u/jjc/groff/pic/pic.y"
  5420.   typedef union {
  5421.       char *str;
  5422.       int n;
  5423. --- 53,59 ----
  5424.   char *format_number(const char *form, double n);
  5425.   char *do_sprintf(const char *form, const double *v, int nv);
  5426.   
  5427. ! #line 73 "pic.y"
  5428.   typedef union {
  5429.       char *str;
  5430.       int n;
  5431. ***************
  5432. *** 3115,3121 ****
  5433.   short yyss[YYSTACKSIZE];
  5434.   YYSTYPE yyvs[YYSTACKSIZE];
  5435.   #define yystacksize YYSTACKSIZE
  5436. ! #line 1514 "/u/jjc/groff/pic/pic.y"
  5437.   
  5438.   /* bison defines const to be empty unless __STDC__ is defined, which it
  5439.   isn't under cfront */
  5440. --- 3115,3121 ----
  5441.   short yyss[YYSTACKSIZE];
  5442.   YYSTYPE yyvs[YYSTACKSIZE];
  5443.   #define yystacksize YYSTACKSIZE
  5444. ! #line 1514 "pic.y"
  5445.   
  5446.   /* bison defines const to be empty unless __STDC__ is defined, which it
  5447.   isn't under cfront */
  5448. ***************
  5449. *** 3524,3556 ****
  5450.       switch (yyn)
  5451.       {
  5452.   case 2:
  5453. ! #line 272 "/u/jjc/groff/pic/pic.y"
  5454.   {
  5455.             if (olist.head)
  5456.               print_picture(olist.head);
  5457.           }
  5458.   break;
  5459.   case 3:
  5460. ! #line 281 "/u/jjc/groff/pic/pic.y"
  5461.   { yyval.pl = yyvsp[-1].pl; }
  5462.   break;
  5463.   case 4:
  5464. ! #line 286 "/u/jjc/groff/pic/pic.y"
  5465.   { yyval.pl = yyvsp[0].pl; }
  5466.   break;
  5467.   case 5:
  5468. ! #line 288 "/u/jjc/groff/pic/pic.y"
  5469.   { yyval.pl = yyvsp[-2].pl; }
  5470.   break;
  5471.   case 10:
  5472. ! #line 303 "/u/jjc/groff/pic/pic.y"
  5473.   {
  5474.             define_variable(yyvsp[-2].str, yyvsp[0].x);
  5475.             a_delete yyvsp[-2].str;
  5476.           }
  5477.   break;
  5478.   case 11:
  5479. ! #line 308 "/u/jjc/groff/pic/pic.y"
  5480.   {
  5481.             place *p = lookup_label(yyvsp[-3].str);
  5482.             if (!p) {
  5483. --- 3524,3556 ----
  5484.       switch (yyn)
  5485.       {
  5486.   case 2:
  5487. ! #line 272 "pic.y"
  5488.   {
  5489.             if (olist.head)
  5490.               print_picture(olist.head);
  5491.           }
  5492.   break;
  5493.   case 3:
  5494. ! #line 281 "pic.y"
  5495.   { yyval.pl = yyvsp[-1].pl; }
  5496.   break;
  5497.   case 4:
  5498. ! #line 286 "pic.y"
  5499.   { yyval.pl = yyvsp[0].pl; }
  5500.   break;
  5501.   case 5:
  5502. ! #line 288 "pic.y"
  5503.   { yyval.pl = yyvsp[-2].pl; }
  5504.   break;
  5505.   case 10:
  5506. ! #line 303 "pic.y"
  5507.   {
  5508.             define_variable(yyvsp[-2].str, yyvsp[0].x);
  5509.             a_delete yyvsp[-2].str;
  5510.           }
  5511.   break;
  5512.   case 11:
  5513. ! #line 308 "pic.y"
  5514.   {
  5515.             place *p = lookup_label(yyvsp[-3].str);
  5516.             if (!p) {
  5517. ***************
  5518. *** 3564,3600 ****
  5519.           }
  5520.   break;
  5521.   case 12:
  5522. ! #line 320 "/u/jjc/groff/pic/pic.y"
  5523.   { current_direction = UP_DIRECTION; }
  5524.   break;
  5525.   case 13:
  5526. ! #line 322 "/u/jjc/groff/pic/pic.y"
  5527.   { current_direction = DOWN_DIRECTION; }
  5528.   break;
  5529.   case 14:
  5530. ! #line 324 "/u/jjc/groff/pic/pic.y"
  5531.   { current_direction = LEFT_DIRECTION; }
  5532.   break;
  5533.   case 15:
  5534. ! #line 326 "/u/jjc/groff/pic/pic.y"
  5535.   { current_direction = RIGHT_DIRECTION; }
  5536.   break;
  5537.   case 16:
  5538. ! #line 328 "/u/jjc/groff/pic/pic.y"
  5539.   {
  5540.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5541.                              yyvsp[0].lstr.lineno));
  5542.           }
  5543.   break;
  5544.   case 17:
  5545. ! #line 333 "/u/jjc/groff/pic/pic.y"
  5546.   {
  5547.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5548.                              yyvsp[0].lstr.lineno));
  5549.           }
  5550.   break;
  5551.   case 18:
  5552. ! #line 338 "/u/jjc/groff/pic/pic.y"
  5553.   {
  5554.             fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
  5555.             a_delete yyvsp[0].lstr.str;
  5556. --- 3564,3600 ----
  5557.           }
  5558.   break;
  5559.   case 12:
  5560. ! #line 320 "pic.y"
  5561.   { current_direction = UP_DIRECTION; }
  5562.   break;
  5563.   case 13:
  5564. ! #line 322 "pic.y"
  5565.   { current_direction = DOWN_DIRECTION; }
  5566.   break;
  5567.   case 14:
  5568. ! #line 324 "pic.y"
  5569.   { current_direction = LEFT_DIRECTION; }
  5570.   break;
  5571.   case 15:
  5572. ! #line 326 "pic.y"
  5573.   { current_direction = RIGHT_DIRECTION; }
  5574.   break;
  5575.   case 16:
  5576. ! #line 328 "pic.y"
  5577.   {
  5578.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5579.                              yyvsp[0].lstr.lineno));
  5580.           }
  5581.   break;
  5582.   case 17:
  5583. ! #line 333 "pic.y"
  5584.   {
  5585.             olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
  5586.                              yyvsp[0].lstr.lineno));
  5587.           }
  5588.   break;
  5589.   case 18:
  5590. ! #line 338 "pic.y"
  5591.   {
  5592.             fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
  5593.             a_delete yyvsp[0].lstr.str;
  5594. ***************
  5595. *** 3602,3612 ****
  5596.           }
  5597.   break;
  5598.   case 19:
  5599. ! #line 344 "/u/jjc/groff/pic/pic.y"
  5600.   { delim_flag = 1; }
  5601.   break;
  5602.   case 20:
  5603. ! #line 346 "/u/jjc/groff/pic/pic.y"
  5604.   {
  5605.             delim_flag = 0;
  5606.             system(yyvsp[0].str);
  5607. --- 3602,3612 ----
  5608.           }
  5609.   break;
  5610.   case 19:
  5611. ! #line 344 "pic.y"
  5612.   { delim_flag = 1; }
  5613.   break;
  5614.   case 20:
  5615. ! #line 346 "pic.y"
  5616.   {
  5617.             delim_flag = 0;
  5618.             system(yyvsp[0].str);
  5619. ***************
  5620. *** 3614,3620 ****
  5621.           }
  5622.   break;
  5623.   case 21:
  5624. ! #line 352 "/u/jjc/groff/pic/pic.y"
  5625.   {
  5626.             if (yychar < 0)
  5627.               do_lookahead();
  5628. --- 3614,3620 ----
  5629.           }
  5630.   break;
  5631.   case 21:
  5632. ! #line 352 "pic.y"
  5633.   {
  5634.             if (yychar < 0)
  5635.               do_lookahead();
  5636. ***************
  5637. *** 3623,3637 ****
  5638.           }
  5639.   break;
  5640.   case 22:
  5641. ! #line 359 "/u/jjc/groff/pic/pic.y"
  5642.   { delim_flag = 2; }
  5643.   break;
  5644.   case 23:
  5645. ! #line 361 "/u/jjc/groff/pic/pic.y"
  5646.   { delim_flag = 0; }
  5647.   break;
  5648.   case 24:
  5649. ! #line 363 "/u/jjc/groff/pic/pic.y"
  5650.   {
  5651.             if (yychar < 0)
  5652.               do_lookahead();
  5653. --- 3623,3637 ----
  5654.           }
  5655.   break;
  5656.   case 22:
  5657. ! #line 359 "pic.y"
  5658.   { delim_flag = 2; }
  5659.   break;
  5660.   case 23:
  5661. ! #line 361 "pic.y"
  5662.   { delim_flag = 0; }
  5663.   break;
  5664.   case 24:
  5665. ! #line 363 "pic.y"
  5666.   {
  5667.             if (yychar < 0)
  5668.               do_lookahead();
  5669. ***************
  5670. *** 3642,3656 ****
  5671.           }
  5672.   break;
  5673.   case 25:
  5674. ! #line 372 "/u/jjc/groff/pic/pic.y"
  5675.   { delim_flag = 2; }
  5676.   break;
  5677.   case 26:
  5678. ! #line 374 "/u/jjc/groff/pic/pic.y"
  5679.   { delim_flag = 0; }
  5680.   break;
  5681.   case 27:
  5682. ! #line 376 "/u/jjc/groff/pic/pic.y"
  5683.   {
  5684.             if (yychar < 0)
  5685.               do_lookahead();
  5686. --- 3642,3656 ----
  5687.           }
  5688.   break;
  5689.   case 25:
  5690. ! #line 372 "pic.y"
  5691.   { delim_flag = 2; }
  5692.   break;
  5693.   case 26:
  5694. ! #line 374 "pic.y"
  5695.   { delim_flag = 0; }
  5696.   break;
  5697.   case 27:
  5698. ! #line 376 "pic.y"
  5699.   {
  5700.             if (yychar < 0)
  5701.               do_lookahead();
  5702. ***************
  5703. *** 3660,3670 ****
  5704.           }
  5705.   break;
  5706.   case 28:
  5707. ! #line 384 "/u/jjc/groff/pic/pic.y"
  5708.   { delim_flag = 1; }
  5709.   break;
  5710.   case 29:
  5711. ! #line 386 "/u/jjc/groff/pic/pic.y"
  5712.   {
  5713.             delim_flag = 0;
  5714.             if (yychar < 0)
  5715. --- 3660,3670 ----
  5716.           }
  5717.   break;
  5718.   case 28:
  5719. ! #line 384 "pic.y"
  5720.   { delim_flag = 1; }
  5721.   break;
  5722.   case 29:
  5723. ! #line 386 "pic.y"
  5724.   {
  5725.             delim_flag = 0;
  5726.             if (yychar < 0)
  5727. ***************
  5728. *** 3673,3679 ****
  5729.           }
  5730.   break;
  5731.   case 30:
  5732. ! #line 393 "/u/jjc/groff/pic/pic.y"
  5733.   {
  5734.             if (yychar < 0)
  5735.               do_lookahead();
  5736. --- 3673,3679 ----
  5737.           }
  5738.   break;
  5739.   case 30:
  5740. ! #line 393 "pic.y"
  5741.   {
  5742.             if (yychar < 0)
  5743.               do_lookahead();
  5744. ***************
  5745. *** 3683,3693 ****
  5746.           }
  5747.   break;
  5748.   case 31:
  5749. ! #line 401 "/u/jjc/groff/pic/pic.y"
  5750.   { delim_flag = 1; }
  5751.   break;
  5752.   case 32:
  5753. ! #line 403 "/u/jjc/groff/pic/pic.y"
  5754.   {
  5755.             delim_flag = 0;
  5756.             if (yychar < 0)
  5757. --- 3683,3693 ----
  5758.           }
  5759.   break;
  5760.   case 31:
  5761. ! #line 401 "pic.y"
  5762.   { delim_flag = 1; }
  5763.   break;
  5764.   case 32:
  5765. ! #line 403 "pic.y"
  5766.   {
  5767.             delim_flag = 0;
  5768.             if (yychar < 0)
  5769. ***************
  5770. *** 3701,3727 ****
  5771.           }
  5772.   break;
  5773.   case 34:
  5774. ! #line 416 "/u/jjc/groff/pic/pic.y"
  5775.   { define_variable("scale", 1.0); }
  5776.   break;
  5777.   case 35:
  5778. ! #line 421 "/u/jjc/groff/pic/pic.y"
  5779.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5780.   break;
  5781.   case 36:
  5782. ! #line 423 "/u/jjc/groff/pic/pic.y"
  5783.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5784.   break;
  5785.   case 37:
  5786. ! #line 425 "/u/jjc/groff/pic/pic.y"
  5787.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5788.   break;
  5789.   case 38:
  5790. ! #line 430 "/u/jjc/groff/pic/pic.y"
  5791.   { yyval.lstr = yyvsp[0].lstr; }
  5792.   break;
  5793.   case 39:
  5794. ! #line 432 "/u/jjc/groff/pic/pic.y"
  5795.   {
  5796.             yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
  5797.             strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
  5798. --- 3701,3727 ----
  5799.           }
  5800.   break;
  5801.   case 34:
  5802. ! #line 416 "pic.y"
  5803.   { define_variable("scale", 1.0); }
  5804.   break;
  5805.   case 35:
  5806. ! #line 421 "pic.y"
  5807.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5808.   break;
  5809.   case 36:
  5810. ! #line 423 "pic.y"
  5811.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5812.   break;
  5813.   case 37:
  5814. ! #line 425 "pic.y"
  5815.   { reset(yyvsp[0].str); a_delete yyvsp[0].str; }
  5816.   break;
  5817.   case 38:
  5818. ! #line 430 "pic.y"
  5819.   { yyval.lstr = yyvsp[0].lstr; }
  5820.   break;
  5821.   case 39:
  5822. ! #line 432 "pic.y"
  5823.   {
  5824.             yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
  5825.             strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
  5826. ***************
  5827. *** 3739,3745 ****
  5828.           }
  5829.   break;
  5830.   case 40:
  5831. ! #line 451 "/u/jjc/groff/pic/pic.y"
  5832.   {
  5833.             yyval.lstr.str = new char[GDIGITS + 1];
  5834.             sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
  5835. --- 3739,3745 ----
  5836.           }
  5837.   break;
  5838.   case 40:
  5839. ! #line 451 "pic.y"
  5840.   {
  5841.             yyval.lstr.str = new char[GDIGITS + 1];
  5842.             sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
  5843. ***************
  5844. *** 3748,3758 ****
  5845.           }
  5846.   break;
  5847.   case 41:
  5848. ! #line 458 "/u/jjc/groff/pic/pic.y"
  5849.   { yyval.lstr = yyvsp[0].lstr; }
  5850.   break;
  5851.   case 42:
  5852. ! #line 460 "/u/jjc/groff/pic/pic.y"
  5853.   {
  5854.             yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
  5855.             sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
  5856. --- 3748,3758 ----
  5857.           }
  5858.   break;
  5859.   case 41:
  5860. ! #line 458 "pic.y"
  5861.   { yyval.lstr = yyvsp[0].lstr; }
  5862.   break;
  5863.   case 42:
  5864. ! #line 460 "pic.y"
  5865.   {
  5866.             yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
  5867.             sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
  5868. ***************
  5869. *** 3761,3791 ****
  5870.           }
  5871.   break;
  5872.   case 43:
  5873. ! #line 469 "/u/jjc/groff/pic/pic.y"
  5874.   { delim_flag = 1; }
  5875.   break;
  5876.   case 44:
  5877. ! #line 471 "/u/jjc/groff/pic/pic.y"
  5878.   { delim_flag = 0; yyval.if_data.x = yyvsp[-3].x; yyval.if_data.body = yyvsp[0].str; }
  5879.   break;
  5880.   case 45:
  5881. ! #line 476 "/u/jjc/groff/pic/pic.y"
  5882.   { yyval.str = 0; }
  5883.   break;
  5884.   case 46:
  5885. ! #line 478 "/u/jjc/groff/pic/pic.y"
  5886.   { yyval.str = yyvsp[0].lstr.str; }
  5887.   break;
  5888.   case 47:
  5889. ! #line 483 "/u/jjc/groff/pic/pic.y"
  5890.   { yyval.x = yyvsp[0].x; }
  5891.   break;
  5892.   case 48:
  5893. ! #line 485 "/u/jjc/groff/pic/pic.y"
  5894.   { yyval.x = yyvsp[0].x; }
  5895.   break;
  5896.   case 49:
  5897. ! #line 490 "/u/jjc/groff/pic/pic.y"
  5898.   {
  5899.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
  5900.             a_delete yyvsp[-2].lstr.str;
  5901. --- 3761,3791 ----
  5902.           }
  5903.   break;
  5904.   case 43:
  5905. ! #line 469 "pic.y"
  5906.   { delim_flag = 1; }
  5907.   break;
  5908.   case 44:
  5909. ! #line 471 "pic.y"
  5910.   { delim_flag = 0; yyval.if_data.x = yyvsp[-3].x; yyval.if_data.body = yyvsp[0].str; }
  5911.   break;
  5912.   case 45:
  5913. ! #line 476 "pic.y"
  5914.   { yyval.str = 0; }
  5915.   break;
  5916.   case 46:
  5917. ! #line 478 "pic.y"
  5918.   { yyval.str = yyvsp[0].lstr.str; }
  5919.   break;
  5920.   case 47:
  5921. ! #line 483 "pic.y"
  5922.   { yyval.x = yyvsp[0].x; }
  5923.   break;
  5924.   case 48:
  5925. ! #line 485 "pic.y"
  5926.   { yyval.x = yyvsp[0].x; }
  5927.   break;
  5928.   case 49:
  5929. ! #line 490 "pic.y"
  5930.   {
  5931.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
  5932.             a_delete yyvsp[-2].lstr.str;
  5933. ***************
  5934. *** 3793,3799 ****
  5935.           }
  5936.   break;
  5937.   case 50:
  5938. ! #line 496 "/u/jjc/groff/pic/pic.y"
  5939.   {
  5940.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
  5941.             a_delete yyvsp[-2].lstr.str;
  5942. --- 3793,3799 ----
  5943.           }
  5944.   break;
  5945.   case 50:
  5946. ! #line 496 "pic.y"
  5947.   {
  5948.             yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
  5949.             a_delete yyvsp[-2].lstr.str;
  5950. ***************
  5951. *** 3801,3847 ****
  5952.           }
  5953.   break;
  5954.   case 51:
  5955. ! #line 502 "/u/jjc/groff/pic/pic.y"
  5956.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  5957.   break;
  5958.   case 52:
  5959. ! #line 504 "/u/jjc/groff/pic/pic.y"
  5960.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  5961.   break;
  5962.   case 53:
  5963. ! #line 506 "/u/jjc/groff/pic/pic.y"
  5964.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  5965.   break;
  5966.   case 54:
  5967. ! #line 508 "/u/jjc/groff/pic/pic.y"
  5968.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  5969.   break;
  5970.   case 55:
  5971. ! #line 510 "/u/jjc/groff/pic/pic.y"
  5972.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  5973.   break;
  5974.   case 56:
  5975. ! #line 512 "/u/jjc/groff/pic/pic.y"
  5976.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  5977.   break;
  5978.   case 57:
  5979. ! #line 514 "/u/jjc/groff/pic/pic.y"
  5980.   { yyval.x = (yyvsp[0].x == 0.0); }
  5981.   break;
  5982.   case 58:
  5983. ! #line 520 "/u/jjc/groff/pic/pic.y"
  5984.   { yyval.by.val = 1.0; yyval.by.is_multiplicative = 0; }
  5985.   break;
  5986.   case 59:
  5987. ! #line 522 "/u/jjc/groff/pic/pic.y"
  5988.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 0; }
  5989.   break;
  5990.   case 60:
  5991. ! #line 524 "/u/jjc/groff/pic/pic.y"
  5992.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 1; }
  5993.   break;
  5994.   case 61:
  5995. ! #line 529 "/u/jjc/groff/pic/pic.y"
  5996.   {
  5997.             yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position,
  5998.                          ¤t_direction);
  5999. --- 3801,3847 ----
  6000.           }
  6001.   break;
  6002.   case 51:
  6003. ! #line 502 "pic.y"
  6004.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6005.   break;
  6006.   case 52:
  6007. ! #line 504 "pic.y"
  6008.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6009.   break;
  6010.   case 53:
  6011. ! #line 506 "pic.y"
  6012.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  6013.   break;
  6014.   case 54:
  6015. ! #line 508 "pic.y"
  6016.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6017.   break;
  6018.   case 55:
  6019. ! #line 510 "pic.y"
  6020.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6021.   break;
  6022.   case 56:
  6023. ! #line 512 "pic.y"
  6024.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  6025.   break;
  6026.   case 57:
  6027. ! #line 514 "pic.y"
  6028.   { yyval.x = (yyvsp[0].x == 0.0); }
  6029.   break;
  6030.   case 58:
  6031. ! #line 520 "pic.y"
  6032.   { yyval.by.val = 1.0; yyval.by.is_multiplicative = 0; }
  6033.   break;
  6034.   case 59:
  6035. ! #line 522 "pic.y"
  6036.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 0; }
  6037.   break;
  6038.   case 60:
  6039. ! #line 524 "pic.y"
  6040.   { yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 1; }
  6041.   break;
  6042.   case 61:
  6043. ! #line 529 "pic.y"
  6044.   {
  6045.             yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position,
  6046.                          ¤t_direction);
  6047. ***************
  6048. *** 3857,3867 ****
  6049.           }
  6050.   break;
  6051.   case 62:
  6052. ! #line 543 "/u/jjc/groff/pic/pic.y"
  6053.   { yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); a_delete yyvsp[-3].str; }
  6054.   break;
  6055.   case 63:
  6056. ! #line 545 "/u/jjc/groff/pic/pic.y"
  6057.   {
  6058.             yyval.pl.obj = 0;
  6059.             yyval.pl.x = yyvsp[0].pair.x;
  6060. --- 3857,3867 ----
  6061.           }
  6062.   break;
  6063.   case 62:
  6064. ! #line 543 "pic.y"
  6065.   { yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); a_delete yyvsp[-3].str; }
  6066.   break;
  6067.   case 63:
  6068. ! #line 545 "pic.y"
  6069.   {
  6070.             yyval.pl.obj = 0;
  6071.             yyval.pl.x = yyvsp[0].pair.x;
  6072. ***************
  6073. *** 3871,3877 ****
  6074.           }
  6075.   break;
  6076.   case 64:
  6077. ! #line 553 "/u/jjc/groff/pic/pic.y"
  6078.   {
  6079.             yyval.pl = yyvsp[0].pl;
  6080.             define_label(yyvsp[-3].str, & yyval.pl);
  6081. --- 3871,3877 ----
  6082.           }
  6083.   break;
  6084.   case 64:
  6085. ! #line 553 "pic.y"
  6086.   {
  6087.             yyval.pl = yyvsp[0].pl;
  6088.             define_label(yyvsp[-3].str, & yyval.pl);
  6089. ***************
  6090. *** 3879,3885 ****
  6091.           }
  6092.   break;
  6093.   case 65:
  6094. ! #line 559 "/u/jjc/groff/pic/pic.y"
  6095.   {
  6096.             yyval.state.x = current_position.x;
  6097.             yyval.state.y = current_position.y;
  6098. --- 3879,3885 ----
  6099.           }
  6100.   break;
  6101.   case 65:
  6102. ! #line 559 "pic.y"
  6103.   {
  6104.             yyval.state.x = current_position.x;
  6105.             yyval.state.y = current_position.y;
  6106. ***************
  6107. *** 3887,3893 ****
  6108.           }
  6109.   break;
  6110.   case 66:
  6111. ! #line 565 "/u/jjc/groff/pic/pic.y"
  6112.   {
  6113.             current_position.x = yyvsp[-2].state.x;
  6114.             current_position.y = yyvsp[-2].state.y;
  6115. --- 3887,3893 ----
  6116.           }
  6117.   break;
  6118.   case 66:
  6119. ! #line 565 "pic.y"
  6120.   {
  6121.             current_position.x = yyvsp[-2].state.x;
  6122.             current_position.y = yyvsp[-2].state.y;
  6123. ***************
  6124. *** 3895,3907 ****
  6125.           }
  6126.   break;
  6127.   case 67:
  6128. ! #line 571 "/u/jjc/groff/pic/pic.y"
  6129.   {
  6130.             yyval.pl = yyvsp[-3].pl;
  6131.           }
  6132.   break;
  6133.   case 68:
  6134. ! #line 575 "/u/jjc/groff/pic/pic.y"
  6135.   {
  6136.             yyval.pl.obj = 0;
  6137.             yyval.pl.x = current_position.x;
  6138. --- 3895,3907 ----
  6139.           }
  6140.   break;
  6141.   case 67:
  6142. ! #line 571 "pic.y"
  6143.   {
  6144.             yyval.pl = yyvsp[-3].pl;
  6145.           }
  6146.   break;
  6147.   case 68:
  6148. ! #line 575 "pic.y"
  6149.   {
  6150.             yyval.pl.obj = 0;
  6151.             yyval.pl.x = current_position.x;
  6152. ***************
  6153. *** 3909,3948 ****
  6154.           }
  6155.   break;
  6156.   case 69:
  6157. ! #line 584 "/u/jjc/groff/pic/pic.y"
  6158.   {}
  6159.   break;
  6160.   case 70:
  6161. ! #line 586 "/u/jjc/groff/pic/pic.y"
  6162.   {}
  6163.   break;
  6164.   case 71:
  6165. ! #line 591 "/u/jjc/groff/pic/pic.y"
  6166.   {
  6167.             yyval.spec = new object_spec(BOX_OBJECT);
  6168.           }
  6169.   break;
  6170.   case 72:
  6171. ! #line 595 "/u/jjc/groff/pic/pic.y"
  6172.   {
  6173.             yyval.spec = new object_spec(CIRCLE_OBJECT);
  6174.           }
  6175.   break;
  6176.   case 73:
  6177. ! #line 599 "/u/jjc/groff/pic/pic.y"
  6178.   {
  6179.             yyval.spec = new object_spec(ELLIPSE_OBJECT);
  6180.           }
  6181.   break;
  6182.   case 74:
  6183. ! #line 603 "/u/jjc/groff/pic/pic.y"
  6184.   {
  6185.             yyval.spec = new object_spec(ARC_OBJECT);
  6186.             yyval.spec->dir = current_direction;
  6187.           }
  6188.   break;
  6189.   case 75:
  6190. ! #line 608 "/u/jjc/groff/pic/pic.y"
  6191.   {
  6192.             yyval.spec = new object_spec(LINE_OBJECT);
  6193.             lookup_variable("lineht", & yyval.spec->segment_height);
  6194. --- 3909,3948 ----
  6195.           }
  6196.   break;
  6197.   case 69:
  6198. ! #line 584 "pic.y"
  6199.   {}
  6200.   break;
  6201.   case 70:
  6202. ! #line 586 "pic.y"
  6203.   {}
  6204.   break;
  6205.   case 71:
  6206. ! #line 591 "pic.y"
  6207.   {
  6208.             yyval.spec = new object_spec(BOX_OBJECT);
  6209.           }
  6210.   break;
  6211.   case 72:
  6212. ! #line 595 "pic.y"
  6213.   {
  6214.             yyval.spec = new object_spec(CIRCLE_OBJECT);
  6215.           }
  6216.   break;
  6217.   case 73:
  6218. ! #line 599 "pic.y"
  6219.   {
  6220.             yyval.spec = new object_spec(ELLIPSE_OBJECT);
  6221.           }
  6222.   break;
  6223.   case 74:
  6224. ! #line 603 "pic.y"
  6225.   {
  6226.             yyval.spec = new object_spec(ARC_OBJECT);
  6227.             yyval.spec->dir = current_direction;
  6228.           }
  6229.   break;
  6230.   case 75:
  6231. ! #line 608 "pic.y"
  6232.   {
  6233.             yyval.spec = new object_spec(LINE_OBJECT);
  6234.             lookup_variable("lineht", & yyval.spec->segment_height);
  6235. ***************
  6236. *** 3951,3957 ****
  6237.           }
  6238.   break;
  6239.   case 76:
  6240. ! #line 615 "/u/jjc/groff/pic/pic.y"
  6241.   {
  6242.             yyval.spec = new object_spec(ARROW_OBJECT);
  6243.             lookup_variable("lineht", & yyval.spec->segment_height);
  6244. --- 3951,3957 ----
  6245.           }
  6246.   break;
  6247.   case 76:
  6248. ! #line 615 "pic.y"
  6249.   {
  6250.             yyval.spec = new object_spec(ARROW_OBJECT);
  6251.             lookup_variable("lineht", & yyval.spec->segment_height);
  6252. ***************
  6253. *** 3960,3966 ****
  6254.           }
  6255.   break;
  6256.   case 77:
  6257. ! #line 622 "/u/jjc/groff/pic/pic.y"
  6258.   {
  6259.             yyval.spec = new object_spec(MOVE_OBJECT);
  6260.             lookup_variable("moveht", & yyval.spec->segment_height);
  6261. --- 3960,3966 ----
  6262.           }
  6263.   break;
  6264.   case 77:
  6265. ! #line 622 "pic.y"
  6266.   {
  6267.             yyval.spec = new object_spec(MOVE_OBJECT);
  6268.             lookup_variable("moveht", & yyval.spec->segment_height);
  6269. ***************
  6270. *** 3969,3975 ****
  6271.           }
  6272.   break;
  6273.   case 78:
  6274. ! #line 629 "/u/jjc/groff/pic/pic.y"
  6275.   {
  6276.             yyval.spec = new object_spec(SPLINE_OBJECT);
  6277.             lookup_variable("lineht", & yyval.spec->segment_height);
  6278. --- 3969,3975 ----
  6279.           }
  6280.   break;
  6281.   case 78:
  6282. ! #line 629 "pic.y"
  6283.   {
  6284.             yyval.spec = new object_spec(SPLINE_OBJECT);
  6285.             lookup_variable("lineht", & yyval.spec->segment_height);
  6286. ***************
  6287. *** 3978,3998 ****
  6288.           }
  6289.   break;
  6290.   case 79:
  6291. ! #line 636 "/u/jjc/groff/pic/pic.y"
  6292.   {
  6293.             yyval.spec = new object_spec(TEXT_OBJECT);
  6294.             yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
  6295.           }
  6296.   break;
  6297.   case 80:
  6298. ! #line 641 "/u/jjc/groff/pic/pic.y"
  6299.   {
  6300.             yyval.spec = new object_spec(TEXT_OBJECT);
  6301.             yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
  6302.           }
  6303.   break;
  6304.   case 81:
  6305. ! #line 646 "/u/jjc/groff/pic/pic.y"
  6306.   {
  6307.             yyval.spec = new object_spec(TEXT_OBJECT);
  6308.             yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
  6309. --- 3978,3998 ----
  6310.           }
  6311.   break;
  6312.   case 79:
  6313. ! #line 636 "pic.y"
  6314.   {
  6315.             yyval.spec = new object_spec(TEXT_OBJECT);
  6316.             yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
  6317.           }
  6318.   break;
  6319.   case 80:
  6320. ! #line 641 "pic.y"
  6321.   {
  6322.             yyval.spec = new object_spec(TEXT_OBJECT);
  6323.             yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
  6324.           }
  6325.   break;
  6326.   case 81:
  6327. ! #line 646 "pic.y"
  6328.   {
  6329.             yyval.spec = new object_spec(TEXT_OBJECT);
  6330.             yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
  6331. ***************
  6332. *** 4001,4007 ****
  6333.           }
  6334.   break;
  6335.   case 82:
  6336. ! #line 653 "/u/jjc/groff/pic/pic.y"
  6337.   {
  6338.             saved_state *p = new saved_state;
  6339.             yyval.pstate = p;
  6340. --- 4001,4007 ----
  6341.           }
  6342.   break;
  6343.   case 82:
  6344. ! #line 653 "pic.y"
  6345.   {
  6346.             saved_state *p = new saved_state;
  6347.             yyval.pstate = p;
  6348. ***************
  6349. *** 4018,4024 ****
  6350.           }
  6351.   break;
  6352.   case 83:
  6353. ! #line 668 "/u/jjc/groff/pic/pic.y"
  6354.   {
  6355.             current_position.x = yyvsp[-2].pstate->x;
  6356.             current_position.y = yyvsp[-2].pstate->y;
  6357. --- 4018,4024 ----
  6358.           }
  6359.   break;
  6360.   case 83:
  6361. ! #line 668 "pic.y"
  6362.   {
  6363.             current_position.x = yyvsp[-2].pstate->x;
  6364.             current_position.y = yyvsp[-2].pstate->y;
  6365. ***************
  6366. *** 4032,4038 ****
  6367.           }
  6368.   break;
  6369.   case 84:
  6370. ! #line 680 "/u/jjc/groff/pic/pic.y"
  6371.   {
  6372.             yyval.spec = yyvsp[-2].spec;
  6373.             yyval.spec->height = yyvsp[0].x;
  6374. --- 4032,4038 ----
  6375.           }
  6376.   break;
  6377.   case 84:
  6378. ! #line 680 "pic.y"
  6379.   {
  6380.             yyval.spec = yyvsp[-2].spec;
  6381.             yyval.spec->height = yyvsp[0].x;
  6382. ***************
  6383. *** 4040,4046 ****
  6384.           }
  6385.   break;
  6386.   case 85:
  6387. ! #line 686 "/u/jjc/groff/pic/pic.y"
  6388.   {
  6389.             yyval.spec = yyvsp[-2].spec;
  6390.             yyval.spec->radius = yyvsp[0].x;
  6391. --- 4040,4046 ----
  6392.           }
  6393.   break;
  6394.   case 85:
  6395. ! #line 686 "pic.y"
  6396.   {
  6397.             yyval.spec = yyvsp[-2].spec;
  6398.             yyval.spec->radius = yyvsp[0].x;
  6399. ***************
  6400. *** 4048,4054 ****
  6401.           }
  6402.   break;
  6403.   case 86:
  6404. ! #line 692 "/u/jjc/groff/pic/pic.y"
  6405.   {
  6406.             yyval.spec = yyvsp[-2].spec;
  6407.             yyval.spec->width = yyvsp[0].x;
  6408. --- 4048,4054 ----
  6409.           }
  6410.   break;
  6411.   case 86:
  6412. ! #line 692 "pic.y"
  6413.   {
  6414.             yyval.spec = yyvsp[-2].spec;
  6415.             yyval.spec->width = yyvsp[0].x;
  6416. ***************
  6417. *** 4056,4062 ****
  6418.           }
  6419.   break;
  6420.   case 87:
  6421. ! #line 698 "/u/jjc/groff/pic/pic.y"
  6422.   {
  6423.             yyval.spec = yyvsp[-2].spec;
  6424.             yyval.spec->radius = yyvsp[0].x/2.0;
  6425. --- 4056,4062 ----
  6426.           }
  6427.   break;
  6428.   case 87:
  6429. ! #line 698 "pic.y"
  6430.   {
  6431.             yyval.spec = yyvsp[-2].spec;
  6432.             yyval.spec->radius = yyvsp[0].x/2.0;
  6433. ***************
  6434. *** 4064,4070 ****
  6435.           }
  6436.   break;
  6437.   case 88:
  6438. ! #line 704 "/u/jjc/groff/pic/pic.y"
  6439.   {
  6440.             yyval.spec = yyvsp[-1].spec;
  6441.             yyval.spec->flags |= HAS_SEGMENT;
  6442. --- 4064,4070 ----
  6443.           }
  6444.   break;
  6445.   case 88:
  6446. ! #line 704 "pic.y"
  6447.   {
  6448.             yyval.spec = yyvsp[-1].spec;
  6449.             yyval.spec->flags |= HAS_SEGMENT;
  6450. ***************
  6451. *** 4085,4091 ****
  6452.           }
  6453.   break;
  6454.   case 89:
  6455. ! #line 723 "/u/jjc/groff/pic/pic.y"
  6456.   {
  6457.             yyval.spec = yyvsp[-1].spec;
  6458.             yyval.spec->dir = UP_DIRECTION;
  6459. --- 4085,4091 ----
  6460.           }
  6461.   break;
  6462.   case 89:
  6463. ! #line 723 "pic.y"
  6464.   {
  6465.             yyval.spec = yyvsp[-1].spec;
  6466.             yyval.spec->dir = UP_DIRECTION;
  6467. ***************
  6468. *** 4094,4100 ****
  6469.           }
  6470.   break;
  6471.   case 90:
  6472. ! #line 730 "/u/jjc/groff/pic/pic.y"
  6473.   {
  6474.             yyval.spec = yyvsp[-2].spec;
  6475.             yyval.spec->dir = UP_DIRECTION;
  6476. --- 4094,4100 ----
  6477.           }
  6478.   break;
  6479.   case 90:
  6480. ! #line 730 "pic.y"
  6481.   {
  6482.             yyval.spec = yyvsp[-2].spec;
  6483.             yyval.spec->dir = UP_DIRECTION;
  6484. ***************
  6485. *** 4103,4109 ****
  6486.           }
  6487.   break;
  6488.   case 91:
  6489. ! #line 737 "/u/jjc/groff/pic/pic.y"
  6490.   {
  6491.             yyval.spec = yyvsp[-1].spec;
  6492.             yyval.spec->dir = DOWN_DIRECTION;
  6493. --- 4103,4109 ----
  6494.           }
  6495.   break;
  6496.   case 91:
  6497. ! #line 737 "pic.y"
  6498.   {
  6499.             yyval.spec = yyvsp[-1].spec;
  6500.             yyval.spec->dir = DOWN_DIRECTION;
  6501. ***************
  6502. *** 4112,4118 ****
  6503.           }
  6504.   break;
  6505.   case 92:
  6506. ! #line 744 "/u/jjc/groff/pic/pic.y"
  6507.   {
  6508.             yyval.spec = yyvsp[-2].spec;
  6509.             yyval.spec->dir = DOWN_DIRECTION;
  6510. --- 4112,4118 ----
  6511.           }
  6512.   break;
  6513.   case 92:
  6514. ! #line 744 "pic.y"
  6515.   {
  6516.             yyval.spec = yyvsp[-2].spec;
  6517.             yyval.spec->dir = DOWN_DIRECTION;
  6518. ***************
  6519. *** 4121,4127 ****
  6520.           }
  6521.   break;
  6522.   case 93:
  6523. ! #line 751 "/u/jjc/groff/pic/pic.y"
  6524.   {
  6525.             yyval.spec = yyvsp[-1].spec;
  6526.             yyval.spec->dir = RIGHT_DIRECTION;
  6527. --- 4121,4127 ----
  6528.           }
  6529.   break;
  6530.   case 93:
  6531. ! #line 751 "pic.y"
  6532.   {
  6533.             yyval.spec = yyvsp[-1].spec;
  6534.             yyval.spec->dir = RIGHT_DIRECTION;
  6535. ***************
  6536. *** 4130,4136 ****
  6537.           }
  6538.   break;
  6539.   case 94:
  6540. ! #line 758 "/u/jjc/groff/pic/pic.y"
  6541.   {
  6542.             yyval.spec = yyvsp[-2].spec;
  6543.             yyval.spec->dir = RIGHT_DIRECTION;
  6544. --- 4130,4136 ----
  6545.           }
  6546.   break;
  6547.   case 94:
  6548. ! #line 758 "pic.y"
  6549.   {
  6550.             yyval.spec = yyvsp[-2].spec;
  6551.             yyval.spec->dir = RIGHT_DIRECTION;
  6552. ***************
  6553. *** 4139,4145 ****
  6554.           }
  6555.   break;
  6556.   case 95:
  6557. ! #line 765 "/u/jjc/groff/pic/pic.y"
  6558.   {
  6559.             yyval.spec = yyvsp[-1].spec;
  6560.             yyval.spec->dir = LEFT_DIRECTION;
  6561. --- 4139,4145 ----
  6562.           }
  6563.   break;
  6564.   case 95:
  6565. ! #line 765 "pic.y"
  6566.   {
  6567.             yyval.spec = yyvsp[-1].spec;
  6568.             yyval.spec->dir = LEFT_DIRECTION;
  6569. ***************
  6570. *** 4148,4154 ****
  6571.           }
  6572.   break;
  6573.   case 96:
  6574. ! #line 772 "/u/jjc/groff/pic/pic.y"
  6575.   {
  6576.             yyval.spec = yyvsp[-2].spec;
  6577.             yyval.spec->dir = LEFT_DIRECTION;
  6578. --- 4148,4154 ----
  6579.           }
  6580.   break;
  6581.   case 96:
  6582. ! #line 772 "pic.y"
  6583.   {
  6584.             yyval.spec = yyvsp[-2].spec;
  6585.             yyval.spec->dir = LEFT_DIRECTION;
  6586. ***************
  6587. *** 4157,4163 ****
  6588.           }
  6589.   break;
  6590.   case 97:
  6591. ! #line 779 "/u/jjc/groff/pic/pic.y"
  6592.   {
  6593.             yyval.spec = yyvsp[-2].spec;
  6594.             yyval.spec->flags |= HAS_FROM;
  6595. --- 4157,4163 ----
  6596.           }
  6597.   break;
  6598.   case 97:
  6599. ! #line 779 "pic.y"
  6600.   {
  6601.             yyval.spec = yyvsp[-2].spec;
  6602.             yyval.spec->flags |= HAS_FROM;
  6603. ***************
  6604. *** 4166,4172 ****
  6605.           }
  6606.   break;
  6607.   case 98:
  6608. ! #line 786 "/u/jjc/groff/pic/pic.y"
  6609.   {
  6610.             yyval.spec = yyvsp[-2].spec;
  6611.             if (yyval.spec->flags & HAS_SEGMENT)
  6612. --- 4166,4172 ----
  6613.           }
  6614.   break;
  6615.   case 98:
  6616. ! #line 786 "pic.y"
  6617.   {
  6618.             yyval.spec = yyvsp[-2].spec;
  6619.             if (yyval.spec->flags & HAS_SEGMENT)
  6620. ***************
  6621. *** 4183,4189 ****
  6622.           }
  6623.   break;
  6624.   case 99:
  6625. ! #line 801 "/u/jjc/groff/pic/pic.y"
  6626.   {
  6627.             yyval.spec = yyvsp[-2].spec;
  6628.             yyval.spec->flags |= HAS_AT;
  6629. --- 4183,4189 ----
  6630.           }
  6631.   break;
  6632.   case 99:
  6633. ! #line 801 "pic.y"
  6634.   {
  6635.             yyval.spec = yyvsp[-2].spec;
  6636.             yyval.spec->flags |= HAS_AT;
  6637. ***************
  6638. *** 4197,4203 ****
  6639.           }
  6640.   break;
  6641.   case 100:
  6642. ! #line 813 "/u/jjc/groff/pic/pic.y"
  6643.   {
  6644.             yyval.spec = yyvsp[-2].spec;
  6645.             yyval.spec->flags |= HAS_WITH;
  6646. --- 4197,4203 ----
  6647.           }
  6648.   break;
  6649.   case 100:
  6650. ! #line 813 "pic.y"
  6651.   {
  6652.             yyval.spec = yyvsp[-2].spec;
  6653.             yyval.spec->flags |= HAS_WITH;
  6654. ***************
  6655. *** 4205,4211 ****
  6656.           }
  6657.   break;
  6658.   case 101:
  6659. ! #line 819 "/u/jjc/groff/pic/pic.y"
  6660.   {
  6661.             yyval.spec = yyvsp[-2].spec;
  6662.             yyval.spec->flags |= HAS_SEGMENT;
  6663. --- 4205,4211 ----
  6664.           }
  6665.   break;
  6666.   case 101:
  6667. ! #line 819 "pic.y"
  6668.   {
  6669.             yyval.spec = yyvsp[-2].spec;
  6670.             yyval.spec->flags |= HAS_SEGMENT;
  6671. ***************
  6672. *** 4214,4220 ****
  6673.           }
  6674.   break;
  6675.   case 102:
  6676. ! #line 826 "/u/jjc/groff/pic/pic.y"
  6677.   {
  6678.             yyval.spec = yyvsp[-1].spec;
  6679.             if (yyval.spec->flags & HAS_SEGMENT) {
  6680. --- 4214,4220 ----
  6681.           }
  6682.   break;
  6683.   case 102:
  6684. ! #line 826 "pic.y"
  6685.   {
  6686.             yyval.spec = yyvsp[-1].spec;
  6687.             if (yyval.spec->flags & HAS_SEGMENT) {
  6688. ***************
  6689. *** 4228,4234 ****
  6690.           }
  6691.   break;
  6692.   case 103:
  6693. ! #line 838 "/u/jjc/groff/pic/pic.y"
  6694.   {
  6695.             yyval.spec = yyvsp[-1].spec;
  6696.             yyval.spec->flags |= IS_DOTTED;
  6697. --- 4228,4234 ----
  6698.           }
  6699.   break;
  6700.   case 103:
  6701. ! #line 838 "pic.y"
  6702.   {
  6703.             yyval.spec = yyvsp[-1].spec;
  6704.             yyval.spec->flags |= IS_DOTTED;
  6705. ***************
  6706. *** 4236,4242 ****
  6707.           }
  6708.   break;
  6709.   case 104:
  6710. ! #line 844 "/u/jjc/groff/pic/pic.y"
  6711.   {
  6712.             yyval.spec = yyvsp[-2].spec;
  6713.             yyval.spec->flags |= IS_DOTTED;
  6714. --- 4236,4242 ----
  6715.           }
  6716.   break;
  6717.   case 104:
  6718. ! #line 844 "pic.y"
  6719.   {
  6720.             yyval.spec = yyvsp[-2].spec;
  6721.             yyval.spec->flags |= IS_DOTTED;
  6722. ***************
  6723. *** 4244,4250 ****
  6724.           }
  6725.   break;
  6726.   case 105:
  6727. ! #line 850 "/u/jjc/groff/pic/pic.y"
  6728.   {
  6729.             yyval.spec = yyvsp[-1].spec;
  6730.             yyval.spec->flags |= IS_DASHED;
  6731. --- 4244,4250 ----
  6732.           }
  6733.   break;
  6734.   case 105:
  6735. ! #line 850 "pic.y"
  6736.   {
  6737.             yyval.spec = yyvsp[-1].spec;
  6738.             yyval.spec->flags |= IS_DASHED;
  6739. ***************
  6740. *** 4252,4258 ****
  6741.           }
  6742.   break;
  6743.   case 106:
  6744. ! #line 856 "/u/jjc/groff/pic/pic.y"
  6745.   {
  6746.             yyval.spec = yyvsp[-2].spec;
  6747.             yyval.spec->flags |= IS_DASHED;
  6748. --- 4252,4258 ----
  6749.           }
  6750.   break;
  6751.   case 106:
  6752. ! #line 856 "pic.y"
  6753.   {
  6754.             yyval.spec = yyvsp[-2].spec;
  6755.             yyval.spec->flags |= IS_DASHED;
  6756. ***************
  6757. *** 4260,4273 ****
  6758.           }
  6759.   break;
  6760.   case 107:
  6761. ! #line 862 "/u/jjc/groff/pic/pic.y"
  6762.   {
  6763.             yyval.spec = yyvsp[-1].spec;
  6764.             yyval.spec->flags |= IS_DEFAULT_FILLED;
  6765.           }
  6766.   break;
  6767.   case 108:
  6768. ! #line 867 "/u/jjc/groff/pic/pic.y"
  6769.   {
  6770.             yyval.spec = yyvsp[-2].spec;
  6771.             yyval.spec->flags |= IS_FILLED;
  6772. --- 4260,4273 ----
  6773.           }
  6774.   break;
  6775.   case 107:
  6776. ! #line 862 "pic.y"
  6777.   {
  6778.             yyval.spec = yyvsp[-1].spec;
  6779.             yyval.spec->flags |= IS_DEFAULT_FILLED;
  6780.           }
  6781.   break;
  6782.   case 108:
  6783. ! #line 867 "pic.y"
  6784.   {
  6785.             yyval.spec = yyvsp[-2].spec;
  6786.             yyval.spec->flags |= IS_FILLED;
  6787. ***************
  6788. *** 4275,4281 ****
  6789.           }
  6790.   break;
  6791.   case 109:
  6792. ! #line 873 "/u/jjc/groff/pic/pic.y"
  6793.   {
  6794.             yyval.spec = yyvsp[-1].spec;
  6795.             /* line chop chop means line chop 0 chop 0*/
  6796. --- 4275,4281 ----
  6797.           }
  6798.   break;
  6799.   case 109:
  6800. ! #line 873 "pic.y"
  6801.   {
  6802.             yyval.spec = yyvsp[-1].spec;
  6803.             /* line chop chop means line chop 0 chop 0*/
  6804. ***************
  6805. *** 4293,4299 ****
  6806.           }
  6807.   break;
  6808.   case 110:
  6809. ! #line 889 "/u/jjc/groff/pic/pic.y"
  6810.   {
  6811.             yyval.spec = yyvsp[-2].spec;
  6812.             if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
  6813. --- 4293,4299 ----
  6814.           }
  6815.   break;
  6816.   case 110:
  6817. ! #line 889 "pic.y"
  6818.   {
  6819.             yyval.spec = yyvsp[-2].spec;
  6820.             if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
  6821. ***************
  6822. *** 4312,4367 ****
  6823.           }
  6824.   break;
  6825.   case 111:
  6826. ! #line 906 "/u/jjc/groff/pic/pic.y"
  6827.   {
  6828.             yyval.spec = yyvsp[-1].spec;
  6829.             yyval.spec->flags |= IS_SAME;
  6830.           }
  6831.   break;
  6832.   case 112:
  6833. ! #line 911 "/u/jjc/groff/pic/pic.y"
  6834.   {
  6835.             yyval.spec = yyvsp[-1].spec;
  6836.             yyval.spec->flags |= IS_INVISIBLE;
  6837.           }
  6838.   break;
  6839.   case 113:
  6840. ! #line 916 "/u/jjc/groff/pic/pic.y"
  6841.   {
  6842.             yyval.spec = yyvsp[-1].spec;
  6843.             yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
  6844.           }
  6845.   break;
  6846.   case 114:
  6847. ! #line 921 "/u/jjc/groff/pic/pic.y"
  6848.   {
  6849.             yyval.spec = yyvsp[-1].spec;
  6850.             yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
  6851.           }
  6852.   break;
  6853.   case 115:
  6854. ! #line 926 "/u/jjc/groff/pic/pic.y"
  6855.   {
  6856.             yyval.spec = yyvsp[-1].spec;
  6857.             yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
  6858.           }
  6859.   break;
  6860.   case 116:
  6861. ! #line 931 "/u/jjc/groff/pic/pic.y"
  6862.   {
  6863.             yyval.spec = yyvsp[-1].spec;
  6864.             yyval.spec->flags |= IS_CLOCKWISE;
  6865.           }
  6866.   break;
  6867.   case 117:
  6868. ! #line 936 "/u/jjc/groff/pic/pic.y"
  6869.   {
  6870.             yyval.spec = yyvsp[-1].spec;
  6871.             yyval.spec->flags &= ~IS_CLOCKWISE;
  6872.           }
  6873.   break;
  6874.   case 118:
  6875. ! #line 941 "/u/jjc/groff/pic/pic.y"
  6876.   {
  6877.             yyval.spec = yyvsp[-1].spec;
  6878.             for (text_item **p = & yyval.spec->text; *p; p = &(*p)->next)
  6879. --- 4312,4367 ----
  6880.           }
  6881.   break;
  6882.   case 111:
  6883. ! #line 906 "pic.y"
  6884.   {
  6885.             yyval.spec = yyvsp[-1].spec;
  6886.             yyval.spec->flags |= IS_SAME;
  6887.           }
  6888.   break;
  6889.   case 112:
  6890. ! #line 911 "pic.y"
  6891.   {
  6892.             yyval.spec = yyvsp[-1].spec;
  6893.             yyval.spec->flags |= IS_INVISIBLE;
  6894.           }
  6895.   break;
  6896.   case 113:
  6897. ! #line 916 "pic.y"
  6898.   {
  6899.             yyval.spec = yyvsp[-1].spec;
  6900.             yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
  6901.           }
  6902.   break;
  6903.   case 114:
  6904. ! #line 921 "pic.y"
  6905.   {
  6906.             yyval.spec = yyvsp[-1].spec;
  6907.             yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
  6908.           }
  6909.   break;
  6910.   case 115:
  6911. ! #line 926 "pic.y"
  6912.   {
  6913.             yyval.spec = yyvsp[-1].spec;
  6914.             yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
  6915.           }
  6916.   break;
  6917.   case 116:
  6918. ! #line 931 "pic.y"
  6919.   {
  6920.             yyval.spec = yyvsp[-1].spec;
  6921.             yyval.spec->flags |= IS_CLOCKWISE;
  6922.           }
  6923.   break;
  6924.   case 117:
  6925. ! #line 936 "pic.y"
  6926.   {
  6927.             yyval.spec = yyvsp[-1].spec;
  6928.             yyval.spec->flags &= ~IS_CLOCKWISE;
  6929.           }
  6930.   break;
  6931.   case 118:
  6932. ! #line 941 "pic.y"
  6933.   {
  6934.             yyval.spec = yyvsp[-1].spec;
  6935.             for (text_item **p = & yyval.spec->text; *p; p = &(*p)->next)
  6936. ***************
  6937. *** 4370,4376 ****
  6938.           }
  6939.   break;
  6940.   case 119:
  6941. ! #line 948 "/u/jjc/groff/pic/pic.y"
  6942.   {
  6943.             yyval.spec = yyvsp[-1].spec;
  6944.             if (yyval.spec->text) {
  6945. --- 4370,4376 ----
  6946.           }
  6947.   break;
  6948.   case 119:
  6949. ! #line 948 "pic.y"
  6950.   {
  6951.             yyval.spec = yyvsp[-1].spec;
  6952.             if (yyval.spec->text) {
  6953. ***************
  6954. *** 4381,4387 ****
  6955.           }
  6956.   break;
  6957.   case 120:
  6958. ! #line 957 "/u/jjc/groff/pic/pic.y"
  6959.   {
  6960.             yyval.spec = yyvsp[-1].spec;
  6961.             if (yyval.spec->text) {
  6962. --- 4381,4387 ----
  6963.           }
  6964.   break;
  6965.   case 120:
  6966. ! #line 957 "pic.y"
  6967.   {
  6968.             yyval.spec = yyvsp[-1].spec;
  6969.             if (yyval.spec->text) {
  6970. ***************
  6971. *** 4392,4398 ****
  6972.           }
  6973.   break;
  6974.   case 121:
  6975. ! #line 966 "/u/jjc/groff/pic/pic.y"
  6976.   {
  6977.             yyval.spec = yyvsp[-1].spec;
  6978.             if (yyval.spec->text) {
  6979. --- 4392,4398 ----
  6980.           }
  6981.   break;
  6982.   case 121:
  6983. ! #line 966 "pic.y"
  6984.   {
  6985.             yyval.spec = yyvsp[-1].spec;
  6986.             if (yyval.spec->text) {
  6987. ***************
  6988. *** 4403,4409 ****
  6989.           }
  6990.   break;
  6991.   case 122:
  6992. ! #line 975 "/u/jjc/groff/pic/pic.y"
  6993.   {
  6994.             yyval.spec = yyvsp[-1].spec;
  6995.             if (yyval.spec->text) {
  6996. --- 4403,4409 ----
  6997.           }
  6998.   break;
  6999.   case 122:
  7000. ! #line 975 "pic.y"
  7001.   {
  7002.             yyval.spec = yyvsp[-1].spec;
  7003.             if (yyval.spec->text) {
  7004. ***************
  7005. *** 4414,4420 ****
  7006.           }
  7007.   break;
  7008.   case 123:
  7009. ! #line 984 "/u/jjc/groff/pic/pic.y"
  7010.   {
  7011.             yyval.spec = yyvsp[-2].spec;
  7012.             yyval.spec->flags |= HAS_THICKNESS;
  7013. --- 4414,4420 ----
  7014.           }
  7015.   break;
  7016.   case 123:
  7017. ! #line 984 "pic.y"
  7018.   {
  7019.             yyval.spec = yyvsp[-2].spec;
  7020.             yyval.spec->flags |= HAS_THICKNESS;
  7021. ***************
  7022. *** 4422,4441 ****
  7023.           }
  7024.   break;
  7025.   case 124:
  7026. ! #line 990 "/u/jjc/groff/pic/pic.y"
  7027.   {
  7028.             yyval.spec = yyvsp[-1].spec;
  7029.             yyval.spec->flags |= IS_ALIGNED;
  7030.           }
  7031.   break;
  7032.   case 125:
  7033. ! #line 998 "/u/jjc/groff/pic/pic.y"
  7034.   {
  7035.             yyval.lstr = yyvsp[0].lstr;
  7036.           }
  7037.   break;
  7038.   case 126:
  7039. ! #line 1002 "/u/jjc/groff/pic/pic.y"
  7040.   {
  7041.             yyval.lstr.filename = yyvsp[-2].lstr.filename;
  7042.             yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
  7043. --- 4422,4441 ----
  7044.           }
  7045.   break;
  7046.   case 124:
  7047. ! #line 990 "pic.y"
  7048.   {
  7049.             yyval.spec = yyvsp[-1].spec;
  7050.             yyval.spec->flags |= IS_ALIGNED;
  7051.           }
  7052.   break;
  7053.   case 125:
  7054. ! #line 998 "pic.y"
  7055.   {
  7056.             yyval.lstr = yyvsp[0].lstr;
  7057.           }
  7058.   break;
  7059.   case 126:
  7060. ! #line 1002 "pic.y"
  7061.   {
  7062.             yyval.lstr.filename = yyvsp[-2].lstr.filename;
  7063.             yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
  7064. ***************
  7065. *** 4445,4451 ****
  7066.           }
  7067.   break;
  7068.   case 127:
  7069. ! #line 1013 "/u/jjc/groff/pic/pic.y"
  7070.   {
  7071.             yyval.dv.v = 0;
  7072.             yyval.dv.nv = 0;
  7073. --- 4445,4451 ----
  7074.           }
  7075.   break;
  7076.   case 127:
  7077. ! #line 1013 "pic.y"
  7078.   {
  7079.             yyval.dv.v = 0;
  7080.             yyval.dv.nv = 0;
  7081. ***************
  7082. *** 4453,4459 ****
  7083.           }
  7084.   break;
  7085.   case 128:
  7086. ! #line 1019 "/u/jjc/groff/pic/pic.y"
  7087.   {
  7088.             yyval.dv = yyvsp[-2].dv;
  7089.             if (yyval.dv.nv >= yyval.dv.maxv) {
  7090. --- 4453,4459 ----
  7091.           }
  7092.   break;
  7093.   case 128:
  7094. ! #line 1019 "pic.y"
  7095.   {
  7096.             yyval.dv = yyvsp[-2].dv;
  7097.             if (yyval.dv.nv >= yyval.dv.maxv) {
  7098. ***************
  7099. *** 4474,4484 ****
  7100.           }
  7101.   break;
  7102.   case 129:
  7103. ! #line 1041 "/u/jjc/groff/pic/pic.y"
  7104.   { yyval.pair = yyvsp[0].pair; }
  7105.   break;
  7106.   case 130:
  7107. ! #line 1043 "/u/jjc/groff/pic/pic.y"
  7108.   {
  7109.             position pos = yyvsp[0].pl;
  7110.             yyval.pair.x = pos.x;
  7111. --- 4474,4484 ----
  7112.           }
  7113.   break;
  7114.   case 129:
  7115. ! #line 1041 "pic.y"
  7116.   { yyval.pair = yyvsp[0].pair; }
  7117.   break;
  7118.   case 130:
  7119. ! #line 1043 "pic.y"
  7120.   {
  7121.             position pos = yyvsp[0].pl;
  7122.             yyval.pair.x = pos.x;
  7123. ***************
  7124. *** 4486,4543 ****
  7125.           }
  7126.   break;
  7127.   case 131:
  7128. ! #line 1052 "/u/jjc/groff/pic/pic.y"
  7129.   { yyval.pair = yyvsp[0].pair; }
  7130.   break;
  7131.   case 132:
  7132. ! #line 1054 "/u/jjc/groff/pic/pic.y"
  7133.   {
  7134.             yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
  7135.             yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
  7136.           }
  7137.   break;
  7138.   case 133:
  7139. ! #line 1059 "/u/jjc/groff/pic/pic.y"
  7140.   {
  7141.             yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
  7142.             yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
  7143.           }
  7144.   break;
  7145.   case 134:
  7146. ! #line 1064 "/u/jjc/groff/pic/pic.y"
  7147.   {
  7148.             yyval.pair.x = yyvsp[-3].pair.x;
  7149.             yyval.pair.y = yyvsp[-1].pair.y;
  7150.           }
  7151.   break;
  7152.   case 135:
  7153. ! #line 1069 "/u/jjc/groff/pic/pic.y"
  7154.   {
  7155.             yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
  7156.             yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
  7157.           }
  7158.   break;
  7159.   case 136:
  7160. ! #line 1074 "/u/jjc/groff/pic/pic.y"
  7161.   {
  7162.             yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
  7163.             yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
  7164.           }
  7165.   break;
  7166.   case 139:
  7167. ! #line 1087 "/u/jjc/groff/pic/pic.y"
  7168.   { yyval.pair.x = yyvsp[-2].x; yyval.pair.y = yyvsp[0].x; }
  7169.   break;
  7170.   case 140:
  7171. ! #line 1089 "/u/jjc/groff/pic/pic.y"
  7172.   { yyval.pair = yyvsp[-1].pair; }
  7173.   break;
  7174.   case 141:
  7175. ! #line 1094 "/u/jjc/groff/pic/pic.y"
  7176.   { yyval.pl = yyvsp[0].pl; }
  7177.   break;
  7178.   case 142:
  7179. ! #line 1096 "/u/jjc/groff/pic/pic.y"
  7180.   {
  7181.             path pth(yyvsp[0].crn);
  7182.             if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
  7183. --- 4486,4543 ----
  7184.           }
  7185.   break;
  7186.   case 131:
  7187. ! #line 1052 "pic.y"
  7188.   { yyval.pair = yyvsp[0].pair; }
  7189.   break;
  7190.   case 132:
  7191. ! #line 1054 "pic.y"
  7192.   {
  7193.             yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
  7194.             yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
  7195.           }
  7196.   break;
  7197.   case 133:
  7198. ! #line 1059 "pic.y"
  7199.   {
  7200.             yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
  7201.             yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
  7202.           }
  7203.   break;
  7204.   case 134:
  7205. ! #line 1064 "pic.y"
  7206.   {
  7207.             yyval.pair.x = yyvsp[-3].pair.x;
  7208.             yyval.pair.y = yyvsp[-1].pair.y;
  7209.           }
  7210.   break;
  7211.   case 135:
  7212. ! #line 1069 "pic.y"
  7213.   {
  7214.             yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
  7215.             yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
  7216.           }
  7217.   break;
  7218.   case 136:
  7219. ! #line 1074 "pic.y"
  7220.   {
  7221.             yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
  7222.             yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
  7223.           }
  7224.   break;
  7225.   case 139:
  7226. ! #line 1087 "pic.y"
  7227.   { yyval.pair.x = yyvsp[-2].x; yyval.pair.y = yyvsp[0].x; }
  7228.   break;
  7229.   case 140:
  7230. ! #line 1089 "pic.y"
  7231.   { yyval.pair = yyvsp[-1].pair; }
  7232.   break;
  7233.   case 141:
  7234. ! #line 1094 "pic.y"
  7235.   { yyval.pl = yyvsp[0].pl; }
  7236.   break;
  7237.   case 142:
  7238. ! #line 1096 "pic.y"
  7239.   {
  7240.             path pth(yyvsp[0].crn);
  7241.             if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
  7242. ***************
  7243. *** 4545,4551 ****
  7244.           }
  7245.   break;
  7246.   case 143:
  7247. ! #line 1102 "/u/jjc/groff/pic/pic.y"
  7248.   {
  7249.             path pth(yyvsp[-1].crn);
  7250.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7251. --- 4545,4551 ----
  7252.           }
  7253.   break;
  7254.   case 143:
  7255. ! #line 1102 "pic.y"
  7256.   {
  7257.             path pth(yyvsp[-1].crn);
  7258.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7259. ***************
  7260. *** 4553,4559 ****
  7261.           }
  7262.   break;
  7263.   case 144:
  7264. ! #line 1108 "/u/jjc/groff/pic/pic.y"
  7265.   {
  7266.             path pth(yyvsp[-2].crn);
  7267.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7268. --- 4553,4559 ----
  7269.           }
  7270.   break;
  7271.   case 144:
  7272. ! #line 1108 "pic.y"
  7273.   {
  7274.             path pth(yyvsp[-2].crn);
  7275.             if (!pth.follow(yyvsp[0].pl, & yyval.pl))
  7276. ***************
  7277. *** 4561,4567 ****
  7278.           }
  7279.   break;
  7280.   case 145:
  7281. ! #line 1114 "/u/jjc/groff/pic/pic.y"
  7282.   {
  7283.             yyval.pl.x = current_position.x;
  7284.             yyval.pl.y = current_position.y;
  7285. --- 4561,4567 ----
  7286.           }
  7287.   break;
  7288.   case 145:
  7289. ! #line 1114 "pic.y"
  7290.   {
  7291.             yyval.pl.x = current_position.x;
  7292.             yyval.pl.y = current_position.y;
  7293. ***************
  7294. *** 4569,4575 ****
  7295.           }
  7296.   break;
  7297.   case 146:
  7298. ! #line 1123 "/u/jjc/groff/pic/pic.y"
  7299.   {
  7300.             place *p = lookup_label(yyvsp[0].str);
  7301.             if (!p) {
  7302. --- 4569,4575 ----
  7303.           }
  7304.   break;
  7305.   case 146:
  7306. ! #line 1123 "pic.y"
  7307.   {
  7308.             place *p = lookup_label(yyvsp[0].str);
  7309.             if (!p) {
  7310. ***************
  7311. *** 4581,4593 ****
  7312.           }
  7313.   break;
  7314.   case 147:
  7315. ! #line 1133 "/u/jjc/groff/pic/pic.y"
  7316.   {
  7317.             yyval.pl.obj = yyvsp[0].obj;
  7318.           }
  7319.   break;
  7320.   case 148:
  7321. ! #line 1137 "/u/jjc/groff/pic/pic.y"
  7322.   {
  7323.             path pth(yyvsp[0].str);
  7324.             if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
  7325. --- 4581,4593 ----
  7326.           }
  7327.   break;
  7328.   case 147:
  7329. ! #line 1133 "pic.y"
  7330.   {
  7331.             yyval.pl.obj = yyvsp[0].obj;
  7332.           }
  7333.   break;
  7334.   case 148:
  7335. ! #line 1137 "pic.y"
  7336.   {
  7337.             path pth(yyvsp[0].str);
  7338.             if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
  7339. ***************
  7340. *** 4595,4620 ****
  7341.           }
  7342.   break;
  7343.   case 149:
  7344. ! #line 1146 "/u/jjc/groff/pic/pic.y"
  7345.   { yyval.n = yyvsp[0].n; }
  7346.   break;
  7347.   case 150:
  7348. ! #line 1148 "/u/jjc/groff/pic/pic.y"
  7349.   {
  7350.             /* XXX Check for overflow (and non-integers?).*/
  7351.             yyval.n = (int)yyvsp[-1].x;
  7352.           }
  7353.   break;
  7354.   case 151:
  7355. ! #line 1156 "/u/jjc/groff/pic/pic.y"
  7356.   { yyval.n = 1; }
  7357.   break;
  7358.   case 152:
  7359. ! #line 1158 "/u/jjc/groff/pic/pic.y"
  7360.   { yyval.n = yyvsp[-1].n; }
  7361.   break;
  7362.   case 153:
  7363. ! #line 1163 "/u/jjc/groff/pic/pic.y"
  7364.   {
  7365.             int count = 0;
  7366.             for (object *p = olist.head; p != 0; p = p->next)
  7367. --- 4595,4620 ----
  7368.           }
  7369.   break;
  7370.   case 149:
  7371. ! #line 1146 "pic.y"
  7372.   { yyval.n = yyvsp[0].n; }
  7373.   break;
  7374.   case 150:
  7375. ! #line 1148 "pic.y"
  7376.   {
  7377.             /* XXX Check for overflow (and non-integers?).*/
  7378.             yyval.n = (int)yyvsp[-1].x;
  7379.           }
  7380.   break;
  7381.   case 151:
  7382. ! #line 1156 "pic.y"
  7383.   { yyval.n = 1; }
  7384.   break;
  7385.   case 152:
  7386. ! #line 1158 "pic.y"
  7387.   { yyval.n = yyvsp[-1].n; }
  7388.   break;
  7389.   case 153:
  7390. ! #line 1163 "pic.y"
  7391.   {
  7392.             int count = 0;
  7393.             for (object *p = olist.head; p != 0; p = p->next)
  7394. ***************
  7395. *** 4630,4636 ****
  7396.           }
  7397.   break;
  7398.   case 154:
  7399. ! #line 1177 "/u/jjc/groff/pic/pic.y"
  7400.   {
  7401.             int count = 0;
  7402.             for (object *p = olist.tail; p != 0; p = p->prev)
  7403. --- 4630,4636 ----
  7404.           }
  7405.   break;
  7406.   case 154:
  7407. ! #line 1177 "pic.y"
  7408.   {
  7409.             int count = 0;
  7410.             for (object *p = olist.tail; p != 0; p = p->prev)
  7411. ***************
  7412. *** 4646,4726 ****
  7413.           }
  7414.   break;
  7415.   case 155:
  7416. ! #line 1194 "/u/jjc/groff/pic/pic.y"
  7417.   { yyval.obtype = BOX_OBJECT; }
  7418.   break;
  7419.   case 156:
  7420. ! #line 1196 "/u/jjc/groff/pic/pic.y"
  7421.   { yyval.obtype = CIRCLE_OBJECT; }
  7422.   break;
  7423.   case 157:
  7424. ! #line 1198 "/u/jjc/groff/pic/pic.y"
  7425.   { yyval.obtype = ELLIPSE_OBJECT; }
  7426.   break;
  7427.   case 158:
  7428. ! #line 1200 "/u/jjc/groff/pic/pic.y"
  7429.   { yyval.obtype = ARC_OBJECT; }
  7430.   break;
  7431.   case 159:
  7432. ! #line 1202 "/u/jjc/groff/pic/pic.y"
  7433.   { yyval.obtype = LINE_OBJECT; }
  7434.   break;
  7435.   case 160:
  7436. ! #line 1204 "/u/jjc/groff/pic/pic.y"
  7437.   { yyval.obtype = ARROW_OBJECT; }
  7438.   break;
  7439.   case 161:
  7440. ! #line 1206 "/u/jjc/groff/pic/pic.y"
  7441.   { yyval.obtype = SPLINE_OBJECT; }
  7442.   break;
  7443.   case 162:
  7444. ! #line 1208 "/u/jjc/groff/pic/pic.y"
  7445.   { yyval.obtype = BLOCK_OBJECT; }
  7446.   break;
  7447.   case 163:
  7448. ! #line 1210 "/u/jjc/groff/pic/pic.y"
  7449.   { yyval.obtype = TEXT_OBJECT; }
  7450.   break;
  7451.   case 164:
  7452. ! #line 1215 "/u/jjc/groff/pic/pic.y"
  7453.   {
  7454.             yyval.pth = new path(yyvsp[0].str);
  7455.           }
  7456.   break;
  7457.   case 165:
  7458. ! #line 1219 "/u/jjc/groff/pic/pic.y"
  7459.   {
  7460.             yyval.pth = yyvsp[-2].pth;
  7461.             yyval.pth->append(yyvsp[0].str);
  7462.           }
  7463.   break;
  7464.   case 166:
  7465. ! #line 1227 "/u/jjc/groff/pic/pic.y"
  7466.   {
  7467.             yyval.pth = new path(yyvsp[0].crn);
  7468.           }
  7469.   break;
  7470.   case 167:
  7471. ! #line 1234 "/u/jjc/groff/pic/pic.y"
  7472.   {
  7473.             yyval.pth = yyvsp[0].pth;
  7474.           }
  7475.   break;
  7476.   case 168:
  7477. ! #line 1238 "/u/jjc/groff/pic/pic.y"
  7478.   {
  7479.             yyval.pth = yyvsp[-1].pth;
  7480.             yyval.pth->append(yyvsp[0].crn);
  7481.           }
  7482.   break;
  7483.   case 169:
  7484. ! #line 1246 "/u/jjc/groff/pic/pic.y"
  7485.   {
  7486.             yyval.pth = yyvsp[0].pth;
  7487.           }
  7488.   break;
  7489.   case 170:
  7490. ! #line 1251 "/u/jjc/groff/pic/pic.y"
  7491.   {
  7492.             lex_warning("`%1%2 last %3' in `with' argument ignored",
  7493.                     yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
  7494. --- 4646,4726 ----
  7495.           }
  7496.   break;
  7497.   case 155:
  7498. ! #line 1194 "pic.y"
  7499.   { yyval.obtype = BOX_OBJECT; }
  7500.   break;
  7501.   case 156:
  7502. ! #line 1196 "pic.y"
  7503.   { yyval.obtype = CIRCLE_OBJECT; }
  7504.   break;
  7505.   case 157:
  7506. ! #line 1198 "pic.y"
  7507.   { yyval.obtype = ELLIPSE_OBJECT; }
  7508.   break;
  7509.   case 158:
  7510. ! #line 1200 "pic.y"
  7511.   { yyval.obtype = ARC_OBJECT; }
  7512.   break;
  7513.   case 159:
  7514. ! #line 1202 "pic.y"
  7515.   { yyval.obtype = LINE_OBJECT; }
  7516.   break;
  7517.   case 160:
  7518. ! #line 1204 "pic.y"
  7519.   { yyval.obtype = ARROW_OBJECT; }
  7520.   break;
  7521.   case 161:
  7522. ! #line 1206 "pic.y"
  7523.   { yyval.obtype = SPLINE_OBJECT; }
  7524.   break;
  7525.   case 162:
  7526. ! #line 1208 "pic.y"
  7527.   { yyval.obtype = BLOCK_OBJECT; }
  7528.   break;
  7529.   case 163:
  7530. ! #line 1210 "pic.y"
  7531.   { yyval.obtype = TEXT_OBJECT; }
  7532.   break;
  7533.   case 164:
  7534. ! #line 1215 "pic.y"
  7535.   {
  7536.             yyval.pth = new path(yyvsp[0].str);
  7537.           }
  7538.   break;
  7539.   case 165:
  7540. ! #line 1219 "pic.y"
  7541.   {
  7542.             yyval.pth = yyvsp[-2].pth;
  7543.             yyval.pth->append(yyvsp[0].str);
  7544.           }
  7545.   break;
  7546.   case 166:
  7547. ! #line 1227 "pic.y"
  7548.   {
  7549.             yyval.pth = new path(yyvsp[0].crn);
  7550.           }
  7551.   break;
  7552.   case 167:
  7553. ! #line 1234 "pic.y"
  7554.   {
  7555.             yyval.pth = yyvsp[0].pth;
  7556.           }
  7557.   break;
  7558.   case 168:
  7559. ! #line 1238 "pic.y"
  7560.   {
  7561.             yyval.pth = yyvsp[-1].pth;
  7562.             yyval.pth->append(yyvsp[0].crn);
  7563.           }
  7564.   break;
  7565.   case 169:
  7566. ! #line 1246 "pic.y"
  7567.   {
  7568.             yyval.pth = yyvsp[0].pth;
  7569.           }
  7570.   break;
  7571.   case 170:
  7572. ! #line 1251 "pic.y"
  7573.   {
  7574.             lex_warning("`%1%2 last %3' in `with' argument ignored",
  7575.                     yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
  7576. ***************
  7577. *** 4728,4734 ****
  7578.           }
  7579.   break;
  7580.   case 171:
  7581. ! #line 1257 "/u/jjc/groff/pic/pic.y"
  7582.   {
  7583.             lex_warning("`last %1' in `with' argument ignored",
  7584.                     object_type_name(yyvsp[-1].obtype));
  7585. --- 4728,4734 ----
  7586.           }
  7587.   break;
  7588.   case 171:
  7589. ! #line 1257 "pic.y"
  7590.   {
  7591.             lex_warning("`last %1' in `with' argument ignored",
  7592.                     object_type_name(yyvsp[-1].obtype));
  7593. ***************
  7594. *** 4736,4742 ****
  7595.           }
  7596.   break;
  7597.   case 172:
  7598. ! #line 1263 "/u/jjc/groff/pic/pic.y"
  7599.   {
  7600.             lex_warning("`%1%2 %3' in `with' argument ignored",
  7601.                     yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
  7602. --- 4736,4742 ----
  7603.           }
  7604.   break;
  7605.   case 172:
  7606. ! #line 1263 "pic.y"
  7607.   {
  7608.             lex_warning("`%1%2 %3' in `with' argument ignored",
  7609.                     yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
  7610. ***************
  7611. *** 4744,4750 ****
  7612.           }
  7613.   break;
  7614.   case 173:
  7615. ! #line 1269 "/u/jjc/groff/pic/pic.y"
  7616.   {
  7617.             lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
  7618.             a_delete yyvsp[-1].str;
  7619. --- 4744,4750 ----
  7620.           }
  7621.   break;
  7622.   case 173:
  7623. ! #line 1269 "pic.y"
  7624.   {
  7625.             lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
  7626.             a_delete yyvsp[-1].str;
  7627. ***************
  7628. *** 4752,4870 ****
  7629.           }
  7630.   break;
  7631.   case 174:
  7632. ! #line 1278 "/u/jjc/groff/pic/pic.y"
  7633.   { yyval.crn = &object::north; }
  7634.   break;
  7635.   case 175:
  7636. ! #line 1280 "/u/jjc/groff/pic/pic.y"
  7637.   { yyval.crn = &object::east; }
  7638.   break;
  7639.   case 176:
  7640. ! #line 1282 "/u/jjc/groff/pic/pic.y"
  7641.   { yyval.crn = &object::west; }
  7642.   break;
  7643.   case 177:
  7644. ! #line 1284 "/u/jjc/groff/pic/pic.y"
  7645.   { yyval.crn = &object::south; }
  7646.   break;
  7647.   case 178:
  7648. ! #line 1286 "/u/jjc/groff/pic/pic.y"
  7649.   { yyval.crn = &object::north_east; }
  7650.   break;
  7651.   case 179:
  7652. ! #line 1288 "/u/jjc/groff/pic/pic.y"
  7653.   { yyval.crn = &object:: south_east; }
  7654.   break;
  7655.   case 180:
  7656. ! #line 1290 "/u/jjc/groff/pic/pic.y"
  7657.   { yyval.crn = &object::north_west; }
  7658.   break;
  7659.   case 181:
  7660. ! #line 1292 "/u/jjc/groff/pic/pic.y"
  7661.   { yyval.crn = &object::south_west; }
  7662.   break;
  7663.   case 182:
  7664. ! #line 1294 "/u/jjc/groff/pic/pic.y"
  7665.   { yyval.crn = &object::center; }
  7666.   break;
  7667.   case 183:
  7668. ! #line 1296 "/u/jjc/groff/pic/pic.y"
  7669.   { yyval.crn = &object::start; }
  7670.   break;
  7671.   case 184:
  7672. ! #line 1298 "/u/jjc/groff/pic/pic.y"
  7673.   { yyval.crn = &object::end; }
  7674.   break;
  7675.   case 185:
  7676. ! #line 1300 "/u/jjc/groff/pic/pic.y"
  7677.   { yyval.crn = &object::north; }
  7678.   break;
  7679.   case 186:
  7680. ! #line 1302 "/u/jjc/groff/pic/pic.y"
  7681.   { yyval.crn = &object::south; }
  7682.   break;
  7683.   case 187:
  7684. ! #line 1304 "/u/jjc/groff/pic/pic.y"
  7685.   { yyval.crn = &object::west; }
  7686.   break;
  7687.   case 188:
  7688. ! #line 1306 "/u/jjc/groff/pic/pic.y"
  7689.   { yyval.crn = &object::east; }
  7690.   break;
  7691.   case 189:
  7692. ! #line 1308 "/u/jjc/groff/pic/pic.y"
  7693.   { yyval.crn = &object::north_west; }
  7694.   break;
  7695.   case 190:
  7696. ! #line 1310 "/u/jjc/groff/pic/pic.y"
  7697.   { yyval.crn = &object::south_west; }
  7698.   break;
  7699.   case 191:
  7700. ! #line 1312 "/u/jjc/groff/pic/pic.y"
  7701.   { yyval.crn = &object::north_east; }
  7702.   break;
  7703.   case 192:
  7704. ! #line 1314 "/u/jjc/groff/pic/pic.y"
  7705.   { yyval.crn = &object::south_east; }
  7706.   break;
  7707.   case 193:
  7708. ! #line 1316 "/u/jjc/groff/pic/pic.y"
  7709.   { yyval.crn = &object::west; }
  7710.   break;
  7711.   case 194:
  7712. ! #line 1318 "/u/jjc/groff/pic/pic.y"
  7713.   { yyval.crn = &object::east; }
  7714.   break;
  7715.   case 195:
  7716. ! #line 1320 "/u/jjc/groff/pic/pic.y"
  7717.   { yyval.crn = &object::north_west; }
  7718.   break;
  7719.   case 196:
  7720. ! #line 1322 "/u/jjc/groff/pic/pic.y"
  7721.   { yyval.crn = &object::south_west; }
  7722.   break;
  7723.   case 197:
  7724. ! #line 1324 "/u/jjc/groff/pic/pic.y"
  7725.   { yyval.crn = &object::north_east; }
  7726.   break;
  7727.   case 198:
  7728. ! #line 1326 "/u/jjc/groff/pic/pic.y"
  7729.   { yyval.crn = &object::south_east; }
  7730.   break;
  7731.   case 199:
  7732. ! #line 1328 "/u/jjc/groff/pic/pic.y"
  7733.   { yyval.crn = &object::center; }
  7734.   break;
  7735.   case 200:
  7736. ! #line 1330 "/u/jjc/groff/pic/pic.y"
  7737.   { yyval.crn = &object::start; }
  7738.   break;
  7739.   case 201:
  7740. ! #line 1332 "/u/jjc/groff/pic/pic.y"
  7741.   { yyval.crn = &object::end; }
  7742.   break;
  7743.   case 202:
  7744. ! #line 1337 "/u/jjc/groff/pic/pic.y"
  7745.   {
  7746.             if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
  7747.               lex_error("there is no variable `%1'", yyvsp[0].str);
  7748. --- 4752,4870 ----
  7749.           }
  7750.   break;
  7751.   case 174:
  7752. ! #line 1278 "pic.y"
  7753.   { yyval.crn = &object::north; }
  7754.   break;
  7755.   case 175:
  7756. ! #line 1280 "pic.y"
  7757.   { yyval.crn = &object::east; }
  7758.   break;
  7759.   case 176:
  7760. ! #line 1282 "pic.y"
  7761.   { yyval.crn = &object::west; }
  7762.   break;
  7763.   case 177:
  7764. ! #line 1284 "pic.y"
  7765.   { yyval.crn = &object::south; }
  7766.   break;
  7767.   case 178:
  7768. ! #line 1286 "pic.y"
  7769.   { yyval.crn = &object::north_east; }
  7770.   break;
  7771.   case 179:
  7772. ! #line 1288 "pic.y"
  7773.   { yyval.crn = &object:: south_east; }
  7774.   break;
  7775.   case 180:
  7776. ! #line 1290 "pic.y"
  7777.   { yyval.crn = &object::north_west; }
  7778.   break;
  7779.   case 181:
  7780. ! #line 1292 "pic.y"
  7781.   { yyval.crn = &object::south_west; }
  7782.   break;
  7783.   case 182:
  7784. ! #line 1294 "pic.y"
  7785.   { yyval.crn = &object::center; }
  7786.   break;
  7787.   case 183:
  7788. ! #line 1296 "pic.y"
  7789.   { yyval.crn = &object::start; }
  7790.   break;
  7791.   case 184:
  7792. ! #line 1298 "pic.y"
  7793.   { yyval.crn = &object::end; }
  7794.   break;
  7795.   case 185:
  7796. ! #line 1300 "pic.y"
  7797.   { yyval.crn = &object::north; }
  7798.   break;
  7799.   case 186:
  7800. ! #line 1302 "pic.y"
  7801.   { yyval.crn = &object::south; }
  7802.   break;
  7803.   case 187:
  7804. ! #line 1304 "pic.y"
  7805.   { yyval.crn = &object::west; }
  7806.   break;
  7807.   case 188:
  7808. ! #line 1306 "pic.y"
  7809.   { yyval.crn = &object::east; }
  7810.   break;
  7811.   case 189:
  7812. ! #line 1308 "pic.y"
  7813.   { yyval.crn = &object::north_west; }
  7814.   break;
  7815.   case 190:
  7816. ! #line 1310 "pic.y"
  7817.   { yyval.crn = &object::south_west; }
  7818.   break;
  7819.   case 191:
  7820. ! #line 1312 "pic.y"
  7821.   { yyval.crn = &object::north_east; }
  7822.   break;
  7823.   case 192:
  7824. ! #line 1314 "pic.y"
  7825.   { yyval.crn = &object::south_east; }
  7826.   break;
  7827.   case 193:
  7828. ! #line 1316 "pic.y"
  7829.   { yyval.crn = &object::west; }
  7830.   break;
  7831.   case 194:
  7832. ! #line 1318 "pic.y"
  7833.   { yyval.crn = &object::east; }
  7834.   break;
  7835.   case 195:
  7836. ! #line 1320 "pic.y"
  7837.   { yyval.crn = &object::north_west; }
  7838.   break;
  7839.   case 196:
  7840. ! #line 1322 "pic.y"
  7841.   { yyval.crn = &object::south_west; }
  7842.   break;
  7843.   case 197:
  7844. ! #line 1324 "pic.y"
  7845.   { yyval.crn = &object::north_east; }
  7846.   break;
  7847.   case 198:
  7848. ! #line 1326 "pic.y"
  7849.   { yyval.crn = &object::south_east; }
  7850.   break;
  7851.   case 199:
  7852. ! #line 1328 "pic.y"
  7853.   { yyval.crn = &object::center; }
  7854.   break;
  7855.   case 200:
  7856. ! #line 1330 "pic.y"
  7857.   { yyval.crn = &object::start; }
  7858.   break;
  7859.   case 201:
  7860. ! #line 1332 "pic.y"
  7861.   { yyval.crn = &object::end; }
  7862.   break;
  7863.   case 202:
  7864. ! #line 1337 "pic.y"
  7865.   {
  7866.             if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
  7867.               lex_error("there is no variable `%1'", yyvsp[0].str);
  7868. ***************
  7869. *** 4874,4884 ****
  7870.           }
  7871.   break;
  7872.   case 203:
  7873. ! #line 1345 "/u/jjc/groff/pic/pic.y"
  7874.   { yyval.x = yyvsp[0].x; }
  7875.   break;
  7876.   case 204:
  7877. ! #line 1347 "/u/jjc/groff/pic/pic.y"
  7878.   {
  7879.             if (yyvsp[-1].pl.obj != 0)
  7880.               yyval.x = yyvsp[-1].pl.obj->origin().x;
  7881. --- 4874,4884 ----
  7882.           }
  7883.   break;
  7884.   case 203:
  7885. ! #line 1345 "pic.y"
  7886.   { yyval.x = yyvsp[0].x; }
  7887.   break;
  7888.   case 204:
  7889. ! #line 1347 "pic.y"
  7890.   {
  7891.             if (yyvsp[-1].pl.obj != 0)
  7892.               yyval.x = yyvsp[-1].pl.obj->origin().x;
  7893. ***************
  7894. *** 4887,4893 ****
  7895.           }
  7896.   break;
  7897.   case 205:
  7898. ! #line 1354 "/u/jjc/groff/pic/pic.y"
  7899.   {
  7900.             if (yyvsp[-1].pl.obj != 0)
  7901.               yyval.x = yyvsp[-1].pl.obj->origin().y;
  7902. --- 4887,4893 ----
  7903.           }
  7904.   break;
  7905.   case 205:
  7906. ! #line 1354 "pic.y"
  7907.   {
  7908.             if (yyvsp[-1].pl.obj != 0)
  7909.               yyval.x = yyvsp[-1].pl.obj->origin().y;
  7910. ***************
  7911. *** 4896,4902 ****
  7912.           }
  7913.   break;
  7914.   case 206:
  7915. ! #line 1361 "/u/jjc/groff/pic/pic.y"
  7916.   {
  7917.             if (yyvsp[-1].pl.obj != 0)
  7918.               yyval.x = yyvsp[-1].pl.obj->height();
  7919. --- 4896,4902 ----
  7920.           }
  7921.   break;
  7922.   case 206:
  7923. ! #line 1361 "pic.y"
  7924.   {
  7925.             if (yyvsp[-1].pl.obj != 0)
  7926.               yyval.x = yyvsp[-1].pl.obj->height();
  7927. ***************
  7928. *** 4905,4911 ****
  7929.           }
  7930.   break;
  7931.   case 207:
  7932. ! #line 1368 "/u/jjc/groff/pic/pic.y"
  7933.   {
  7934.             if (yyvsp[-1].pl.obj != 0)
  7935.               yyval.x = yyvsp[-1].pl.obj->width();
  7936. --- 4905,4911 ----
  7937.           }
  7938.   break;
  7939.   case 207:
  7940. ! #line 1368 "pic.y"
  7941.   {
  7942.             if (yyvsp[-1].pl.obj != 0)
  7943.               yyval.x = yyvsp[-1].pl.obj->width();
  7944. ***************
  7945. *** 4914,4920 ****
  7946.           }
  7947.   break;
  7948.   case 208:
  7949. ! #line 1375 "/u/jjc/groff/pic/pic.y"
  7950.   {
  7951.             if (yyvsp[-1].pl.obj != 0)
  7952.               yyval.x = yyvsp[-1].pl.obj->radius();
  7953. --- 4914,4920 ----
  7954.           }
  7955.   break;
  7956.   case 208:
  7957. ! #line 1375 "pic.y"
  7958.   {
  7959.             if (yyvsp[-1].pl.obj != 0)
  7960.               yyval.x = yyvsp[-1].pl.obj->radius();
  7961. ***************
  7962. *** 4923,4941 ****
  7963.           }
  7964.   break;
  7965.   case 209:
  7966. ! #line 1382 "/u/jjc/groff/pic/pic.y"
  7967.   { yyval.x = yyvsp[-2].x + yyvsp[0].x; }
  7968.   break;
  7969.   case 210:
  7970. ! #line 1384 "/u/jjc/groff/pic/pic.y"
  7971.   { yyval.x = yyvsp[-2].x - yyvsp[0].x; }
  7972.   break;
  7973.   case 211:
  7974. ! #line 1386 "/u/jjc/groff/pic/pic.y"
  7975.   { yyval.x = yyvsp[-2].x * yyvsp[0].x; }
  7976.   break;
  7977.   case 212:
  7978. ! #line 1388 "/u/jjc/groff/pic/pic.y"
  7979.   {
  7980.             if (yyvsp[0].x == 0.0) {
  7981.               lex_error("division by zero");
  7982. --- 4923,4941 ----
  7983.           }
  7984.   break;
  7985.   case 209:
  7986. ! #line 1382 "pic.y"
  7987.   { yyval.x = yyvsp[-2].x + yyvsp[0].x; }
  7988.   break;
  7989.   case 210:
  7990. ! #line 1384 "pic.y"
  7991.   { yyval.x = yyvsp[-2].x - yyvsp[0].x; }
  7992.   break;
  7993.   case 211:
  7994. ! #line 1386 "pic.y"
  7995.   { yyval.x = yyvsp[-2].x * yyvsp[0].x; }
  7996.   break;
  7997.   case 212:
  7998. ! #line 1388 "pic.y"
  7999.   {
  8000.             if (yyvsp[0].x == 0.0) {
  8001.               lex_error("division by zero");
  8002. ***************
  8003. *** 4945,4951 ****
  8004.           }
  8005.   break;
  8006.   case 213:
  8007. ! #line 1396 "/u/jjc/groff/pic/pic.y"
  8008.   {
  8009.             if (yyvsp[0].x == 0.0) {
  8010.               lex_error("modulus by zero");
  8011. --- 4945,4951 ----
  8012.           }
  8013.   break;
  8014.   case 213:
  8015. ! #line 1396 "pic.y"
  8016.   {
  8017.             if (yyvsp[0].x == 0.0) {
  8018.               lex_error("modulus by zero");
  8019. ***************
  8020. *** 4955,4961 ****
  8021.           }
  8022.   break;
  8023.   case 214:
  8024. ! #line 1404 "/u/jjc/groff/pic/pic.y"
  8025.   {
  8026.             errno = 0;
  8027.             yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
  8028. --- 4955,4961 ----
  8029.           }
  8030.   break;
  8031.   case 214:
  8032. ! #line 1404 "pic.y"
  8033.   {
  8034.             errno = 0;
  8035.             yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
  8036. ***************
  8037. *** 4970,4984 ****
  8038.           }
  8039.   break;
  8040.   case 215:
  8041. ! #line 1417 "/u/jjc/groff/pic/pic.y"
  8042.   { yyval.x = -yyvsp[0].x; }
  8043.   break;
  8044.   case 216:
  8045. ! #line 1419 "/u/jjc/groff/pic/pic.y"
  8046.   { yyval.x = yyvsp[-1].x; }
  8047.   break;
  8048.   case 217:
  8049. ! #line 1421 "/u/jjc/groff/pic/pic.y"
  8050.   {
  8051.             errno = 0;
  8052.             yyval.x = sin(yyvsp[-1].x);
  8053. --- 4970,4984 ----
  8054.           }
  8055.   break;
  8056.   case 215:
  8057. ! #line 1417 "pic.y"
  8058.   { yyval.x = -yyvsp[0].x; }
  8059.   break;
  8060.   case 216:
  8061. ! #line 1419 "pic.y"
  8062.   { yyval.x = yyvsp[-1].x; }
  8063.   break;
  8064.   case 217:
  8065. ! #line 1421 "pic.y"
  8066.   {
  8067.             errno = 0;
  8068.             yyval.x = sin(yyvsp[-1].x);
  8069. ***************
  8070. *** 4989,4995 ****
  8071.           }
  8072.   break;
  8073.   case 218:
  8074. ! #line 1430 "/u/jjc/groff/pic/pic.y"
  8075.   {
  8076.             errno = 0;
  8077.             yyval.x = cos(yyvsp[-1].x);
  8078. --- 4989,4995 ----
  8079.           }
  8080.   break;
  8081.   case 218:
  8082. ! #line 1430 "pic.y"
  8083.   {
  8084.             errno = 0;
  8085.             yyval.x = cos(yyvsp[-1].x);
  8086. ***************
  8087. *** 5000,5006 ****
  8088.           }
  8089.   break;
  8090.   case 219:
  8091. ! #line 1439 "/u/jjc/groff/pic/pic.y"
  8092.   {
  8093.             errno = 0;
  8094.             yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
  8095. --- 5000,5006 ----
  8096.           }
  8097.   break;
  8098.   case 219:
  8099. ! #line 1439 "pic.y"
  8100.   {
  8101.             errno = 0;
  8102.             yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
  8103. ***************
  8104. *** 5015,5021 ****
  8105.           }
  8106.   break;
  8107.   case 220:
  8108. ! #line 1452 "/u/jjc/groff/pic/pic.y"
  8109.   {
  8110.             errno = 0;
  8111.             yyval.x = log10(yyvsp[-1].x);
  8112. --- 5015,5021 ----
  8113.           }
  8114.   break;
  8115.   case 220:
  8116. ! #line 1452 "pic.y"
  8117.   {
  8118.             errno = 0;
  8119.             yyval.x = log10(yyvsp[-1].x);
  8120. ***************
  8121. *** 5026,5032 ****
  8122.           }
  8123.   break;
  8124.   case 221:
  8125. ! #line 1461 "/u/jjc/groff/pic/pic.y"
  8126.   {
  8127.             errno = 0;
  8128.             yyval.x = pow(10.0, yyvsp[-1].x);
  8129. --- 5026,5032 ----
  8130.           }
  8131.   break;
  8132.   case 221:
  8133. ! #line 1461 "pic.y"
  8134.   {
  8135.             errno = 0;
  8136.             yyval.x = pow(10.0, yyvsp[-1].x);
  8137. ***************
  8138. *** 5037,5043 ****
  8139.           }
  8140.   break;
  8141.   case 222:
  8142. ! #line 1470 "/u/jjc/groff/pic/pic.y"
  8143.   {
  8144.             errno = 0;
  8145.             yyval.x = sqrt(yyvsp[-1].x);
  8146. --- 5037,5043 ----
  8147.           }
  8148.   break;
  8149.   case 222:
  8150. ! #line 1470 "pic.y"
  8151.   {
  8152.             errno = 0;
  8153.             yyval.x = sqrt(yyvsp[-1].x);
  8154. ***************
  8155. *** 5048,5070 ****
  8156.           }
  8157.   break;
  8158.   case 223:
  8159. ! #line 1479 "/u/jjc/groff/pic/pic.y"
  8160.   { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8161.   break;
  8162.   case 224:
  8163. ! #line 1481 "/u/jjc/groff/pic/pic.y"
  8164.   { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8165.   break;
  8166.   case 225:
  8167. ! #line 1483 "/u/jjc/groff/pic/pic.y"
  8168.   { yyval.x = floor(yyvsp[-1].x); }
  8169.   break;
  8170.   case 226:
  8171. ! #line 1485 "/u/jjc/groff/pic/pic.y"
  8172.   { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
  8173.   break;
  8174.   case 227:
  8175. ! #line 1487 "/u/jjc/groff/pic/pic.y"
  8176.   {
  8177.             /* return a random number in the range [0,1) */
  8178.             /* portable, but not very random */
  8179. --- 5048,5070 ----
  8180.           }
  8181.   break;
  8182.   case 223:
  8183. ! #line 1479 "pic.y"
  8184.   { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8185.   break;
  8186.   case 224:
  8187. ! #line 1481 "pic.y"
  8188.   { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
  8189.   break;
  8190.   case 225:
  8191. ! #line 1483 "pic.y"
  8192.   { yyval.x = floor(yyvsp[-1].x); }
  8193.   break;
  8194.   case 226:
  8195. ! #line 1485 "pic.y"
  8196.   { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
  8197.   break;
  8198.   case 227:
  8199. ! #line 1487 "pic.y"
  8200.   {
  8201.             /* return a random number in the range [0,1) */
  8202.             /* portable, but not very random */
  8203. ***************
  8204. *** 5072,5110 ****
  8205.           }
  8206.   break;
  8207.   case 228:
  8208. ! #line 1493 "/u/jjc/groff/pic/pic.y"
  8209.   { yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
  8210.   break;
  8211.   case 229:
  8212. ! #line 1495 "/u/jjc/groff/pic/pic.y"
  8213.   { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
  8214.   break;
  8215.   case 230:
  8216. ! #line 1497 "/u/jjc/groff/pic/pic.y"
  8217.   { yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
  8218.   break;
  8219.   case 231:
  8220. ! #line 1499 "/u/jjc/groff/pic/pic.y"
  8221.   { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
  8222.   break;
  8223.   case 232:
  8224. ! #line 1501 "/u/jjc/groff/pic/pic.y"
  8225.   { yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
  8226.   break;
  8227.   case 233:
  8228. ! #line 1503 "/u/jjc/groff/pic/pic.y"
  8229.   { yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
  8230.   break;
  8231.   case 234:
  8232. ! #line 1505 "/u/jjc/groff/pic/pic.y"
  8233.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  8234.   break;
  8235.   case 235:
  8236. ! #line 1507 "/u/jjc/groff/pic/pic.y"
  8237.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  8238.   break;
  8239.   case 236:
  8240. ! #line 1509 "/u/jjc/groff/pic/pic.y"
  8241.   { yyval.x = (yyvsp[0].x == 0.0); }
  8242.   break;
  8243.   #line 5111 "y.tab.c"
  8244. --- 5072,5110 ----
  8245.           }
  8246.   break;
  8247.   case 228:
  8248. ! #line 1493 "pic.y"
  8249.   { yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
  8250.   break;
  8251.   case 229:
  8252. ! #line 1495 "pic.y"
  8253.   { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
  8254.   break;
  8255.   case 230:
  8256. ! #line 1497 "pic.y"
  8257.   { yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
  8258.   break;
  8259.   case 231:
  8260. ! #line 1499 "pic.y"
  8261.   { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
  8262.   break;
  8263.   case 232:
  8264. ! #line 1501 "pic.y"
  8265.   { yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
  8266.   break;
  8267.   case 233:
  8268. ! #line 1503 "pic.y"
  8269.   { yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
  8270.   break;
  8271.   case 234:
  8272. ! #line 1505 "pic.y"
  8273.   { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
  8274.   break;
  8275.   case 235:
  8276. ! #line 1507 "pic.y"
  8277.   { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
  8278.   break;
  8279.   case 236:
  8280. ! #line 1509 "pic.y"
  8281.   { yyval.x = (yyvsp[0].x == 0.0); }
  8282.   break;
  8283.   #line 5111 "y.tab.c"
  8284. diff -rc --new-file groff-1.09/pic/pic.h /gnu/src/amiga/groff-1.09/pic/pic.h
  8285. *** groff-1.09/pic/pic.h    Mon Dec 28 21:50:15 1992
  8286. --- /gnu/src/amiga/groff-1.09/pic/pic.h    Mon Feb 21 16:18:23 1994
  8287. ***************
  8288. *** 19,25 ****
  8289.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  8290.   
  8291.   #include <stdio.h>
  8292. ! #include <string.h>
  8293.   #include <math.h>
  8294.   #include <stdlib.h>
  8295.   #include <errno.h>
  8296. --- 19,25 ----
  8297.   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  8298.   
  8299.   #include <stdio.h>
  8300. ! #include </gnu/include/string.h>
  8301.   #include <math.h>
  8302.   #include <stdlib.h>
  8303.   #include <errno.h>
  8304. diff -rc --new-file groff-1.09/refer/label.cc /gnu/src/amiga/groff-1.09/refer/label.cc
  8305. *** groff-1.09/refer/label.cc    Mon Dec 13 20:02:17 1993
  8306. --- /gnu/src/amiga/groff-1.09/refer/label.cc    Wed May  4 11:41:15 1994
  8307. ***************
  8308. *** 2,8 ****
  8309.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  8310.   #endif
  8311.   #define YYBYACC 1
  8312. ! #line 22 "/u/jjc/groff/refer/label.y"
  8313.   
  8314.   #include "refer.h"
  8315.   #include "refid.h"
  8316. --- 2,8 ----
  8317.   static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/90";
  8318.   #endif
  8319.   #define YYBYACC 1
  8320. ! #line 22 "label.y"
  8321.   
  8322.   #include "refer.h"
  8323.   #include "refid.h"
  8324. ***************
  8325. *** 200,206 ****
  8326.   
  8327.   string literals;
  8328.   
  8329. ! #line 221 "/u/jjc/groff/refer/label.y"
  8330.   typedef union {
  8331.     int num;
  8332.     expression *expr;
  8333. --- 200,206 ----
  8334.   
  8335.   string literals;
  8336.   
  8337. ! #line 221 "label.y"
  8338.   typedef union {
  8339.     int num;
  8340.     expression *expr;
  8341. ***************
  8342. *** 438,444 ****
  8343.   short yyss[YYSTACKSIZE];
  8344.   YYSTYPE yyvs[YYSTACKSIZE];
  8345.   #define yystacksize YYSTACKSIZE
  8346. ! #line 397 "/u/jjc/groff/refer/label.y"
  8347.   
  8348.   /* bison defines const to be empty unless __STDC__ is defined, which it
  8349.   isn't under cfront */
  8350. --- 438,444 ----
  8351.   short yyss[YYSTACKSIZE];
  8352.   YYSTYPE yyvs[YYSTACKSIZE];
  8353.   #define yystacksize YYSTACKSIZE
  8354. ! #line 397 "label.y"
  8355.   
  8356.   /* bison defines const to be empty unless __STDC__ is defined, which it
  8357.   isn't under cfront */
  8358. ***************
  8359. *** 1357,1430 ****
  8360.       switch (yyn)
  8361.       {
  8362.   case 1:
  8363. ! #line 250 "/u/jjc/groff/refer/label.y"
  8364.   { parse_result = (yyvsp[0].expr ? new analyzed_expr(yyvsp[0].expr) : 0); }
  8365.   break;
  8366.   case 2:
  8367. ! #line 255 "/u/jjc/groff/refer/label.y"
  8368.   { yyval.expr = yyvsp[0].expr; }
  8369.   break;
  8370.   case 3:
  8371. ! #line 257 "/u/jjc/groff/refer/label.y"
  8372.   { yyval.expr = new conditional_expr(yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); }
  8373.   break;
  8374.   case 4:
  8375. ! #line 262 "/u/jjc/groff/refer/label.y"
  8376.   { yyval.expr = 0; }
  8377.   break;
  8378.   case 5:
  8379. ! #line 264 "/u/jjc/groff/refer/label.y"
  8380.   { yyval.expr = yyvsp[0].expr; }
  8381.   break;
  8382.   case 6:
  8383. ! #line 269 "/u/jjc/groff/refer/label.y"
  8384.   { yyval.expr = yyvsp[0].expr; }
  8385.   break;
  8386.   case 7:
  8387. ! #line 271 "/u/jjc/groff/refer/label.y"
  8388.   { yyval.expr = new alternative_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8389.   break;
  8390.   case 8:
  8391. ! #line 273 "/u/jjc/groff/refer/label.y"
  8392.   { yyval.expr = new conditional_expr(yyvsp[-2].expr, yyvsp[0].expr, 0); }
  8393.   break;
  8394.   case 9:
  8395. ! #line 278 "/u/jjc/groff/refer/label.y"
  8396.   { yyval.expr = yyvsp[0].expr; }
  8397.   break;
  8398.   case 10:
  8399. ! #line 280 "/u/jjc/groff/refer/label.y"
  8400.   { yyval.expr = new list_expr(yyvsp[-1].expr, yyvsp[0].expr); }
  8401.   break;
  8402.   case 11:
  8403. ! #line 285 "/u/jjc/groff/refer/label.y"
  8404.   { yyval.expr = yyvsp[0].expr; }
  8405.   break;
  8406.   case 12:
  8407. ! #line 287 "/u/jjc/groff/refer/label.y"
  8408.   { yyval.expr = new substitute_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8409.   break;
  8410.   case 13:
  8411. ! #line 292 "/u/jjc/groff/refer/label.y"
  8412.   { yyval.expr = new at_expr; }
  8413.   break;
  8414.   case 14:
  8415. ! #line 294 "/u/jjc/groff/refer/label.y"
  8416.   {
  8417.             yyval.expr = new literal_expr(literals.contents() + yyvsp[0].str.start,
  8418.                       yyvsp[0].str.len);
  8419.           }
  8420.   break;
  8421.   case 15:
  8422. ! #line 299 "/u/jjc/groff/refer/label.y"
  8423.   { yyval.expr = new field_expr(yyvsp[0].num, 0); }
  8424.   break;
  8425.   case 16:
  8426. ! #line 301 "/u/jjc/groff/refer/label.y"
  8427.   { yyval.expr = new field_expr(yyvsp[-1].num, yyvsp[0].num - 1); }
  8428.   break;
  8429.   case 17:
  8430. ! #line 303 "/u/jjc/groff/refer/label.y"
  8431.   {
  8432.             switch (yyvsp[0].num) {
  8433.             case 'I':
  8434. --- 1357,1430 ----
  8435.       switch (yyn)
  8436.       {
  8437.   case 1:
  8438. ! #line 250 "label.y"
  8439.   { parse_result = (yyvsp[0].expr ? new analyzed_expr(yyvsp[0].expr) : 0); }
  8440.   break;
  8441.   case 2:
  8442. ! #line 255 "label.y"
  8443.   { yyval.expr = yyvsp[0].expr; }
  8444.   break;
  8445.   case 3:
  8446. ! #line 257 "label.y"
  8447.   { yyval.expr = new conditional_expr(yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); }
  8448.   break;
  8449.   case 4:
  8450. ! #line 262 "label.y"
  8451.   { yyval.expr = 0; }
  8452.   break;
  8453.   case 5:
  8454. ! #line 264 "label.y"
  8455.   { yyval.expr = yyvsp[0].expr; }
  8456.   break;
  8457.   case 6:
  8458. ! #line 269 "label.y"
  8459.   { yyval.expr = yyvsp[0].expr; }
  8460.   break;
  8461.   case 7:
  8462. ! #line 271 "label.y"
  8463.   { yyval.expr = new alternative_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8464.   break;
  8465.   case 8:
  8466. ! #line 273 "label.y"
  8467.   { yyval.expr = new conditional_expr(yyvsp[-2].expr, yyvsp[0].expr, 0); }
  8468.   break;
  8469.   case 9:
  8470. ! #line 278 "label.y"
  8471.   { yyval.expr = yyvsp[0].expr; }
  8472.   break;
  8473.   case 10:
  8474. ! #line 280 "label.y"
  8475.   { yyval.expr = new list_expr(yyvsp[-1].expr, yyvsp[0].expr); }
  8476.   break;
  8477.   case 11:
  8478. ! #line 285 "label.y"
  8479.   { yyval.expr = yyvsp[0].expr; }
  8480.   break;
  8481.   case 12:
  8482. ! #line 287 "label.y"
  8483.   { yyval.expr = new substitute_expr(yyvsp[-2].expr, yyvsp[0].expr); }
  8484.   break;
  8485.   case 13:
  8486. ! #line 292 "label.y"
  8487.   { yyval.expr = new at_expr; }
  8488.   break;
  8489.   case 14:
  8490. ! #line 294 "label.y"
  8491.   {
  8492.             yyval.expr = new literal_expr(literals.contents() + yyvsp[0].str.start,
  8493.                       yyvsp[0].str.len);
  8494.           }
  8495.   break;
  8496.   case 15:
  8497. ! #line 299 "label.y"
  8498.   { yyval.expr = new field_expr(yyvsp[0].num, 0); }
  8499.   break;
  8500.   case 16:
  8501. ! #line 301 "label.y"
  8502.   { yyval.expr = new field_expr(yyvsp[-1].num, yyvsp[0].num - 1); }
  8503.   break;
  8504.   case 17:
  8505. ! #line 303 "label.y"
  8506.   {
  8507.             switch (yyvsp[0].num) {
  8508.             case 'I':
  8509. ***************
  8510. *** 1441,1453 ****
  8511.           }
  8512.   break;
  8513.   case 18:
  8514. ! #line 319 "/u/jjc/groff/refer/label.y"
  8515.   {
  8516.             yyval.expr = new format_expr('0', yyvsp[0].dig.ndigits, yyvsp[0].dig.val);
  8517.           }
  8518.   break;
  8519.   case 19:
  8520. ! #line 323 "/u/jjc/groff/refer/label.y"
  8521.   {
  8522.             switch (yyvsp[-1].num) {
  8523.             case 'l':
  8524. --- 1441,1453 ----
  8525.           }
  8526.   break;
  8527.   case 18:
  8528. ! #line 319 "label.y"
  8529.   {
  8530.             yyval.expr = new format_expr('0', yyvsp[0].dig.ndigits, yyvsp[0].dig.val);
  8531.           }
  8532.   break;
  8533.   case 19:
  8534. ! #line 323 "label.y"
  8535.   {
  8536.             switch (yyvsp[-1].num) {
  8537.             case 'l':
  8538. ***************
  8539. *** 1479,1537 ****
  8540.           }
  8541.   break;
  8542.   case 20:
  8543. ! #line 354 "/u/jjc/groff/refer/label.y"
  8544.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, yyvsp[0].num); }
  8545.   break;
  8546.   case 21:
  8547. ! #line 356 "/u/jjc/groff/refer/label.y"
  8548.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, -yyvsp[0].num); }
  8549.   break;
  8550.   case 22:
  8551. ! #line 358 "/u/jjc/groff/refer/label.y"
  8552.   { yyval.expr = new star_expr(yyvsp[-1].expr); }
  8553.   break;
  8554.   case 23:
  8555. ! #line 360 "/u/jjc/groff/refer/label.y"
  8556.   { yyval.expr = yyvsp[-1].expr; }
  8557.   break;
  8558.   case 24:
  8559. ! #line 362 "/u/jjc/groff/refer/label.y"
  8560.   { yyval.expr = new separator_expr(yyvsp[-1].expr); }
  8561.   break;
  8562.   case 25:
  8563. ! #line 367 "/u/jjc/groff/refer/label.y"
  8564.   { yyval.num = -1; }
  8565.   break;
  8566.   case 26:
  8567. ! #line 369 "/u/jjc/groff/refer/label.y"
  8568.   { yyval.num = yyvsp[0].num; }
  8569.   break;
  8570.   case 27:
  8571. ! #line 374 "/u/jjc/groff/refer/label.y"
  8572.   { yyval.num = yyvsp[0].num; }
  8573.   break;
  8574.   case 28:
  8575. ! #line 376 "/u/jjc/groff/refer/label.y"
  8576.   { yyval.num = yyvsp[-1].num*10 + yyvsp[0].num; }
  8577.   break;
  8578.   case 29:
  8579. ! #line 381 "/u/jjc/groff/refer/label.y"
  8580.   { yyval.dig.ndigits = 1; yyval.dig.val = yyvsp[0].num; }
  8581.   break;
  8582.   case 30:
  8583. ! #line 383 "/u/jjc/groff/refer/label.y"
  8584.   { yyval.dig.ndigits = yyvsp[-1].dig.ndigits + 1; yyval.dig.val = yyvsp[-1].dig.val*10 + yyvsp[0].num; }
  8585.   break;
  8586.   case 31:
  8587. ! #line 389 "/u/jjc/groff/refer/label.y"
  8588.   { yyval.num = 0; }
  8589.   break;
  8590.   case 32:
  8591. ! #line 391 "/u/jjc/groff/refer/label.y"
  8592.   { yyval.num = 1; }
  8593.   break;
  8594.   case 33:
  8595. ! #line 393 "/u/jjc/groff/refer/label.y"
  8596.   { yyval.num = -1; }
  8597.   break;
  8598.   #line 1538 "y.tab.c"
  8599. --- 1479,1537 ----
  8600.           }
  8601.   break;
  8602.   case 20:
  8603. ! #line 354 "label.y"
  8604.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, yyvsp[0].num); }
  8605.   break;
  8606.   case 21:
  8607. ! #line 356 "label.y"
  8608.   { yyval.expr = new truncate_expr(yyvsp[-2].expr, -yyvsp[0].num); }
  8609.   break;
  8610.   case 22:
  8611. ! #line 358 "label.y"
  8612.   { yyval.expr = new star_expr(yyvsp[-1].expr); }
  8613.   break;
  8614.   case 23:
  8615. ! #line 360 "label.y"
  8616.   { yyval.expr = yyvsp[-1].expr; }
  8617.   break;
  8618.   case 24:
  8619. ! #line 362 "label.y"
  8620.   { yyval.expr = new separator_expr(yyvsp[-1].expr); }
  8621.   break;
  8622.   case 25:
  8623. ! #line 367 "label.y"
  8624.   { yyval.num = -1; }
  8625.   break;
  8626.   case 26:
  8627. ! #line 369 "label.y"
  8628.   { yyval.num = yyvsp[0].num; }
  8629.   break;
  8630.   case 27:
  8631. ! #line 374 "label.y"
  8632.   { yyval.num = yyvsp[0].num; }
  8633.   break;
  8634.   case 28:
  8635. ! #line 376 "label.y"
  8636.   { yyval.num = yyvsp[-1].num*10 + yyvsp[0].num; }
  8637.   break;
  8638.   case 29:
  8639. ! #line 381 "label.y"
  8640.   { yyval.dig.ndigits = 1; yyval.dig.val = yyvsp[0].num; }
  8641.   break;
  8642.   case 30:
  8643. ! #line 383 "label.y"
  8644.   { yyval.dig.ndigits = yyvsp[-1].dig.ndigits + 1; yyval.dig.val = yyvsp[-1].dig.val*10 + yyvsp[0].num; }
  8645.   break;
  8646.   case 31:
  8647. ! #line 389 "label.y"
  8648.   { yyval.num = 0; }
  8649.   break;
  8650.   case 32:
  8651. ! #line 391 "label.y"
  8652.   { yyval.num = 1; }
  8653.   break;
  8654.   case 33:
  8655. ! #line 393 "label.y"
  8656.   { yyval.num = -1; }
  8657.   break;
  8658.   #line 1538 "y.tab.c"
  8659. diff -rc --new-file groff-1.09/refer/refer.h /gnu/src/amiga/groff-1.09/refer/refer.h
  8660. *** groff-1.09/refer/refer.h    Mon Aug  3 10:30:24 1992
  8661. --- /gnu/src/amiga/groff-1.09/refer/refer.h    Mon Feb 21 16:18:08 1994
  8662. ***************
  8663. *** 21,27 ****
  8664.   #include <stdio.h>
  8665.   #include <stdlib.h>
  8666.   #include <assert.h>
  8667. ! #include <string.h>
  8668.   #include <errno.h>
  8669.   
  8670.   #include "errarg.h"
  8671. --- 21,27 ----
  8672.   #include <stdio.h>
  8673.   #include <stdlib.h>
  8674.   #include <assert.h>
  8675. ! #include </gnu/include/string.h>
  8676.   #include <errno.h>
  8677.   
  8678.   #include "errarg.h"
  8679. diff -rc --new-file groff-1.09/soelim/soelim.cc /gnu/src/amiga/groff-1.09/soelim/soelim.cc
  8680. *** groff-1.09/soelim/soelim.cc    Thu May 27 22:29:31 1993
  8681. --- /gnu/src/amiga/groff-1.09/soelim/soelim.cc    Mon Feb 21 16:17:50 1994
  8682. ***************
  8683. *** 20,26 ****
  8684.   
  8685.   #include <stdio.h>
  8686.   #include <ctype.h>
  8687. ! #include <string.h>
  8688.   #include <assert.h>
  8689.   #include <stdlib.h>
  8690.   #include <errno.h>
  8691. --- 20,26 ----
  8692.   
  8693.   #include <stdio.h>
  8694.   #include <ctype.h>
  8695. ! #include </gnu/include/string.h>
  8696.   #include <assert.h>
  8697.   #include <stdlib.h>
  8698.   #include <errno.h>
  8699. diff -rc --new-file groff-1.09/tfmtodit/tfmtodit.cc /gnu/src/amiga/groff-1.09/tfmtodit/tfmtodit.cc
  8700. *** groff-1.09/tfmtodit/tfmtodit.cc    Sun Feb 13 10:24:34 1994
  8701. --- /gnu/src/amiga/groff-1.09/tfmtodit/tfmtodit.cc    Mon Feb 21 16:18:16 1994
  8702. ***************
  8703. *** 50,56 ****
  8704.   #include <stdio.h>
  8705.   #include <stdlib.h>
  8706.   #include <math.h>
  8707. ! #include <string.h>
  8708.   #include <errno.h>
  8709.   #include "lib.h"
  8710.   #include "errarg.h"
  8711. --- 50,56 ----
  8712.   #include <stdio.h>
  8713.   #include <stdlib.h>
  8714.   #include <math.h>
  8715. ! #include </gnu/include/string.h>
  8716.   #include <errno.h>
  8717.   #include "lib.h"
  8718.   #include "errarg.h"
  8719. diff -rc --new-file groff-1.09/tmac/tmac.doc /gnu/src/amiga/groff-1.09/tmac/tmac.doc
  8720. *** groff-1.09/tmac/tmac.doc    Sat Jan  4 13:58:26 1992
  8721. --- /gnu/src/amiga/groff-1.09/tmac/tmac.doc    Mon Feb 21 16:32:04 1994
  8722. ***************
  8723. *** 43,49 ****
  8724.   .\}
  8725.   .if \n(.g .ig
  8726.   .de sO
  8727. ! .so /usr/share/tmac/\\$1
  8728.   ..
  8729.   .if !\n(.g .ig
  8730.   .de sO
  8731. --- 43,49 ----
  8732.   .\}
  8733.   .if \n(.g .ig
  8734.   .de sO
  8735. ! .so /gnu/share/tmac/\\$1
  8736.   ..
  8737.   .if !\n(.g .ig
  8738.   .de sO
  8739. diff -rc --new-file groff-1.09/troff/troff.h /gnu/src/amiga/groff-1.09/troff/troff.h
  8740. *** groff-1.09/troff/troff.h    Sat Feb 12 11:58:35 1994
  8741. --- /gnu/src/amiga/groff-1.09/troff/troff.h    Mon Feb 21 16:18:29 1994
  8742. ***************
  8743. *** 21,27 ****
  8744.   
  8745.   #include <stdio.h>
  8746.   #include <ctype.h>
  8747. ! #include <string.h>
  8748.   #include <time.h>
  8749.   #include <stddef.h>
  8750.   #include <stdlib.h>
  8751. --- 21,27 ----
  8752.   
  8753.   #include <stdio.h>
  8754.   #include <ctype.h>
  8755. ! #include </gnu/include/string.h>
  8756.   #include <time.h>
  8757.   #include <stddef.h>
  8758.   #include <stdlib.h>
  8759. diff -rc --new-file groff-1.09/xditview/Imakefile /gnu/src/amiga/groff-1.09/xditview/Imakefile
  8760. *** groff-1.09/xditview/Imakefile    Wed Oct 28 13:19:59 1992
  8761. --- /gnu/src/amiga/groff-1.09/xditview/Imakefile    Mon Feb 21 16:32:46 1994
  8762. ***************
  8763. *** 1,6 ****
  8764. ! GROFF_LIBDIR = /usr/local/lib/groff
  8765.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8766. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/usr/local/lib/font:/usr/lib/font
  8767.   DPIS = 75 100
  8768.   
  8769.   PROGRAMS = gxditview xtotroff
  8770. --- 1,6 ----
  8771. ! GROFF_LIBDIR = /gnu/lib/groff
  8772.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8773. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/local/lib/font
  8774.   DPIS = 75 100
  8775.   
  8776.   PROGRAMS = gxditview xtotroff
  8777. diff -rc --new-file groff-1.09/xditview/Makefile /gnu/src/amiga/groff-1.09/xditview/Makefile
  8778. *** groff-1.09/xditview/Makefile    Thu Apr 29 17:38:13 1993
  8779. --- /gnu/src/amiga/groff-1.09/xditview/Makefile    Mon Feb 21 16:33:10 1994
  8780. ***************
  8781. *** 274,282 ****
  8782.   # -------------------------------------------------------------------------
  8783.   # start of Imakefile
  8784.   
  8785. ! GROFF_LIBDIR = /usr/local/lib/groff
  8786.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8787. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/usr/local/lib/font:/usr/lib/font
  8788.   DPIS = 75 100
  8789.   
  8790.   PROGRAMS = gxditview xtotroff
  8791. --- 274,282 ----
  8792.   # -------------------------------------------------------------------------
  8793.   # start of Imakefile
  8794.   
  8795. ! GROFF_LIBDIR = /gnu/lib/groff
  8796.   GROFF_FONTDIR = $(GROFF_LIBDIR)/font
  8797. ! GROFF_FONTPATH = .:$(GROFF_FONTDIR):/local/lib/font
  8798.   DPIS = 75 100
  8799.   
  8800.   PROGRAMS = gxditview xtotroff
  8801. ***************
  8802. *** 413,426 ****
  8803.   # DO NOT DELETE
  8804.   
  8805.   xditview.o: /local/include/X11/Xatom.h /local/include/X11/Xlib.h
  8806. ! xditview.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8807. ! xditview.o: /usr/include/sys/sysmacros.h /local/include/X11/X.h
  8808.   xditview.o: /local/include/X11/Xfuncproto.h /local/include/X11/Xosdefs.h
  8809. ! xditview.o: /usr/include/stddef.h /local/include/X11/Xos.h
  8810. ! xditview.o: /usr/include/string.h /usr/include/fcntl.h
  8811. ! xditview.o: /usr/include/sys/fcntlcom.h /usr/include/sys/stat.h
  8812. ! xditview.o: /usr/include/unistd.h /usr/include/sys/time.h
  8813. ! xditview.o: /usr/include/sys/time.h /local/include/X11/Intrinsic.h
  8814.   xditview.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8815.   xditview.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  8816.   xditview.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  8817. --- 413,426 ----
  8818.   # DO NOT DELETE
  8819.   
  8820.   xditview.o: /local/include/X11/Xatom.h /local/include/X11/Xlib.h
  8821. ! xditview.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  8822. ! xditview.o: /gnu/include/sys/sysmacros.h /local/include/X11/X.h
  8823.   xditview.o: /local/include/X11/Xfuncproto.h /local/include/X11/Xosdefs.h
  8824. ! xditview.o: /gnu/include/stddef.h /local/include/X11/Xos.h
  8825. ! xditview.o: /gnu/include/string.h /gnu/include/fcntl.h
  8826. ! xditview.o: /gnu/include/sys/fcntlcom.h /gnu/include/sys/stat.h
  8827. ! xditview.o: /gnu/include/unistd.h /gnu/include/sys/time.h
  8828. ! xditview.o: /gnu/include/sys/time.h /local/include/X11/Intrinsic.h
  8829.   xditview.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8830.   xditview.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  8831.   xditview.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  8832. ***************
  8833. *** 433,577 ****
  8834.   xditview.o: /local/include/X11/Xaw/Simple.h /local/include/X11/Xaw/Dialog.h
  8835.   xditview.o: /local/include/X11/Xaw/SimpleMenu.h
  8836.   xditview.o: /local/include/X11/Xaw/SmeBSB.h /local/include/X11/Xaw/Sme.h
  8837. ! xditview.o: /usr/include/signal.h /usr/include/sys/signal.h
  8838. ! xditview.o: /usr/include/vm/faultcode.h Dvi.h xdit.bm xdit_mask.bm
  8839. ! xditview.o: /usr/include/stdio.h
  8840.   Dvi.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  8841. ! Dvi.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  8842. ! Dvi.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  8843.   Dvi.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8844. ! Dvi.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  8845.   Dvi.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8846. ! Dvi.o: /usr/include/string.h /local/include/X11/Core.h
  8847.   Dvi.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8848.   Dvi.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8849.   Dvi.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8850.   Dvi.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8851.   Dvi.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8852. ! Dvi.o: /local/include/X11/Xmu/Converters.h /usr/include/stdio.h
  8853. ! Dvi.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  8854.   Dvi.o: /local/include/X11/bitmaps/gray
  8855.   draw.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8856. ! draw.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8857. ! draw.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8858. ! draw.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8859. ! draw.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8860. ! draw.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8861.   draw.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8862.   draw.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8863. ! draw.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8864.   draw.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8865.   draw.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8866.   draw.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8867.   draw.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8868.   draw.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8869.   draw.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8870. ! draw.o: /usr/include/stdio.h /usr/include/ctype.h /usr/include/math.h
  8871. ! draw.o: /usr/include/floatingpoint.h /usr/include/sys/ieeefp.h DviP.h Dvi.h
  8872.   draw.o: DviChar.h device.h
  8873.   font.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8874. ! font.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8875. ! font.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8876. ! font.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8877. ! font.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8878. ! font.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8879.   font.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8880.   font.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8881. ! font.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8882.   font.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8883.   font.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8884.   font.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8885.   font.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8886.   font.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8887.   font.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8888. ! font.o: /usr/include/stdio.h /usr/include/ctype.h DviP.h Dvi.h DviChar.h
  8889.   font.o: device.h XFontName.h
  8890.   lex.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8891. ! lex.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8892. ! lex.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8893. ! lex.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8894. ! lex.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8895. ! lex.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8896.   lex.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8897.   lex.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8898. ! lex.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8899.   lex.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8900.   lex.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8901.   lex.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8902.   lex.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8903.   lex.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8904.   lex.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8905. ! lex.o: /usr/include/stdio.h DviP.h Dvi.h DviChar.h device.h
  8906.   page.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8907. ! page.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8908. ! page.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8909. ! page.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8910. ! page.o: /usr/include/sys/stat.h /usr/include/unistd.h /usr/include/sys/time.h
  8911. ! page.o: /usr/include/sys/time.h /local/include/X11/IntrinsicP.h
  8912.   page.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  8913.   page.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8914. ! page.o: /usr/include/stddef.h /local/include/X11/Xutil.h
  8915.   page.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  8916.   page.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8917.   page.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8918.   page.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8919.   page.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8920.   page.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8921. ! page.o: /usr/include/stdio.h /usr/include/ctype.h DviP.h Dvi.h DviChar.h
  8922.   page.o: device.h
  8923.   parse.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  8924. ! parse.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h
  8925. ! parse.o: /usr/include/sys/sysmacros.h /usr/include/string.h
  8926. ! parse.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8927. ! parse.o: /usr/include/sys/stat.h /usr/include/unistd.h
  8928. ! parse.o: /usr/include/sys/time.h /usr/include/sys/time.h
  8929.   parse.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  8930.   parse.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  8931. ! parse.o: /local/include/X11/Xfuncproto.h /usr/include/stddef.h
  8932.   parse.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8933.   parse.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  8934.   parse.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  8935.   parse.o: /local/include/X11/RectObj.h /local/include/X11/CoreP.h
  8936.   parse.o: /local/include/X11/CompositeP.h /local/include/X11/ConstrainP.h
  8937.   parse.o: /local/include/X11/ObjectP.h /local/include/X11/RectObjP.h
  8938. ! parse.o: /local/include/X11/StringDefs.h /usr/include/stdio.h
  8939. ! parse.o: /usr/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  8940. ! XFontName.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  8941. ! XFontName.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  8942.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8943. ! XFontName.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  8944. ! XFontName.o: /local/include/X11/Xos.h /usr/include/string.h
  8945. ! XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8946. ! XFontName.o: /usr/include/sys/stat.h /usr/include/unistd.h
  8947. ! XFontName.o: /usr/include/sys/time.h /usr/include/sys/time.h XFontName.h
  8948. ! XFontName.o: /usr/include/ctype.h
  8949.   DviChar.o: DviChar.h
  8950. ! device.o: /usr/include/stdio.h /usr/include/ctype.h /local/include/X11/Xos.h
  8951. ! device.o: /local/include/X11/Xosdefs.h /usr/include/sys/types.h
  8952. ! device.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  8953. ! device.o: /usr/include/string.h /usr/include/fcntl.h
  8954. ! device.o: /usr/include/sys/fcntlcom.h /usr/include/sys/stat.h
  8955. ! device.o: /usr/include/unistd.h /usr/include/sys/time.h
  8956. ! device.o: /usr/include/sys/time.h /local/include/X11/Intrinsic.h
  8957.   device.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  8958. ! device.o: /local/include/X11/Xfuncproto.h /usr/include/stddef.h
  8959.   device.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8960.   device.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  8961.   device.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  8962.   device.o: /local/include/X11/RectObj.h device.h
  8963. ! xtotroff.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  8964. ! xtotroff.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  8965.   xtotroff.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8966. ! xtotroff.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  8967. ! xtotroff.o: /usr/include/stdio.h /usr/include/ctype.h XFontName.h DviChar.h
  8968. ! xtotroff.o: /usr/include/stdlib.h
  8969. ! XFontName.o: /local/include/X11/Xlib.h /usr/include/sys/types.h
  8970. ! XFontName.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h
  8971.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8972. ! XFontName.o: /local/include/X11/Xosdefs.h /usr/include/stddef.h
  8973. ! XFontName.o: /local/include/X11/Xos.h /usr/include/string.h
  8974. ! XFontName.o: /usr/include/fcntl.h /usr/include/sys/fcntlcom.h
  8975. ! XFontName.o: /usr/include/sys/stat.h /usr/include/unistd.h
  8976. ! XFontName.o: /usr/include/sys/time.h /usr/include/sys/time.h XFontName.h
  8977. ! XFontName.o: /usr/include/ctype.h
  8978.   DviChar.o: DviChar.h
  8979. --- 433,577 ----
  8980.   xditview.o: /local/include/X11/Xaw/Simple.h /local/include/X11/Xaw/Dialog.h
  8981.   xditview.o: /local/include/X11/Xaw/SimpleMenu.h
  8982.   xditview.o: /local/include/X11/Xaw/SmeBSB.h /local/include/X11/Xaw/Sme.h
  8983. ! xditview.o: /gnu/include/signal.h /gnu/include/sys/signal.h
  8984. ! xditview.o: /gnu/include/vm/faultcode.h Dvi.h xdit.bm xdit_mask.bm
  8985. ! xditview.o: /gnu/include/stdio.h
  8986.   Dvi.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  8987. ! Dvi.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  8988. ! Dvi.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  8989.   Dvi.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  8990. ! Dvi.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  8991.   Dvi.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  8992. ! Dvi.o: /gnu/include/string.h /local/include/X11/Core.h
  8993.   Dvi.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  8994.   Dvi.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  8995.   Dvi.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  8996.   Dvi.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  8997.   Dvi.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  8998. ! Dvi.o: /local/include/X11/Xmu/Converters.h /gnu/include/stdio.h
  8999. ! Dvi.o: /gnu/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  9000.   Dvi.o: /local/include/X11/bitmaps/gray
  9001.   draw.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9002. ! draw.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9003. ! draw.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9004. ! draw.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9005. ! draw.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9006. ! draw.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9007.   draw.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9008.   draw.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9009. ! draw.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9010.   draw.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9011.   draw.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9012.   draw.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9013.   draw.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9014.   draw.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9015.   draw.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9016. ! draw.o: /gnu/include/stdio.h /gnu/include/ctype.h /gnu/include/math.h
  9017. ! draw.o: /gnu/include/floatingpoint.h /gnu/include/sys/ieeefp.h DviP.h Dvi.h
  9018.   draw.o: DviChar.h device.h
  9019.   font.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9020. ! font.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9021. ! font.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9022. ! font.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9023. ! font.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9024. ! font.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9025.   font.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9026.   font.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9027. ! font.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9028.   font.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9029.   font.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9030.   font.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9031.   font.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9032.   font.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9033.   font.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9034. ! font.o: /gnu/include/stdio.h /gnu/include/ctype.h DviP.h Dvi.h DviChar.h
  9035.   font.o: device.h XFontName.h
  9036.   lex.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9037. ! lex.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9038. ! lex.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9039. ! lex.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9040. ! lex.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9041. ! lex.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9042.   lex.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9043.   lex.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9044. ! lex.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9045.   lex.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9046.   lex.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9047.   lex.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9048.   lex.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9049.   lex.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9050.   lex.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9051. ! lex.o: /gnu/include/stdio.h DviP.h Dvi.h DviChar.h device.h
  9052.   page.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9053. ! page.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9054. ! page.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9055. ! page.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9056. ! page.o: /gnu/include/sys/stat.h /gnu/include/unistd.h /gnu/include/sys/time.h
  9057. ! page.o: /gnu/include/sys/time.h /local/include/X11/IntrinsicP.h
  9058.   page.o: /local/include/X11/Intrinsic.h /local/include/X11/Xlib.h
  9059.   page.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9060. ! page.o: /gnu/include/stddef.h /local/include/X11/Xutil.h
  9061.   page.o: /local/include/X11/Xresource.h /local/include/X11/Core.h
  9062.   page.o: /local/include/X11/Composite.h /local/include/X11/Constraint.h
  9063.   page.o: /local/include/X11/Object.h /local/include/X11/RectObj.h
  9064.   page.o: /local/include/X11/CoreP.h /local/include/X11/CompositeP.h
  9065.   page.o: /local/include/X11/ConstrainP.h /local/include/X11/ObjectP.h
  9066.   page.o: /local/include/X11/RectObjP.h /local/include/X11/StringDefs.h
  9067. ! page.o: /gnu/include/stdio.h /gnu/include/ctype.h DviP.h Dvi.h DviChar.h
  9068.   page.o: device.h
  9069.   parse.o: /local/include/X11/Xos.h /local/include/X11/Xosdefs.h
  9070. ! parse.o: /gnu/include/sys/types.h /gnu/include/sys/stdtypes.h
  9071. ! parse.o: /gnu/include/sys/sysmacros.h /gnu/include/string.h
  9072. ! parse.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9073. ! parse.o: /gnu/include/sys/stat.h /gnu/include/unistd.h
  9074. ! parse.o: /gnu/include/sys/time.h /gnu/include/sys/time.h
  9075.   parse.o: /local/include/X11/IntrinsicP.h /local/include/X11/Intrinsic.h
  9076.   parse.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  9077. ! parse.o: /local/include/X11/Xfuncproto.h /gnu/include/stddef.h
  9078.   parse.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  9079.   parse.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  9080.   parse.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  9081.   parse.o: /local/include/X11/RectObj.h /local/include/X11/CoreP.h
  9082.   parse.o: /local/include/X11/CompositeP.h /local/include/X11/ConstrainP.h
  9083.   parse.o: /local/include/X11/ObjectP.h /local/include/X11/RectObjP.h
  9084. ! parse.o: /local/include/X11/StringDefs.h /gnu/include/stdio.h
  9085. ! parse.o: /gnu/include/ctype.h DviP.h Dvi.h DviChar.h device.h
  9086. ! XFontName.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  9087. ! XFontName.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9088.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9089. ! XFontName.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  9090. ! XFontName.o: /local/include/X11/Xos.h /gnu/include/string.h
  9091. ! XFontName.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9092. ! XFontName.o: /gnu/include/sys/stat.h /gnu/include/unistd.h
  9093. ! XFontName.o: /gnu/include/sys/time.h /gnu/include/sys/time.h XFontName.h
  9094. ! XFontName.o: /gnu/include/ctype.h
  9095.   DviChar.o: DviChar.h
  9096. ! device.o: /gnu/include/stdio.h /gnu/include/ctype.h /local/include/X11/Xos.h
  9097. ! device.o: /local/include/X11/Xosdefs.h /gnu/include/sys/types.h
  9098. ! device.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9099. ! device.o: /gnu/include/string.h /gnu/include/fcntl.h
  9100. ! device.o: /gnu/include/sys/fcntlcom.h /gnu/include/sys/stat.h
  9101. ! device.o: /gnu/include/unistd.h /gnu/include/sys/time.h
  9102. ! device.o: /gnu/include/sys/time.h /local/include/X11/Intrinsic.h
  9103.   device.o: /local/include/X11/Xlib.h /local/include/X11/X.h
  9104. ! device.o: /local/include/X11/Xfuncproto.h /gnu/include/stddef.h
  9105.   device.o: /local/include/X11/Xutil.h /local/include/X11/Xresource.h
  9106.   device.o: /local/include/X11/Core.h /local/include/X11/Composite.h
  9107.   device.o: /local/include/X11/Constraint.h /local/include/X11/Object.h
  9108.   device.o: /local/include/X11/RectObj.h device.h
  9109. ! xtotroff.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  9110. ! xtotroff.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9111.   xtotroff.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9112. ! xtotroff.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  9113. ! xtotroff.o: /gnu/include/stdio.h /gnu/include/ctype.h XFontName.h DviChar.h
  9114. ! xtotroff.o: /gnu/include/stdlib.h
  9115. ! XFontName.o: /local/include/X11/Xlib.h /gnu/include/sys/types.h
  9116. ! XFontName.o: /gnu/include/sys/stdtypes.h /gnu/include/sys/sysmacros.h
  9117.   XFontName.o: /local/include/X11/X.h /local/include/X11/Xfuncproto.h
  9118. ! XFontName.o: /local/include/X11/Xosdefs.h /gnu/include/stddef.h
  9119. ! XFontName.o: /local/include/X11/Xos.h /gnu/include/string.h
  9120. ! XFontName.o: /gnu/include/fcntl.h /gnu/include/sys/fcntlcom.h
  9121. ! XFontName.o: /gnu/include/sys/stat.h /gnu/include/unistd.h
  9122. ! XFontName.o: /gnu/include/sys/time.h /gnu/include/sys/time.h XFontName.h
  9123. ! XFontName.o: /gnu/include/ctype.h
  9124.   DviChar.o: DviChar.h
  9125. diff -rc --new-file groff-1.09/xditview/device.c /gnu/src/amiga/groff-1.09/xditview/device.c
  9126. *** groff-1.09/xditview/device.c    Thu May 27 19:30:56 1993
  9127. --- /gnu/src/amiga/groff-1.09/xditview/device.c    Mon Feb 21 16:34:01 1994
  9128. ***************
  9129. *** 9,15 ****
  9130.   #include "device.h"
  9131.   
  9132.   #ifndef FONTPATH
  9133. ! #define FONTPATH "/usr/local/lib/groff/font:/usr/local/lib/font:/usr/lib/font"
  9134.   #endif
  9135.   
  9136.   #ifndef isascii
  9137. --- 9,15 ----
  9138.   #include "device.h"
  9139.   
  9140.   #ifndef FONTPATH
  9141. ! #define FONTPATH "/gnu/lib/groff/font:/gnu/lib/font:/local/lib/font:/local/lib/groff/font"
  9142.   #endif
  9143.   
  9144.   #ifndef isascii
  9145.