ChangeLog   [plain text]

Wed Sep 27 17:19:48 2000  Phil Nelson  <>

	* doc/bc.texi: Added new file. Mainly translated from bc.1
		       by Brian Youmans.
	  doc/bc.1: Minor changes made as part of reviewing bc.texi.

Wed Sep 20 11:45:00 2000  Phil Nelson  <>

	* bc/bc.y:  Added a comment on the meanings of lvals.

Wed Sep 13 11:40:24 2000  Phil Nelson  <>

	* bc/main.c: add --interactive to long options.
	  bc/bc.1: add -i/--interactive to doc.
	  MANY: Update FSF address and Phil's e-mail.
Tue Sep 12 13:58:16 2000  Phil Nelson  <>

	* NEWS: update for recent changes.
	  bc/bc.y: remove required parens around return expression.
	  doc/bc.1: update for recent changes.

Fri Sep  8 10:20:01 2000  Phil Nelson  <>

	* bc/, dc/, lib/
	    Compile with unsigned characters.
	  bc/main.c: Add --help option.
	  bc/scan.l: Print illegal, non-printable characters in octal.

Fri Sep  8 09:36:54 2000  Phil Nelson  <>

	* bc/bc.y: Allow more newlines in function definitions.
	  bc/proto.h: Don't prototype main.

Fri Sep  1 16:09:50 2000  Phil Nelson  <>

	* bc/bc.y: Spelling correction
	  bc/execute.c: Correct expressions for multi-byte names.
	  bc/load.c: Add parens for correct casting.
	  doc/bc.1: Typos.
	  Above fixes pointed out by (Karl Heuer).

Tue Aug 29 23:03:30 PDT 2000 Phil Nelson  <>

	* lib/testmul.c: #ifdef out a declaration matching #ifdef out

Mon Jul 31 07:01:42 2000 Ken Pizzini <>

	* dc/numeric.c: use of the "n" command can cause a number to be printed
	  without a trailing newline, which would cause the column counter to
	  fail to be reset and result in inappropriately wrapped numeric outputs.
	  Fixed by always clearing the column counter before outputting each number.

	* dc/stack.c: if a stack is used without ever using the correspondingly
	  named register, it is perfectly legitimate for the register to be
	  uninitialized; added an "else if" to handle this case without aborting.

	* dc/eval.c: updated the comment explaining the restrictions
	  on the | command to better reflect reality.

	* doc/dc.texi: update the FSF office address in the copyright notice

Thu Jul 13 18:13:00 2000 Phil Nelson  <>

	* README: note --with-libedit configure parameter.

Tue Jun 20 22:52:10 2000  Phil Nelson  <>

	* bc/bcdefs.h: Include <readline/history.h> to quiet warnings. 

	* make --with-readline and --with-libedit work correctly.

	* use $(MAKE) instead of directly calling make.

	* lib/testmul.c: Update to use bc_ on all number.c routines.

Sat Jun 10 22:44:29 2000  Phil Nelson  <>

	* bc/ Add scan.c to maintainer-clean target.

	* acconfig.h bc/ bc/execute.c
	  bc/fix-libmath_h bc/global.c bc/load.c bc/main.c bc/storage.c:
	    Remove long string for libmath.  Clean up for compiler errors.

	* dc/numeric.c: Correct parameter name.

Wed May 10 15:51:16 2000  Phil Nelson  <>

	* {bc,doc,dc,lib}/ Add to maintainer-clean.

	* Added script to run the auto* tools.

	* Imported all into CVS tree.

Sun 2000-05-07  Phil Nelson  <>

	* bc/, dc/, lib/ Add -Wall to CFLAGS.

	* bc/{execute.c,proto.h,storage.c,util.c}, dc/numeric.c: Changes for
	  -Wall and for name changes in lib/number.c.  (Added bc_ to several
	  routine.  Updated copyright notice.)

	* h/number.h, lib/number.c:  Now comes from bcmath library which is  
	  distributed in a different place. 

Wed Mar 29 17:47:34 2000  Phil Nelson  <>

	* bc/{bc.y,bcdefs.h,global.h,main.c,proto.h,scan.l,storage.c}:
	  Added BSD libedit support.  Generic support for both where possible.
	  Fixed bugs in readline support noticed during libedit addition.
	  Works with NetBSD-1.4.1 libedit.
	* doc/bc.1: Documented libedit addition.

Wed Mar 29 10:20:18 2000  Phil Nelson  <>

	* FAQ: Added this file.
	* Added FAQ to distribution

Tue Mar 28 13:52:35 2000  Phil Nelson  <>

	* lib/number.c, h/number.h: Moved definitions so 
	  number.c/number.h is a stand-alone "library".
	  Changed definition of out_num to not reference a global.
	* lib/testmul.c: updated #includes for number.h changes.
	* h/{bcdefs.h,const.h,global.h,proto.h} moved to
	  bc where they really belong.
	* bc/execute.c: Changed calls to out_num for correctness.
	* dc/numeric.c: Changed calls to out_num for correctness,
	  include only number.h now and not all the other junk.
	*, acconfig.h: Start of support for BSD libedit,
	  added --with-pkg for NetBSD /usr/pkg tree.

Tue Mar 28 11:20:00 2000  Phil Nelson  <>

	* Test/{exp.b,fact.b,jn.b,mul.b,raise.b}: Tweeks on the tests
	  run to do more computation and test the recursive multiply.
	* bc/scan.l: Removed a printf('\r') that was unneeded.

Mon Mar 27 14:00:00 2000  Phil Nelson  <>

	* NEWS: Updated for 1.06.
	* lib/number.c, h/number.h: Fixed bugs in recursive multiply.
		Changed these files to be under the LGPL.
	* Tests/jn.b: Added more tests.
	* lib/ Only generate a timed version of number.o if
	* README: Updated with information on how to generate a timed
	        version of number.o.
	* h/version.h: Updated copyright and version number for dc.

Thu Mar 16 14:01:45 2000  Phil Nelson  <>

	* doc/bc.1, doc/dc.1, doc/dc.texi: Changed bug reporting address
	  to to update with what we hope will be reality.

Tue Feb  8 08:54:19 2000  Phil Nelson  <>

	* doc/bc.1, bc/util.c: Removed "multiply digits"
	  limit due to new recursive algorithm that doesn't
	  have those limits.

Tue Feb  8 08:47:05 2000  Phil Nelson  <>

	* lib/, lib/testmul.c, lib/number.c,
	  Finally got a resonable version of the program
	  to test the crossover between non-recursive and
	  recursive multiply algorithms.  Added to distribution
	  and build process.  Does increase build time by 
	  about 10 minutes.

Wed Oct  6 13:28:59 1999  Phil Nelson  <>

	* lib/ Added rules to allow DEFSADD definitions.

Sat Oct  2 19:59:51 1999  Phil Nelson  <>

	* bc/libmath.b: Correctly do the cosine accuracy.

Fri Oct  1 12:41:51 1999  Phil Nelson  <>

	* lib/number.c: Increase accuracy of computing raise.
	  Also turn off use of recursive multiply routines
	  until furthur testing.
	* bc/libmath.b: Increase accuracy of cosine.
	* bc/ Remove -lfl from items to make.

Wed Jul 28 10:29:28 1999  Phil Nelson  <>

	* bc/scan.l:  rl_len from char to int.  (From FreeBSD
	  bug tracking system and Nick Hibma <>)

Tue Jun 22 08:00:28 1999  Phil Nelson  <>

	* lib/number.c: Rewrote bc_multiply to use a faster
	  algorithm.  Old code not removed yet.

Mon Jun 21 03:08:02 1999  Phil Nelson  <>

	* h/version.h: Updated version number to 1.06.
	  bc/bc.y: Corrected bug in for statement, not popping.
	  bc/execute.c: Improved stack dump/instruction tracing.

Tue Jun 15 22:30:42 1999  Phil Nelson  <>

	* Updated bc version to 1.06.

Tue Jun 15 22:27:44 1999  Phil Nelson  <>

	* h/bcdefs.h, h/const.h, bc/execute.c, bc/load.c, bc/storage.c,
	  bc/util.c: Removed segmented function storaged.  Now
	  dynamically expands (by doubling, starting at 1024 bytes)
	  to allow arbitrary sized functions.

Thu Jun 10 22:33:44 1999  Phil Nelson  <>

	* bc/libmath.b: change scaling in computation of j(n,x) so
	  it correctly computes the value.

Wed Jun 10 10:10:10 1998 Release of bc-1.05a.

Fri Apr 17 10:40:59 1998  Phil Nelson  <>

	* bc/main.c: Enable readline only if interactive.

Thu Apr 16 16:49:22 1998  Phil Nelson  <>

	* bc/ Tweeking of AM_PROG_LEX and associated 
	  special case goo for solaris.

Sat Mar 28 21:43:18 1998  Phil Nelson  <>

	* bc/ Added "YFLAGS = -d" to get bc.h to build properly.

Mon Mar  9 12:54:42 PST 1998  Ken Pizzini <>

	* doc/dc.texi, doc/dc.1: correct some documentation bugs.

Sun Mar  8 23:56:24 PST 1998  Ken Pizzini <>

	* dc/numeric.c: eliminate superfluous variable from dc_dump_num();
	  annotate unused parameters in dc_add() and dc_sub().

	* h/version.h: change dc version number to 1.2 for release.

Sun Mar  8 21:13:50 1998  Phil Nelson  <>

	* bc/main.c: Applied patch from Ken Pizzini to force line
	  mode buffering on stdout.

Tue Jan  6 09:15:04 PST 1998  Ken Pizzini <>

	* h/version.h: dc is now up to version 1.1.5.

	* dc/eval.c, dc/numeric.c, doc/dc.texi, doc/dc.1: once again
	  changed the behavior of the 'P' command with a numeric argument
	  to make it more general.  It now dumps out the *whole* number
	  (or rather, the whole of its positive integer portion) as a
	  byte stream.  (For small values this is still the same as 'aP'.)

	* dc/dc-proto.h, dc/dc.h, dc/eval.c, dc/misc.c, dc/numeric.c,
	  dc/stack.c, dc/string.c: Changed most uses of dc_boolean to
	  either dc_discard or dc_newline, and instances of DC_TRUE and
	  DC_FALSE to appropriate instances of DC_TOSS, DC_KEEP, DC_NONL,
	  or DC_WITHNL so that the code self-documents a little better.

Sun Jan  4 15:39:46 PST 1998  Ken Pizzini <>

	* dc/eval.c, doc/dc.texi, doc/dc.1: Changed the functionality
	  of the 'P' command, and added the 'n' command.  Due to
	  a quirk of the implementation of traditional dc, some
	  people have come to expect that the 'P' command on a
	  numeric argument in the range of 1 to 99 should output
	  the corresponding character, despite the fact that this
	  usage can have very weird results for numbers outside
	  that range.  This functionality is why the 'a' command
	  was introduced last March, but people really want it to
	  "just work" without needing to use the 'a' command.
	  Bowing to this demand, the 'P' command now does the
	  equivalent of "aP" if the argument is numeric, and the
	  'n' command has been added to support the previous
	  functionality of the 'P' command.

	* dc/misc.c, dc/eval.c, dc/stack.c, dc/dc-proto.h:
	  Changed prototype for dc_print().  It now additionally
	  takes two flags, newline_p and discard_p, which it
	  passes through to dc_out_num() and dc_out_str() as

	* h/version.h: dc is now up to version 1.1.4.

Sat Sep 27 13:48:53 1997  Ken Pizzini <>

	* h/version.h: dc is now up to version 1.1.3.

	* dc/stack.c, dc/array.c, dc/dc-proto.h, doc/dc.texi, doc/dc.1:
	  It has come to my attention that, though undocumented,
	  traditional dc stacked its arrays in parallel with the
	  stacking of simple registers.  I have now duplicated
	  this functionality.

	* dc/dc.c, line-buffer dc's output if setvbuf()
	  is supported.  This was requested to simplify using dc as
	  an inferior process under emacs.

Fri Sep 26 19:56:15 1997  Ken Pizzini <>

	* dc/dc.c: fixed bug reporting address for --help.

	* doc/dc.1, doc/dc.texi: corrected documentation of the maximum
	  admissible input base.

	* doc/dc.texi: corrected sample code equivalence for the | command.

	* lib/number.c: added a warning for non-zero scale in the base
	  for bc_raisemod().

Fri Sep 26 18:15:31 1997  Ken Pizzini <>

	* dc/eval.c, doc/dc.1, doc/dc.texi: added !=, !<, and !> commands.

	* dc/eval.c: eliminated double-free in 'a' command.

	* dc/dc.c: changed placment of check for filename "-" so that
	 "-f -" will work.

	* h/version.h: updated dc version to 1.1.2.

Thu Sep 18 17:41:10 1997  Ken Pizzini <>

	* dc/eval.c: fixed off-by-one error for Q and q commands.

	* dc/dc.c: added missing f: to third argument of getopt().

	* h/version.h: updated dc version to 1.1.1.

Thu May 22 08:24:08 1997  Phil Nelson  <>

	* lib/number.c(bc_sqrt): Fixed a bug that computed 0 for sqrt
	  of most numbers less than .000001.

Thu May  1 10:41:38 1997  Phil Nelson  <>

	* Test/timetest: change path to bc executable.

Wed Apr 30 12:00:00 1997  Phil Nelson  <>

	* Froze bc-1.04, started new directory for bc-1.05.
	  Fixes to bc-1.04 will be distributed as bc-1.05.

Mon Apr 21 14:57:14 1997  Phil Nelson  <>

	* bc/scan.l: Changed rules for single line comment to work
	  with lex as well as flex.  Also, do not include \n in the

	* doc/bc.1: Clarified the single line comment and that \n
	  is processed outside of the comment.

Sun Apr 20 22:21:30 1997  Phil Nelson  <>

	* bc/scan.l: Added rules for a single line comment starting
	  with the # character.

	* doc/bc.1: Documented the single line comment.

	* bc/ Added DISTCLEANFILES for proper clean up.

Sat Apr 19 22:08:05 1997  Phil Nelson  <>

	* dc/ Removed file from distribution list.

	* h/version.h: Updated dc version to 1.1.

Fri Apr 18 16:43:04 1997  Phil Nelson  <>

	* lib/number.c (bc_add, bc_sub) Added 1 to the length
	  of the memset call to make sure it zeroed all the

Fri Apr 18 13:58:56 1997  Phil Nelson  <>

	* Tweeks to get things right.  Not sure if things
	  changed much.  Still working with autoconf/automake to do
	  the right thing.

Wed Apr 16 16:49:17 1997  Phil Nelson  <>

	* bc/main.c (main): Changed processing of BC_ENV_ARGS.

	* bc/main.c (parse_args): Removed "start" parameter.

Tue Apr 15 13:21:28 1997  Phil Nelson  <>

	* acconfig.h: Included support for PACKAGE and VERSION.

	* More tweeks for automake support.

	* h/number.h: Improve definition of MIN and MAX.

	* doc/bc.1: Changed copyright, tweeked other text, added
	  e-mail address for bugs.

	* doc/dc.1: Added copyright and GPL license information,
	  Changed a few .SH formats.

Fri Apr 11 16:14:42 1997  Phil Nelson  <>

	* doc/ lib/
	  bc/ bc/bc.y dc/ Changes to accomodate
	  automake-1.1n (pre-release version of automake 1.2).

	* bc/bc.y bc/sbc.y: Changes to make sure tokens are numbered the 
	  same in bc/bc.h and bc/sbc.h.

	* bc/scan.l: Changes for automake's naming convention.

	* NEWS: Fixed a typo.

Thu Apr 10 14:42:55 1997  Phil Nelson  <>

	* bc/{execute.c, global.c, libmath.b, load.c, main.c, sbc.y
	  scan.l, storage.c, util.c}:  Changed copyright comment and
	  added 1997 to copyright years.

	* h/{bcdefs.h, const.h, global.h, number.h proto.h, version.h}:
	  Changed copyright comment and added 1997 to copyright years.

	* h/version.h: Changed bc version to 1.04.

	* lib/number.c: Changed copyright comment and added 1997 to 
	  copyright years.

	* lib/vfprintf.c: Noted that this was only for minix.

	* NEWS, README: README is now comp.sources.reviewed readme only.
	  NEWS now lists changes from version to version.

Thu Apr 10 13:41:56 1997  Phil Nelson  <>

	* Removed FIXME stuff.

Thu Apr 8 13:39:53 1997  Phil Nelson  <>

	* bc/ Remove files that should not be distributed. 

Mon Apr  7 17:14:28 1997  Phil Nelson  <>

	* Removed Misc directory from distribution.

Mon Apr  7 16:16:01 1997  Phil Nelson  <>

	* bc/sbc.y: Corrected use of nextarg().

Tue Mar 25 19:32:28 1997  Ken Pizzini  <>

	* dc/eval.c, dc/misc.c, dc/stack.c, dc/string.c,
	  dc/dc.h, dc/dc-proto.h, dc/dc.c, dc/numeric.c,
	  doc/dc.texi: updated years in copyright

	* dc/dc.1: updated last-revision date.

Tue Mar 25 16:35:46 1997  Ken Pizzini  <>

	* lib/number.c: give a run-time warning in bc_raisemod()
	  if the modulus does not appear to be an integer.

	* doc/dc.texi, doc/dc.1: documented a warning against
	  the use of the new | command in conjunction with a
	  non-integral modulus.

Tue Mar 25 15:36:04 1997  Ken Pizzini  <>

	* dc/string.c: dc_out_str() updated to use fwrite()
	  instead of printf(), to allow for the existence of
	  a NUL character in the string.

Tue Mar 25 13:42:51 1997  Ken Pizzini  <>

	* doc/dc.texi, doc/dc.1: added documentation for new | command.

Tue Mar 25 13:19:55 1997  Ken Pizzini  <>

	* dc/dc-proto.h: added prototype for dc_triop().

Tue Mar 25 12:00:38 1997  Ken Pizzini  <>

	* lib/number.c: add bc_modexp() modular-exponentiation function.

	* h/proto.h: add prototypes for bc_modexp() and bc_divmod().

Tue Mar 25 09:07:13 1997  Ken Pizzini  <>

	* doc/dc.texi, doc/dc.1: updated documentation with the
	  new command-line options.

	* doc/dc.texi, doc/dc.1: updated documentation with the
	  new '~', 'r', and 'a' commands.

	* dc/dc.c: added bug reporting information to --version text.

Mon Mar 24 19:37:30 1997  Ken Pizzini  <>

	* lib/number.c: added new "bc_divmod" function.

	* dc/numeric.c: added new "dc_divrem" glue function to bc_divmod.

	* dc/stack.c: added new "dc_binop2" function.

	* dc/dc-proto.h: added new prototypes for dc_divrem() and dc_binop2().

	* dc/eval.c, dc/numeric.c: add new '~' command which
	  returns both the quotient and remainder from division.

Mon Mar 24 18:13:42 1997  Ken Pizzini  <>

	* dc/eval.c: Add new 'r' (reverse top two stack elements) command.

Mon Mar 24 17:47:02 1997  Ken Pizzini  <>

	* dc/misc.c: split out the main() related functions into
	  a seperate dc/dc.c file.

	* dc/ updated to reflect this split.

Sat Mar  1 04:57:54 1997  Ken Pizzini  <>

	* dc/misc.c: added "--file" option.

Sat Mar  1 02:13:06 1997  Ken Pizzini  <>

	* dc/eval.c: fixed bug of an excess increment in
	  dc_evalstr()'s DC_COMMENT case.  (Probably would
	  never show up in practice, but did violate the
	  letter of the C Standard.)

	* renamed dc/number.c to dc/numeric.c, to avoid
	  confusion with lib/number.c.

Thu Feb 27 19:45:45 1997  Ken Pizzini  <>

	* dc/string.c, dc/dc.h: changed implementation of dc_str
	  type from a void * to a type which is only completed
	  in dc/string.c.  No functional change, just prettier code.

Thu Feb 27 18:25:19 1997  Ken Pizzini  <>

	* Cleaned up files.

Thu Feb  6 00:41:02 1997  Ken Pizzini  <>

	* Noticed pre-autoconf vestages (NO_XXX configuration options);
	  fixed to refer to autoconf HAVE_XXX definitions.

	* The definition of BC_XXX values in h/const.h might
	  conflict with values of the same name from <limits.h>;
	  fixed to override without spewing warnings.

	* Added check for ptrdiff_t to; removed
	  special ptrdiff_t definition from dc/string.c .

Wed Feb  5 22:28:37 1997  Ken Pizzini  <>

	* Only compile (guts of) lib/vfprintf.c if system does
	  not have its own version.

Wed Feb  5 22:26:16 1997  Ken Pizzini  <>

	* Changed dc/misc.c source to use standard GNU option
	  parsing routine (instead of special-case code).

	* Added "-e" option to dc.

	* Bumped dc version number to 1.0.4.

Wed Feb  5 22:08:06 1997  Ken Pizzini  <>

	* rearranged source layout (added subdirectory structure);
	  removed "dc-" prefix from dc C source in its new home.

	* merged bc's "version.h" and dc's "dc-version.h" files
	  into h/version.h; patched dc/misc.c to refer to new
	  DC_VERSION macro name.

	* Tweaked in anticipation of using automake.

Wed Jul 24 16:27:20 1996  Phil Nelson  <>

	* number.c (out_num): Move free of t_num to proper place.

Mon Jun  3 00:31:10 1996  Phil Nelson  <>

	* number.c: (bc_sqrt, is_near_zero) Was hanging in an infinite
	  loop on sqrt(.9999).  Rewrote to take difference.  New routine
	  is_near_zero to check for one digit off.

Thu Feb 22 12:14:38 1996  Phil Nelson  <>

	* dc-eval.c (dc_func): Added the 'a' (number to ascii character)

Thu Feb 22 11:55:15 1996  Phil Nelson  <>

	* dc-eval.c: (Changes from Ken) Changes dealing with stdin_lookahead
	  and peekc.

	* dc-misc.c: (Changes from Ken) Changes in option processing.

	* dc-version.c: (Change from Ken) Version is 1.0.2.

Mon Oct  9 15:40:06 1995  Phil Nelson  <>

	* execute.c (execute): Add a pop to 'W' and 'P' codes.  Otherwise,
	  the stack continues to grow.

	* number.c (out_num): Free all bc_nums used.

Thu Jun 29 00:35:57 1995  Phil Nelson  <>

	* bc.1: Added information about long options and use of the
	  readline library.

Wed Jun 28 21:03:45 1995  Phil Nelson  <>

	* scan.l: rl_input: detect EOF.

Wed Jun 28 19:03:51 1995  Phil Nelson  <>

	* fbc target, changed $(LEXLIB) => $(LIBS)

Wed Jun 28 01:33:07 1995  Phil Nelson  <>

	* acconfig.h, bc.y, scan.l, storage.c, util.c,
	  Improved readline support with a new pseudo variable "history" 
	  that controls the number of history lines available.
	  Also removed "optional" history.

Wed Jun 28 01:03:52 1995  Phil Nelson  <>

	* getopt.h, getopt.c, getopt1.c: Imported from glibc-1.09
	  to allow long option processing.

	* main.c (parse_args): Make it use long arguments.

	* global.h: Change option flag variables from "char" to "int"
	  to allow long_arguments easy access to the variables.

	* Add getopt.h, getopt.c, and getopt1.c in the
	  proper places in the Makefile.

Fri Jun 23 12:00:16 1995  Phil Nelson  <>

	* scan.l, main.c (main), acconfig.h,
	  Added support for readline input on stdin.

Thu Jun 22 20:08:57 1995  Phil Nelson  <>

	* bc.1: Change documentation on POSIX array parameter support.

Fri Apr  7 12:29:28 1995  Phil Nelson  <>

	* main.c (parse_args): change "char ch" to "int optch" with
	  related changes.

Thu Mar 23 04:11:00 1995  Phil Nelson  <>

	* bc.1: Update documentation to include new -q
	  option and the environment variables.

Thu Mar 23 03:30:38 1995  Phil Nelson  <>

	* bcdefs.h, global.h, main.c, util.c, bc.y: Reworked
	  argument processing to allow for getting arguments
	  from the environment and the command line.  Added
	  a new mechanism to access file names for opening
	  and for error messages.  Also added a "quiet"
	  option to turn off the welcome banner.

Thu Mar 23 03:12:11 1995  Phil Nelson  <>

	* util.c: Corrected a comment.

Tue Mar 21 13:36:24 1995  Phil Nelson  <>

	* bc.y: Added "opt_newline" to allow more newlines
	  in non-POSIX mode.

Tue Mar 21 09:38:28 1995  Phil Nelson  <>

	* execute.c, main.c, util.c: Add support for user
	  defined line length, "correct POSIX line length",
	  no breaking of strings in std_only mode.  This
	  included adding a new function "out_schar" to
	  util.c.  Also removed "if (interactive)" before
	  all fflushes.

Tue Mar 21 09:12:16 1995  Phil Nelson  <>

	* global.h: Added new variable "line_size". Cleaned up
	  some definitions by adding comments.

Mon Mar 20 23:33:01 1995  Phil Nelson  <>

	* proto.h: Define getopt only if no unistd.h file.

Mon Mar 20 23:23:34 1995  Phil Nelson  <>

	* number.c, proto.h, execute.c, storage.c, dc-number.c:
	  Changes to bc_add and bc_sub parameters to allow for
	  different scale results than were possible.  This is
	  for correct implementation of modulo.  All calls were

Mon Mar 20 19:26:06 1995  Phil Nelson  <>

	* sbc.y: Removed second parameter on calls to arg_str to match
	  real function.

Tue Feb 28 14:30:18 1995  Phil Nelson  <>

	* Change realclean to maintainer-clean.  Added warning. 

Mon Feb 27 17:08:24 1995  Phil Nelson  <>

	* number.c: Change output to conform with POSIX standard for zero
	  only when the -s flag is given.  Otherwise it does the tradational

	* dc-misc.c: Add the "std_only" flag, always set to zero.  This is
	  needed due to the above change.

Tue Nov 29 15:18:20 1994  Phil Nelson  <>

	* bc.1: Remove the "then" keyword in the if statement documentation.

Mon Nov 28 16:50:25 1994  Phil Nelson  <>

	* bc.1: Fixed a font change error.

	* Added missing \ in two targets.

Tue Nov 22 11:09:08 1994  Phil Nelson  <>

	* bc.1: clarified ibase and math routines.

Thu Nov  3 14:09:31 1994  Phil Nelson  (

	* added targets uninstall, installdirs and modified
	  other targets to get makes in a directory other than srcdir to

	* added shell commands to get configure to work
	  correctly in directories other than srcdir.

Wed Nov  2 10:18:19 1994  Phil Nelson  (

	* bc.1 bc.y bcdefs.h const.h execute.c global.c global.h load.c
	  main.c number.c number.h proto.h sbc.y scan.l storage.c util.c:
	  updated copyright to 1994.

	* version.h: updated version number and copyright date.

	*,, Install: updated for use with 
	  autoconf-2.0 and install-sh.  Changed target install a bit.

	* install-sh: Included this file from the autoconf-2.0
	  distribution to have configure run without errors.

	* README: updated to version 1.03.

Mon Oct 31 10:26:28 1994  Phil Nelson  (
	* Added Ken Pizzini's dc implementation that uses bc numeric
	  routines.  The following files have been added:
	  dc-Concerns   dc-array.c   dc-eval.c   dc-misc.c    dc-number.c 
	  dc-proto.h    dc-regdef.h  dc-stack.c  dc-string.c  dc-version.h
	  dc.1          dc.h         dc.texinfo

	* dc-array.c: Added a conditional include of stdlib.h to get
	  size_t defined on my SunOS 4.1.3 system.

	* Added support for dc.

	* Added support for dc.  Added rule to make

Sun Aug  7 15:09:19 1994  Phil Nelson  (

	*,, acconfig.h: Add support for autoconf.
	  Removed old Makefile.

Wed Jul 20 22:46:32 1994  Phil Nelson  (

	* bc.y: change definition of next_label in function definition.
	  Previous value of 0 caused break to not work.  It is now 1.

Fri Apr  8 14:16:37 1994  Phil Nelson  (

	* Makefile: Change the distribution to include libmath.h.dist
	  which is a copy of libmath.h that has the compiled libmath.b.

Sun Feb 13 01:08:14 1994  Phil Nelson  (

	* execute.c: Change the string quote characters to be more like
	  C.  \a => alert (bell) \b => backspace and added \q => ".

	* bc.1: Updated information on above changes.

Wed Oct 27 23:34:40 1993  Phil Nelson  (

	* Makefile: Changed compress to gzip.  Changed the
	  comment and definition of the DOT_IS_LAST compile option.

	* scan.l: Changed DOT_IS_LAST to NO_DOT_LAST and changed
	  the test so "." is the last variable is standard.

Wed May 19 15:15:12 1993  Phil Nelson  (phil at

	* number.c: Fixed output of negative numbers in bases other than
	  base 10.

Wed Apr 21 11:56:31 1993  Phil Nelson  (phil at

	* bc.1: Changed Steve Sommars e-mail address.

Wed Apr 14 12:13:39 1993  Phil Nelson  (phil at

	* sbc.y: removed leading , on first line.

Wed Mar 31 16:12:39 1993  Phil Nelson  (phil at

	* bc.1: Updated segment number for function bodies.

Thu Mar 11 15:34:34 1993  Phil Nelson  (phil at

	* Makefile: added version.h to bc.o's dependency list.

Mon Mar  1 14:00:46 1993  Phil Nelson  (phil at

	* util.c: (nextarg) changed parameter "val" to be an int.

Tue Feb 16 10:06:45 1993  Phil Nelson  (phil at

	* util.c: (call_str, arg_str) added a function call_str that
	  correctly produces the string of argmuent types for a function
	  call.  arg_str produced them in the reverse order.  This
	  eliminated the need for the "comma" argument to arg_str, which
	  was removed.

	* bc.y: changed the calls to arg_str to have only one parameter
	  in the function definition rule and replaced the call to arg_str
	  with call_str in the function call rule.

Tue Nov 24 17:38:40 1992  Phil Nelson  (phil at

	* Makefile: Added LEXLIB definitions for use with lex.

Thu Oct 22 13:43:16 1992  Phil Nelson  (phil at

	* number.c (bc_raise): Rearranged and added code to speed up
	  the computation by not doing unneeded multiplications.

Wed Sep 30 10:43:52 1992  Phil Nelson  (phil at

	* global.h: Fixed documentation.

Tue Sep 29 15:27:50 1992  Phil Nelson  (phil at

	* storage.c (process_params): Changed processing of more arguments
	  than in a function definition to just a return.  

	* Makefile: Made changes to make it more in conformance with the
	  GNU coding standards.

Tue Jul  7 21:09:07 1992  Phil Nelson  (phil at

	* (const.h, bc.y, util.c) Added code so that when the math
	  library is loaded, redefinition of any math library function
	  will not cause the other functions to quit working correctly.
	  Before this change, redefining a(x) would cause s(x) and c(x)
	  to quit working and redefining s(x) would cause c(x) to quit

Wed Jul  1 14:35:29 1992  Phil Nelson  (phil at

	* (libmath.b) Changed the calculation of scale for computing
	  e(x) and l(x).  This provides a little more accuracy in the
	  last digit at the expense of a little speed.

	* (Test/checklib.b) Changed tests to be parameterized and test
	  more values.

Thu Jun 25 09:22:59 1992  Phil Nelson  (phil at

	* (configure) changed the script from looking in the
	  include directory for a .h file to asking cc (gcc) to
	  find the .h file.  This will allow better detection
	  of include files available to the C compiler.

Wed Jun 24 22:11:37 1992  Phil Nelson  (phil at

	* (bc.y) Added a warning for the "last" variable.

	* (scan.l) Added code to allow for a single dot (.) to be the
	  same as the variable "last".  This is not a "standard" feature,
	  but is provided for those who want it.

	* (Install) Documented the new define for dot (.).

	* (bc.1) Documented the use of dot (.) for "last".

	* (Makefile) Added an easy method for adding extra defines for
	  use during the compile.  Set DOT_IS_LAST as a standard
	  extra define.

	* (number.c) Changed the code for sqrt for better speed.

Mon Jun 22 21:47:05 1992  Phil Nelson  (phil at

	* Changed the name of math.h to libmath.h to avoid conflict
	  with /usr/include/math.h.  Changed all references to math.h
	  to libmath.h in all files.

	* (configure) Changed the test for long strings accepted by
	  cc to not include libmath.h and thus not need to distribute
	  a file that is generated by the system.

	* (Makefile) Changed PREFIX, BINDIR, LIBDIR, and MANDIR to
	  lower case.

Tue Mar  3 10:16:07 1992  Phil Nelson  (phil at

	* (main.c) Added missing } at line 140.

	* (version.h) Changed date of version 1.02 to March 3, 1992.

Mon Feb  3 16:07:57 1992  Phil Nelson  (phil at

	* (version.h) Updated version number and date.

	* (bc.1) Added a new "VERSION" section.

Wed Jan 29 14:13:55 1992  Phil Nelson  (phil at

	* (execute.c) Removed the setjmp and longjmp calls that may have
	  caused some problems with interrupted programs.

Thu Jan 16 17:08:16 1992  Phil Nelson  (phil at

	* (Makefile) Changed install to install the manual.

Wed Jan  8 13:23:42 1992  Phil Nelson  (phil at

	* Change all copyright notices to include 1992.
	* (load.c) Added termination to "load_code" to ignore code
	  after an error has been found.

	* (scan.l) Changed the check for NUL characters in STRING tokens
	  (before the close quote) to work correctly.  Also added code to
	  report illegal characters in a more readable output format.

	* (bc.1) Added the exclusion of NUL characters from strings in
	  the "differences" section and updated date of last change.

	* (const.h) Changed BC_MAX_SEGS to 16.

Mon Jan  6 14:20:02 1992  Phil Nelson  (phil at

	* (number.c) Changed the out_num routine to use a correct field
	  size for bases greater than 16.  e.g.  For base 1000, each
	  "digit" is a three digit number.

	* (Makefile) Added the "8" flag to get an 8 bit scanner.

	* (scan.l) Changed "char *" to "unsigned char *" to match the
	  declaration of yytext for the 8 bit scanner.  Also added code
	  to detect the null character in strings and generate an error.

Sat Jan  4 20:32:20 1992  Phil Nelson  (phil at

	* (const.h) Changed BC_BASE_MAX to INT_MAX to allow more bases!

Mon Dec 30 21:47:28 1991  Phil Nelson  (phil at

	* (main.c) Fixed the bug that loaded the math library before
	  every file.

	* (bc.y) Removed some type declarations that duplicated token
	  definitions so it could be run through bison.

	* (load.c) Added a check for maximum code size.

	* (Makefile) Added a prefix for LIBDIR and BINDIR so it can be
	  changed easily.

Mon Nov 25 13:11:17 1991  Phil Nelson  (phil at

	* Changed version number in version.h to 1.01 with current date.

	* Changed LIBFILE definition in Makefile.

	* Added a recursive function example to bc.1.

Sun Nov 24 21:24:01 1991  Phil Nelson  (phil at

	* Changed the Makefile to make sure configure is run first.
	  Added the $(CC) the configure call.  Moved some defines
	  toward the front of the Makefile to make sure they are
	  read by installers.  Also added SUBDIRS variable and updated
	  the GNU distribution to include the subdirectories.  Included
	  math.h in the distribution for use by configure.  Included
	  ChangeLog in the distribution.

	* Split the README into README and Install.  Changed Install
	  to have current information.  Documented the STRINGS_H define.
	  Updated the version number in README.

	* Added a check for <strings.h> in configure.

Fri Nov 22 15:06:32 1991  Phil Nelson  (phil at

	* Changed configure to check for varargs.h first.  Also, added
	  checks to see if long strings (math.h) are accepted by the
	  C compiler.  Also added parameters to configure.

	* Deleted #include <sys/types.h> from proto.h.  Also made only
	  ANSI C compilers include <stdlib.h>.

	* Changed the Makefile to have the install bin directory be
	  /usr/local/bin and the install lib directory be /usr/local/lib.

	* Changed some files in the Test directory to eliminate the
	  <op>= form that some older bcs don't like.

	* Made some small corrections in bc.1.

Tue Oct 29 10:06:32 1991  Phil Nelson  (phil at

	* Called current version 1.00.

	* Submitted GNU bc-1.00 to comp.sources.reviewed