*** bc.1~0	Wed Nov  2 20:45:28 1994
--- bc.1	Mon Feb 17 19:17:56 1997
***************
*** 429,435 ****
  mismatch in number or types of parameters will cause a runtime error.
  A runtime error will also occur for the call to an undefined function.
  .PP
! The \fIauto_list\f is an optional list of variables that are for
  "local" use.  The syntax of the auto list (if present) is "\fBauto
  \fIname\fR, ... ;".  (The semicolon is optional.)  Each \fIname\fR is
  the name of an auto variable.  Arrays may be specified by using the
--- 429,435 ----
  mismatch in number or types of parameters will cause a runtime error.
  A runtime error will also occur for the call to an undefined function.
  .PP
! The \fIauto_list\fR is an optional list of variables that are for
  "local" use.  The syntax of the auto list (if present) is "\fBauto
  \fIname\fR, ... ;".  (The semicolon is optional.)  Each \fIname\fR is
  the name of an auto variable.  Arrays may be specified by using the
***************
*** 483,489 ****
  In /bin/sh,  the following will assign the value of "pi" to the shell
  variable \fBpi\fR.
  .RS
! \f(CW
  pi=$(echo "scale=10; 4*a(1)" | bc -l)
  \fR
  .RE
--- 483,489 ----
  In /bin/sh,  the following will assign the value of "pi" to the shell
  variable \fBpi\fR.
  .RS
! \fI
  pi=$(echo "scale=10; 4*a(1)" | bc -l)
  \fR
  .RE
***************
*** 492,498 ****
  math library.  This function is written in POSIX \fBbc\fR.
  .nf
  .RS
! \f(CW
  scale = 20
  
  /* Uses the fact that e^x = (e^(x/2))^2
--- 492,498 ----
  math library.  This function is written in POSIX \fBbc\fR.
  .nf
  .RS
! \fI
  scale = 20
  
  /* Uses the fact that e^x = (e^(x/2))^2
***************
*** 543,549 ****
  without having to retype it at every use.
  .nf
  .RS
! \f(CW
  scale=2
  print "\enCheck book program!\en"
  print "  Remember, deposits are negative transactions.\en"
--- 543,549 ----
  without having to retype it at every use.
  .nf
  .RS
! \fI
  scale=2
  print "\enCheck book program!\en"
  print "  Remember, deposits are negative transactions.\en"
***************
*** 567,573 ****
  The following is the definition of the recursive factorial function.
  .nf
  .RS
! \f(CW
  define f (x) {
    if (x <= 1) return (1);
    return (f(x-1) * x);
--- 567,573 ----
  The following is the definition of the recursive factorial function.
  .nf
  .RS
! \fI
  define f (x) {
    if (x <= 1) return (1);
    return (f(x-1) * x);
***************
*** 593,599 ****
  extensions, where a feature is extended to add more functionality and
  additions, where new features are added. 
  The following is the list of differences and extensions.
! .IP LANG environment
  This version does not conform to the POSIX standard in the processing
  of the LANG environment variable and all environment variables starting
  with LC_.
--- 593,599 ----
  extensions, where a feature is extended to add more functionality and
  additions, where new features are added. 
  The following is the list of differences and extensions.
! .IP environment
  This version does not conform to the POSIX standard in the processing
  of the LANG environment variable and all environment variables starting
  with LC_.
*** proto.h~0	Wed Nov  2 20:45:50 1994
--- proto.h	Mon Feb 17 17:21:22 1997
*************** _PROTOTYPE(int yyparse, (void));
*** 162,166 ****
--- 162,170 ----
  _PROTOTYPE(int yylex, (void)); 
  
  /* Other things... */
+ #ifdef __DJGPP__
+ _PROTOTYPE (int getopt, (int, char * CONST [], CONST char *));
+ #else
  _PROTOTYPE (int getopt, (int, char *[], CONST char *));
+ #endif
  
*** scan.l~0	Wed Nov  2 20:46:06 1994
--- scan.l	Mon Feb 17 17:24:32 1997
***************
*** 28,34 ****
--- 28,38 ----
  *************************************************************************/
  
  #include "bcdefs.h"
+ #ifdef MSDOS
+ #include "y_tab.h"
+ #else
  #include "y.tab.h"
+ #endif
  #include "global.h"
  #include "proto.h"
  
*** scan.c~0	Fri Nov  4 03:02:52 1994
--- scan.c-dist	Mon Feb 17 17:28:38 1997
*************** typedef struct yy_buffer_state *YY_BUFFE
*** 196,202 ****
--- 196,206 ----
  *************************************************************************/
  
  #include "bcdefs.h"
+ #ifdef MSDOS
+ #include "y_tab.h"
+ #else
  #include "y.tab.h"
+ #endif
  #include "global.h"
  #include "proto.h"
  
*************** _PROTOTYPE(int yywrap, (void));
*** 222,228 ****
  	    if (errno != EINTR) \
  		YY_FATAL_ERROR( "read() in flex scanner failed" );
  
! # line 60 "scan.l"
  
  /* done after the current pattern has been matched and before the
   * corresponding action - sets up yytext
--- 226,232 ----
  	    if (errno != EINTR) \
  		YY_FATAL_ERROR( "read() in flex scanner failed" );
  
! # line 64 "scan.l"
  
  /* done after the current pattern has been matched and before the
   * corresponding action - sets up yytext
*************** do_action:	/* this label is used only to
*** 598,688 ****
  	    goto yy_find_action;
  
  case 1:
! # line 61 "scan.l"
  return(Define);
  	YY_BREAK
  case 2:
! # line 62 "scan.l"
  return(Break);
  	YY_BREAK
  case 3:
! # line 63 "scan.l"
  return(Quit);
  	YY_BREAK
  case 4:
! # line 64 "scan.l"
  return(Length);
  	YY_BREAK
  case 5:
! # line 65 "scan.l"
  return(Return);
  	YY_BREAK
  case 6:
! # line 66 "scan.l"
  return(For);
  	YY_BREAK
  case 7:
! # line 67 "scan.l"
  return(If);
  	YY_BREAK
  case 8:
! # line 68 "scan.l"
  return(While);
  	YY_BREAK
  case 9:
! # line 69 "scan.l"
  return(Sqrt);
  	YY_BREAK
  case 10:
! # line 70 "scan.l"
  return(Scale);
  	YY_BREAK
  case 11:
! # line 71 "scan.l"
  return(Ibase);
  	YY_BREAK
  case 12:
! # line 72 "scan.l"
  return(Obase);
  	YY_BREAK
  case 13:
! # line 73 "scan.l"
  return(Auto);
  	YY_BREAK
  case 14:
! # line 74 "scan.l"
  return(Else);
  	YY_BREAK
  case 15:
! # line 75 "scan.l"
  return(Read);
  	YY_BREAK
  case 16:
! # line 76 "scan.l"
  return(Halt);
  	YY_BREAK
  case 17:
! # line 77 "scan.l"
  return(Last);
  	YY_BREAK
  case 18:
! # line 78 "scan.l"
  return(Warranty);
  	YY_BREAK
  case 19:
! # line 79 "scan.l"
  return(Continue);
  	YY_BREAK
  case 20:
! # line 80 "scan.l"
  return(Print);
  	YY_BREAK
  case 21:
! # line 81 "scan.l"
  return(Limits);
  	YY_BREAK
  case 22:
! # line 82 "scan.l"
  {
  #ifdef DOT_IS_LAST
         return(Last);
--- 602,692 ----
  	    goto yy_find_action;
  
  case 1:
! # line 65 "scan.l"
  return(Define);
  	YY_BREAK
  case 2:
! # line 66 "scan.l"
  return(Break);
  	YY_BREAK
  case 3:
! # line 67 "scan.l"
  return(Quit);
  	YY_BREAK
  case 4:
! # line 68 "scan.l"
  return(Length);
  	YY_BREAK
  case 5:
! # line 69 "scan.l"
  return(Return);
  	YY_BREAK
  case 6:
! # line 70 "scan.l"
  return(For);
  	YY_BREAK
  case 7:
! # line 71 "scan.l"
  return(If);
  	YY_BREAK
  case 8:
! # line 72 "scan.l"
  return(While);
  	YY_BREAK
  case 9:
! # line 73 "scan.l"
  return(Sqrt);
  	YY_BREAK
  case 10:
! # line 74 "scan.l"
  return(Scale);
  	YY_BREAK
  case 11:
! # line 75 "scan.l"
  return(Ibase);
  	YY_BREAK
  case 12:
! # line 76 "scan.l"
  return(Obase);
  	YY_BREAK
  case 13:
! # line 77 "scan.l"
  return(Auto);
  	YY_BREAK
  case 14:
! # line 78 "scan.l"
  return(Else);
  	YY_BREAK
  case 15:
! # line 79 "scan.l"
  return(Read);
  	YY_BREAK
  case 16:
! # line 80 "scan.l"
  return(Halt);
  	YY_BREAK
  case 17:
! # line 81 "scan.l"
  return(Last);
  	YY_BREAK
  case 18:
! # line 82 "scan.l"
  return(Warranty);
  	YY_BREAK
  case 19:
! # line 83 "scan.l"
  return(Continue);
  	YY_BREAK
  case 20:
! # line 84 "scan.l"
  return(Print);
  	YY_BREAK
  case 21:
! # line 85 "scan.l"
  return(Limits);
  	YY_BREAK
  case 22:
! # line 86 "scan.l"
  {
  #ifdef DOT_IS_LAST
         return(Last);
*************** case 22:
*** 692,723 ****
      }
  	YY_BREAK
  case 23:
! # line 89 "scan.l"
  { yylval.c_value = yytext[0]; 
  					      return((int)yytext[0]); }
  	YY_BREAK
  case 24:
! # line 91 "scan.l"
  { return(AND); }
  	YY_BREAK
  case 25:
! # line 92 "scan.l"
  { return(OR); }
  	YY_BREAK
  case 26:
! # line 93 "scan.l"
  { return(NOT); }
  	YY_BREAK
  case 27:
! # line 94 "scan.l"
  { yylval.c_value = yytext[0]; return(MUL_OP); }
  	YY_BREAK
  case 28:
! # line 95 "scan.l"
  { yylval.c_value = yytext[0]; return(ASSIGN_OP); }
  	YY_BREAK
  case 29:
! # line 96 "scan.l"
  { 
  #ifdef OLD_EQ_OP
  			 char warn_save;
--- 696,727 ----
      }
  	YY_BREAK
  case 23:
! # line 93 "scan.l"
  { yylval.c_value = yytext[0]; 
  					      return((int)yytext[0]); }
  	YY_BREAK
  case 24:
! # line 95 "scan.l"
  { return(AND); }
  	YY_BREAK
  case 25:
! # line 96 "scan.l"
  { return(OR); }
  	YY_BREAK
  case 26:
! # line 97 "scan.l"
  { return(NOT); }
  	YY_BREAK
  case 27:
! # line 98 "scan.l"
  { yylval.c_value = yytext[0]; return(MUL_OP); }
  	YY_BREAK
  case 28:
! # line 99 "scan.l"
  { yylval.c_value = yytext[0]; return(ASSIGN_OP); }
  	YY_BREAK
  case 29:
! # line 100 "scan.l"
  { 
  #ifdef OLD_EQ_OP
  			 char warn_save;
*************** case 29:
*** 734,760 ****
  		       }
  	YY_BREAK
  case 30:
! # line 110 "scan.l"
  { yylval.s_value = strcopyof(yytext); return(REL_OP); }
  	YY_BREAK
  case 31:
! # line 111 "scan.l"
  { yylval.c_value = yytext[0]; return(INCR_DECR); }
  	YY_BREAK
  case 32:
! # line 112 "scan.l"
  { line_no++; return(NEWLINE); }
  	YY_BREAK
  case 33:
! # line 113 "scan.l"
  {  line_no++;  /* ignore a "quoted" newline */ }
  	YY_BREAK
  case 34:
! # line 114 "scan.l"
  { /* ignore spaces and tabs */ }
  	YY_BREAK
  case 35:
! # line 115 "scan.l"
  {
  	int c;
  
--- 738,764 ----
  		       }
  	YY_BREAK
  case 30:
! # line 114 "scan.l"
  { yylval.s_value = strcopyof(yytext); return(REL_OP); }
  	YY_BREAK
  case 31:
! # line 115 "scan.l"
  { yylval.c_value = yytext[0]; return(INCR_DECR); }
  	YY_BREAK
  case 32:
! # line 116 "scan.l"
  { line_no++; return(NEWLINE); }
  	YY_BREAK
  case 33:
! # line 117 "scan.l"
  {  line_no++;  /* ignore a "quoted" newline */ }
  	YY_BREAK
  case 34:
! # line 118 "scan.l"
  { /* ignore spaces and tabs */ }
  	YY_BREAK
  case 35:
! # line 119 "scan.l"
  {
  	int c;
  
*************** case 35:
*** 778,788 ****
        }
  	YY_BREAK
  case 36:
! # line 136 "scan.l"
  { yylval.s_value = strcopyof(yytext); return(NAME); }
  	YY_BREAK
  case 37:
! # line 137 "scan.l"
  {
   	      unsigned char *look;
  	      int count = 0;
--- 782,792 ----
        }
  	YY_BREAK
  case 36:
! # line 140 "scan.l"
  { yylval.s_value = strcopyof(yytext); return(NAME); }
  	YY_BREAK
  case 37:
! # line 141 "scan.l"
  {
   	      unsigned char *look;
  	      int count = 0;
*************** case 37:
*** 797,803 ****
  	    }
  	YY_BREAK
  case 38:
! # line 149 "scan.l"
  {
  	      unsigned char *src, *dst;
  	      int len;
--- 801,807 ----
  	    }
  	YY_BREAK
  case 38:
! # line 153 "scan.l"
  {
  	      unsigned char *src, *dst;
  	      int len;
*************** case 38:
*** 827,833 ****
  	    }
  	YY_BREAK
  case 39:
! # line 176 "scan.l"
  {
  	  if (yytext[0] < ' ')
  	    yyerror ("illegal character: ^%c",yytext[0] + '@');
--- 831,837 ----
  	    }
  	YY_BREAK
  case 39:
! # line 180 "scan.l"
  {
  	  if (yytext[0] < ' ')
  	    yyerror ("illegal character: ^%c",yytext[0] + '@');
*************** case 39:
*** 839,845 ****
  	}
  	YY_BREAK
  case 40:
! # line 185 "scan.l"
  ECHO;
  	YY_BREAK
  case YY_STATE_EOF(INITIAL):
--- 843,849 ----
  	}
  	YY_BREAK
  case 40:
! # line 189 "scan.l"
  ECHO;
  	YY_BREAK
  case YY_STATE_EOF(INITIAL):
*************** FILE *file;
*** 1363,1369 ****
  
      b->yy_eof_status = EOF_NOT_SEEN;
      }
! # line 185 "scan.l"
  
  
  
--- 1367,1373 ----
  
      b->yy_eof_status = EOF_NOT_SEEN;
      }
! # line 189 "scan.l"
  
  
  
*** configure.orig	Fri Nov  4 00:45:26 1994
--- djgpp/configure	Mon Feb 17 16:37:34 1997
***************
*** 411,417 ****
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        ac_cv_prog_CC="gcc"
        break
      fi
--- 411,417 ----
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
!     if test -x $ac_dir/$ac_word; then
        ac_cv_prog_CC="gcc"
        break
      fi
***************
*** 583,589 ****
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        ac_cv_prog_YACC="$ac_prog"
        break
      fi
--- 583,589 ----
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
!     if test -x $ac_dir/$ac_word; then
        ac_cv_prog_YACC="$ac_prog"
        break
      fi
***************
*** 614,620 ****
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        ac_cv_prog_LEX="flex"
        break
      fi
--- 614,620 ----
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
!     if test -x $ac_dir/$ac_word; then
        ac_cv_prog_LEX="flex"
        break
      fi
***************
*** 676,686 ****
  fi
  ac_aux_dir=
  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
!   if test -f $ac_dir/install-sh; then
      ac_aux_dir=$ac_dir
      ac_install_sh="$ac_aux_dir/install-sh -c"
      break
!   elif test -f $ac_dir/install.sh; then
      ac_aux_dir=$ac_dir
      ac_install_sh="$ac_aux_dir/install.sh -c"
      break
--- 676,686 ----
  fi
  ac_aux_dir=
  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
!   if test -x $ac_dir/install-sh; then
      ac_aux_dir=$ac_dir
      ac_install_sh="$ac_aux_dir/install-sh -c"
      break
!   elif test -x $ac_dir/install.sh; then
      ac_aux_dir=$ac_dir
      ac_install_sh="$ac_aux_dir/install.sh -c"
      break
***************
*** 715,721 ****
      *)
        # OSF1 and SCO ODT 3.0 have their own names for install.
        for ac_prog in ginstall installbsd scoinst install; do
!         if test -f $ac_dir/$ac_prog; then
  	  if test $ac_prog = install &&
              grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  	    # AIX install.  It has an incompatible calling convention.
--- 715,721 ----
      *)
        # OSF1 and SCO ODT 3.0 have their own names for install.
        for ac_prog in ginstall installbsd scoinst install; do
!         if test -x $ac_dir/$ac_prog; then
  	  if test $ac_prog = install &&
              grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  	    # AIX install.  It has an incompatible calling convention.
***************
*** 1196,1201 ****
--- 1196,1202 ----
  for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
    # Support "outfile[:infile]", defaulting infile="outfile.in".
    case "$ac_file" in
+   *.in) ac_file_in="${ac_file}-in" ;;
    *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
         ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
    *) ac_file_in="${ac_file}.in" ;;
***************
*** 1269,1274 ****
--- 1270,1276 ----
  for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
    # Support "outfile[:infile]", defaulting infile="outfile.in".
    case "$ac_file" in
+   *.h) ac_file_in="${ac_file}-in" ;;
    *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
         ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
    *) ac_file_in="${ac_file}.in" ;;
*** djgpp/config.b~0	Fri Nov  4 00:45:26 1994
--- djgpp/config.bat	Mon Feb 17 18:46:38 1997
***************
*** 0 ****
--- 1,35 ----
+ @echo off
+ set SYSROOT=c:
+ set PATH_SEPARATOR=:
+ set PATH_EXPAND=y
+ if not "%HOSTNAME%" == "" goto hostdone
+ if "%windir%" == "" goto msdos
+ set OS=MS-Windows
+ goto haveos
+ :msdos
+ set OS=MS-DOS
+ :haveos
+ if not "%USERNAME%" == "" goto haveuname
+ if not "%USER%" == "" goto haveuser
+ echo No USERNAME and no USER found in the environment, using default values
+ set HOSTNAME=Unknown PC
+ :haveuser
+ set HOSTNAME=%USER%'s PC
+ goto userdone
+ :haveuname
+ set HOSTNAME=%USERNAME%'s PC
+ :userdone
+ set HOSTNAME=%HOSTNAME%, %OS%
+ :hostdone
+ set OS=
+ set CONFIG_SHELL=bash.exe
+ if not exist configure.orig mv -f configure configure.orig
+ update djgpp/configure ./configure
+ set CFLAGS=-O2 -g
+ bash ./configure --prefix='$(DJDIR)' --program-prefix=gnu
+ set CFLAGS=
+ echo updating Makefile for DJGPP...
+ mv -f Makefile Makefile.tmp
+ sed -f djgpp/makefile.sed Makefile.tmp > Makefile
+ touch Makefile -r Makefile.tmp
+ rm -f Makefile.tmp
*** djgpp/makefile.s~0	Fri Nov  4 00:45:26 1994
--- djgpp/makefile.sed	Mon Feb 17 17:13:04 1997
***************
*** 0 ****
--- 1,4 ----
+ s%\.dist%-dist%g
+ s%y\.tab\.%y_tab.%g
+ s%config\.h\.in%config.h-in%g
+ s%lex\.yy\.c%lexyy.c%g
