Blob Blame History Raw
Fri Apr  7 15:14:43 PDT 2017  Phil Nelson <>
	* NEWS: update for 1.07.1 and 1.4.1
	* FAQ: add a couple new FAQs.
	* doc/bc.1: change doucumentation of length() and correctly
	  represent newline.
	* doc/bc.texi: change doucumentation of length()

Fri Apr  7 13:43:31 PDT 2017 Ken Pizzini <>
	* bc/ update dc version to 1.4.1;
	  update dc copyright year list

Fri Apr  7 13:14:41 PDT 2017 Phil Nelson <>
	* bc/ Do a different fix for parallel make issues.

Fri Apr  7 00:11:49 PDT 2017 Ken Pizzini <>
	* dc/eval.c, dc/numeric.c: take more care to never pass
	  a sign-extended char to the <ctype.h> isXXX() functions.
	  Thanks to a NetBSD compiler warning for flagging this.

Thu Apr  6 22:47:46 PDT 2017 Phil Nelson <>
	* bc/execute.c: More tweaks to fix for read() problems.
	* bc/ Attempt to fix parallel make problems.

Thu Apr  6 16:39:25 PDT 2017 Phil Nelson <>
	* bc/execute.c: Correct leading space problem caused by last fix.
	* bc/ version to 1.07.1

Thu Apr  6 15:37:22 PDT 2017 Phil Nelson <>
	* bc/execute.c: Correct input_char for base 36 input.
	* doc/bc.1: Update documentation for base 36 input.
	* doc/bc.texi: Update documentation for base 36 input.

Thu Apr  6 14:26:27 PDT 2017 Ken Pizzini <>
	* dc/eval.c: The 'Q' command "fix" of 2016-09-24 was incorrect.
	  It fixed a reported bug, but introduced a regression for other
	  existing (and correct) code.  Let's try this again (sigh).

Thu Apr  6 13:11:15 PDT 2017 Ken Pizzini <>
	* dc/dc.c: bah, nevermind; just re-disovered commit of
	  Oct 26, 2013 where the setvbuf() was rendered unnecessary
	  by introduction of explicit fflush()-es.

Thu Apr  6 13:11:15 PDT 2017 Ken Pizzini <>
	* dc/dc.c: re-instate setvbuf() call that got lost

Mon Jan 16 14:30:00 PDT 2017 Phil Nelson <>
	* Updated copyright to 2017.

Sun Oct 23 16:38:05 PDT 2016 Ken Pizzini <>
	* dc/eval.c: dc_system() already eats up to (and including)
	  a trailing newline, so don't fall-through in dc_evalstr()'s
	  DC_SYSTEM case to DC_COMMENT's skip_past_eol() call,
	  as that would unexpectedly require eating a second newline.
	  Thanks to David José for noticing and reporting the bug.

Thu Oct 20 03:11:43 PDT 2016 Ken Pizzini <>
	* doc/dc.texi: fix some typos.

Mon Oct 17 00:28:50 PDT 2016 2016 Ken Pizzini <>
	* doc/dc.1, doc/dc.texi: document the new default-to-zero
	  of the 'l' command.

Mon Oct 17 00:02:11 PDT 2016 Ken Pizzini <>
	* doc/dc.1, doc/dc.texi: be more careful in specifying how
	  the precision of the result of the "v" (square root)
	  command is determined.
	  Thanks to David José for pointing out that the old text
	  underspecified this.

Sun Oct 16 23:43:05 PDT 2016 Ken Pizzini <>
	* dc/stack.d: return a 0 (zero value; instead of reporting an error)
	  for the "l" command when the named register stack is empty.
	  Thanks to David José for the suggestion.  (This is a useful default
	  value, and make GNU dc more compatable with BSD dc and Bell Labs
	  version 7 dc.)

Wed Sep 28 13:24:50 PDT 2016 Ken Pizzini <>
	* dc/eval.c, doc/dc.1, doc/dc.texi: update copyright dates

Sat Sep 24 16:04:01 PDT 2016 Ken Pizzini <>
	* dc/dc.c, dc/eval.c: yesterday's fix for 'Q' created a
	  new bug for the 'q' command; this fresh (and simpler!)
	  fix does the right thing.  (Thanks again to Paul Rayner.)

Fri Sep 23 22:49:17 PDT 2016 Ken Pizzini <>
	* dc/dc.c: don't prematurely exit from stack-unwinding 'Q'
	* dc/eval.c: ensure that DC_FAIL API value does not
	  collide with any internal dc_status code
	* doc/dc.1, doc/dc.texi: clarify that 'Z' command reports
	  on digits in decimal representation in number (as opposed
	  to ambiguous, perhaps "o"base, digits).
	* (Bugs reported by Paul Rayner; thanks.)

Mon Feb 29 15:56:00 PST 2016 Phil Nelson <>
	*, bc/ update to not include
	libmath.h in distribution.
	* update copyright with 2016

Mon Feb 29 13:06:00 PST 2016 Phil Nelson <>
	* bc/Makefile: Add $(LIBBC) as dependency to fbc so
	libmath.h gets correctly built.  sbc also needed it.

Mon Feb 29 12:05:00 PST 2016 Phil Nelson <>
	* bc/util.c, bc.y: Fix two memory leaks submitted to
	Gentoo by Bruce Dubbs.

Tue Jan 19 22:10:10 PST 2016 Phil Nelson <>
	* bc/{execute.c, load.c, main.c, proto.h, scan.l, storage.c, util.c},
	  lib/number.c: Update copyrights, remove old style function
	declarations, remove _PROTOTYPE macros, update to GPL V3.
	Various other code cleanups.

Mon Jan 11 14:01:32 PST 2016 Ken Pizzini <>
	* doc/dc.texi: fix typo (reported by Avinash Sonawane)

Mon May 11 16:40:31 PDT 2015 Ken Pizzini <>
	* dc/stack.c: catch the case of an empty value on top of
	  a register stack (i.e., the stack entry is first created by
	  an array store on a previously unallocated register)
	  as a normal run-time error, rather than an abort() condition.
	  (Bug reported by Hanno Böck, who found it during fuzz testing.)

Mon Jan 26 22:30:00 PST 2015 Phil Nelson <>
	* bc/execute.c, load.c, scan.l, storage.c:  Extend input
	  base to allow for base 36 with Z being the largest
	  input digit.  Now, ZZZZZ will be the largest 5 digit
	  number given the allowable bases.

Mon Jan 26 21:34:00 PST 2015 Phil Nelson <>
	* various: updated copyright on all GPL licence comments.

Mon Jan 19 00:03:05 PST 2015 Ken Pizzini <>
	* News: brought up-to-date for dc-1.07 release
	* README: bump relase number
	* let the autotools give us as much guidance as they can
	* modernize, based on autotools' -Wall suggestions;
	  update copyright years; GPL version 3; use URL to get copy of GPL,
	  instead of snail-mail address; version bump (for both dc and bc);
	  simplify the libedit/readline/flex cross-check logic
	* dc/eval.c: update copyright years

Thu Nov 27 22:17:17 PST 2014 Ken Pizzini <>
	* dc/eval.c: dc_evalstr() incorrectly used len-1, to omit counting the
	  closing ']', unconditionally, even when string parsing terminated
	  prematurely (end-of-string reached before closing ']' was found).
	  This is wrong in general, and painfully wrong when len==0.
	  (Bug reported by Hanno Böck, who found it during fuzz testing.)

Fri Oct 31 13:50:18 PDT 2014 Ken Pizzini <>
	* dc/eval.c: dc_evalstr() was inappropriately/prematurely returning
	  when the top-of-stack was a number.  (Bug reported by Saito Takaaki.)

Sun Sep  7 15:20:29 PDT 2014 Ken Pizzini <>
	* dc/eval.c: the '!' command was incorrectly interacting with stdin
	  rather than fp (the current input stream) when reading the
	  shell command to be executed.  (Bug reported by Dario Niedermann.)

Sat Oct 26 14:54:37 PDT 2013 Ken Pizzini <>
	* doc/dc.1, doc/dc.texi: Updated copyright dates.

Sat Oct 26 14:54:37 PDT 2013 Ken Pizzini <>
	* doc/dc.1, doc/dc.texi: Documented the "R" (rotate stack) command.

Sat Oct 26 14:39:10 PDT 2013 Ken Pizzini <>
	* dc/dc-proto.h, dc/dc.c, dc/eval.c, dc/misc.c, dc/numeric.c,
	  dc/stack.c, dc/string.c:
	  Explicitly flush output, instead of requesting line buffering,
	  as the user may be emitting a prompt (without a trailing newline)
	  within an inferior process.  Also, clean-up/simplify related code.

Fri Jun 29 13:14:18 PDT 2012 Ken Pizzini <>
	* dc/eval.c dc/stack.c, dc/dc-proto.h:
	  Implement 'R', general stack rotation command

Thu Mar  7 21:55:47 PST 2013 Phil Nelson <>
	*, bc/, dc/, lib/
	  Update automake definitions for newer versions of automake.
	  Tested with version 1.13.1.

Tue Nov  2 11:09:00 2010 Phil Nelson <>
	* bc/{bc.y, execute.c, load.c, main.c, proto.h, scan.l,
	  util.c}:  Add a bc_exit() routine that resets the editline
	  state in one place to exit.  Removed editline state reset
	  in other places.

Sun Mar 21 11:42:16 2010 Ken Pizzini <>
	* dc/eval.c: take a more nuanced approach to handling SIGINT

Thu May 22 17:28:07 2008 Ken Pizzini <>
	* All: update copyright statements and license statements:
	  the code is now released under GPL-3, and documentation
	  under FDL-1.2.
	*,,; h/* lib/* gnulib/* m4/*:
	  import portability code via gnulib-tools
	* bc/bc.y, bc/sbc.y, bc/execute.c, bc/load.c, bc/main.c, bc/proto.h,
	  bc/scan.l, bc/util.c: detect, report (if possible), and exit with
	  error if any I/O errors are encountered
	* doc/dc.texi: clean-up preamble (using more modern texinfo macros)

Mon Sep  4 19:27:49 2006 Ken Pizzini <>
	* re-factor how version numbers are handled; add errno.h
	  and strtol() checks; add doc-texi-ver.incl output
	* bc/bcdefs.h: Prefer <string.h> over <strings.h>
	* bc/execute.c, bc/load.c, bc/main.c, bc/proto.h, bc/scan.l,
	  bc/storage.c, bc/util.c, bc/warranty.c: De-lint some with "const"
	  declarations, "static" declarations, and un-shadowing a few global
	  variables and functions
	* dc/dc.c: add "static" keyword on flush_okay() function declaration,
	  just for good hygene
	* dc/numeric.c: Reworked to avoid breaking C99 type-punning rules

Wed Jun 14 08:21:17 2006 Ken Pizzini <>
	* dc/numeric.c (dc_int2data): rework code so that C99 compilers
	  stop whining about the type punning
	* dc/dc.c (flush_okay): add "static" keyword as a matter of good
	  coding hygene

Sun Jun 11 21:40:37 2006 Ken Pizzini <>
	* doc/bc.1: strip release version information which is not being
	  automatically kept up-to-date
	* doc/dc.1: don't capitalize Dc or DC

Sun Jun 11 09:07:26 2006 Ken Pizzini <>
	* doc/bc.texi, doc/dc.texi, doc/, doc/
	  make version text in texinfo-based documentation auto-derive from
	* update to use more modern automake/autoconf
	  directives; factor out version numbers so that AC_SUBST and
	  AC_OUTPUT kcan be used to create doc/texi-ver.incl
	* doc/ automake does (now) have a mechanism to
	  auto-include declared man pages in the dist tarball, so
	  remove FIXME block

Sun Jun 11 03:04:18 2006 Ken Pizzini <>
	* lib/ testmul, specialnumber, multidigits.h are
	  autogenerated by special request (only), and "make clean" should
	  remove them
	* lib/testmul.c: CLOCKS_PER_SEC is typically a "long" value, so make
	  test_time wide enough to hold it; add missing #include directives
	* lib/number.c: silly warning clean-up:
	  + declare rt_warn() and rt_error() to take a CONST char* first
	  + neither _bc_rec_mul() nor _bc_simp_mul() use the full_scale
	    argument, so remove it in the function definitions and invocations
	  + some C libraries define an index() function; use a different index
	    variable name to avoid gratuitous namespace shadowing

Sun Jun  4 13:56:58 2006 Ken Pizzini <>
	* doc/dc.texi: document new DC_LINE_LENGTH variable; mention
	  traditional dc's handling of P with a numeric input
	* dc/dc.c (flush_okay, main): make code detecting and handling
	  write errors cleaner

Sun Jun  4 12:26:00 2006 Phil Nelson <>
	* bc/main.c: Make sure 3 is the minimum line length.
	* doc/bc.1, doc/bc.texi: Document the BC_LINE_LENGTH of 0 feature.

Sun Jun  4 04:41:28 2006 Ken Pizzini <>
	* dc/dc.c (main): fflush() isn't enough: also check that fclose()
	  does not return an error before exiting with EXIT_SUCCESS

Sun Jun  4 04:15:15 2006 Ken Pizzini <>
	* dc/dc.c, dc/eval.c: detect, report (if possible), and exit with error
	  if any I/O errors are encountered

Sun Jun  4 02:27:41 2006 Ken Pizzini <>
	* bc/main.c, bc/util.c: allow a BC_LINE_LENGTH of zero as a
	  special-case, meaning "don't ever wrap lines"
	* dc/numeric.c, add support for a DC_LINE_LENGTH
	  variable, with a value of zero meaning "don't ever wrap lines"

Fri May  5 18:45:17 2006 Ken Pizzini <>
	* dc/dc.c (try_file): S_ISREG() test was inverted! :-(
	  (how very embarrassing)

	* the "if test" -> "case" conversion in the last commit
	  translated the handling of flex incorrectly; fixed

	* src/scan.l: readline versions 4.2 and up give their own prototype
	  for readline() in readline.h, which conflicts with the one that is
	  in scan.l, so just do without the prototype in scan.l (if someone
	  needs to backport to a very old version of readline, they should be
	  able to handle adding the prototype back in themselves)

	* doc/bc.texi: use of @var{} in @item causes capitalization on output,
	  which is wrong, and furthermore the use of @var{} for e() and j() is
	  also inconsistent with how the other math functions are formatted

Sat Apr 29 05:02:15 2006 Ken Pizzini <>
	* The "true" branch of AC_ARG_WITH needed to
	  be conditionalized on the value of $withval (thanks to Mike
	  Frysinger of Gentoo for pointing this out); prefer using
	  "case" over "if test" in shell string-match conditionals;
	  make use of AC_HELP_STRING; added copyright block; clean
	  out old "dnl"'d directives

Sat Apr 29 04:02:23 2006 Ken Pizzini <>
	* dc/dc.c (try_file): fix typo in S_ISFIFO conditional

	* doc/bc.1, doc/bc.texi, doc/dc.1, doc/dc.texi: make some
	  formatting clean-up (minor)

Wed Apr 26 15:38:32 2006 Ken Pizzini <>
	* dc/dc.c (try_file): rework special-file detection so that
	  friendlier error messages can be given for the most common
	  error of this class (i.e., the "dc directory" typo).

Thu Apr 20 17:45:46 2006 Ken Pizzini <>
	* Newer versions of flex (such as ver. 2.5.33)
	  don't seem to like an argument of "-I8" anymore ("option `I'
	  doesn't allow an argument"), so split that into "-I -8".

Wed Mar 29 05:09:14 2006 Ken Pizzini <>
	* dc/string.c, dc/misc.c, dc/stack.c, dc/dc.c, dc/eval.c, dc/array.c:
	  Make splint ( happier by making all
	  comparisons to 0 and NULL explicit, and adding some explicit casts
	  that aren't strictly necessary.  (But I'm omitting from this commit
	  various splint annotations that just serve to make the code ugly.)

Tue Mar 28 13:36:00 2006 Phil Nelson <>
	* bc/util.c: Move code so size checks are before use.

	* doc/bc.1: Quote .IP argument.

Tue Mar 28 12:09:38 2006 Ken Pizzini <>
	* dc/dc.c (try_file):  Added file type detection to ignore some
	  special files (particularly directories and block files), because
	  several people have asked that a typo for "cd" not fail silently.

	* add detection of fstat() to determine how the
	  above detection should be implemented.

Wed Mar 15 9:50:00 2006 Phil Nelson <>
	* lib/getopt.c:  Added a define to disable/enable
	  gettext support.  May need to be deleted later
	  when gettext is fully supported. 

Mon Mar 13 13:57:00 2006 Phil Nelson <>
	* bc/bc.y: Remove second call to lookup() in a rule.
	  Removes a free'd twice bug.

Sat May 28 05:42:01 2005 Ken Pizzini <>

	* doc/dc.1, doc/dc.texi: add verbage about the need to use
	  upper-case letters for ibase>10 (bug reported by "TJIC").

Fri May 20 ??:??:?? 2005 Ken Pizzini <>
	* lib/getopt.c, lib/getopt1.c: Update to more recent versions.

Fri May 27 09:19:21 2005 Ken Pizzini <>

	* dc/eval.c: abstract out skip_past_eol() function to handle comments

Fri May 27 07:30:52 2005 Ken Pizzini <>

	* dc/numeric.c (dc_numlen), doc/dc.1, dc.texi: correct Z command
	  to match historical meaning

Fri May 27 06:54:19 2005 Ken Pizzini <>

	* dc/eval.c: ignore trailing comments in tail-recursion detection

	* dc/eval.c, doc/dc.texi: finally fix dc to trap interrupts,
	  aborting pending macros but not exiting

Fri May 27 03:37:30 2005 Ken Pizzini <>

	* dc/numeric.c: Address Debian bug #221781: values exceeding
	  a C "long" don't play well with k/i/o/a/Q/:/; commands.
	  Adding a diagnostic, and returning a "more bogus" value than
	  zero, for this situation.

Thu May 26 09:03:57 2005 Ken Pizzini <>

	* dc/eval.c:
	  1) fix tail recursion to also work for 'x' and '?' commands
	  2) fix tail recursion to ignore trailing spaces in the current
	     invocation string when determining if tail recursion is
	  3) remove a couple of misleading and/or meaningless comments
	  4) add documentation for stdin_lookahead, since the code is far
	     from transparent about its purpose and usage
	  5) simplify ibase conditional by rearranging branches

Wed May 25 21:20:08 2005 Ken Pizzini <>

	* dc/array.c dc/dc-proto.h dc/dc-regdef.h dc/dc.c dc/dc.h
	  dc/eval.c dc/numeric.c: whitespace cleanup

Wed May 25 19:48:26 2005 Ken Pizzini <>

	* COPYING COPYING.LIB dc/dc-proto.h dc/dc-regdef.h dc/dc.h
	  dc/array.c dc/dc.c dc/eval.c dc/misc.c dc/numeric.c dc/stack.c
	  dc/string.c doc/dc.1 doc/dc.texi:
	  update FSF address in copyright notices

Wed May 25 19:39:46 2005 Ken Pizzini <>

	* dc/stack.c: If a register is used for an array, its corresponding
	  stack could be auto-created in the DC_UNINITIALIZED state; handle
	  this situation gracefully.  Thanks to Ben Collerson
	  ( for the bug report.

Wed Dec 31 07:26:00 2003 Phil Nelson  <>

	* add depcomp

	* {bc,dc,lib}/ CFLAGS -> AM_CFLAGS, YFLAGS -> AM_YFLAGS

	* bc/*: consistent copyright

Fri May  9 21:52:46 2003 Ken Pizzini <>

	* dc/dc-proto.h dc/dc.c dc/eval.c: add tail-recursion optimization

	* dc/numeric.c: clean up handling of conditional includes/defines;
	  editorial fix to comment; trivial (indentation, mostly) clean-up of
	  out_char() function [gratuitious; commit was accidental and I'm
	  adding this note to a replacement log message]

	* dc/misc.c: fixed spelling and grammatical errors in comment

	* dc/dc-regdef.h: simplify the handling of UCHAR_MAX/DC_REGCOUNT

Thu Apr 17 16:25:35 2003 Phil Nelson  <>

	* bc/{execute.c, proto.h, util.c}: char -> int in a few
	  places dealing with isdigit and getchar(), updated copyright

	* bc/main.c: minor formatting changes, updated copyright

	* bc/libmath.b, doc/{bc.1,bc.texi}: updated copyright

Mon Mar 31 22:19:00 2003  Phil Nelson  <>

	* doc/{bc.1,bc.texi} Fix a couple of typos.
	* bc/main.c: exit value changed when exiting from interrupt.

Tue Mar 4 09:38:00 2003  Phil Nelson  <>

	* bc/libmath.b: Add one level recursion to each function to
	  get ibase set to 10 (decimal) if called with other ibases.

Mon Nov 11 09:15:00 2002  Phil Nelson  <>

	* doc/{bc.1,bc.texi} Fix documentation about array parameters.

Tue Mar 19 11:22:06 2002  Phil Nelson  <>

	* bc/{bc.y,bcdefs.h,scan.l}: Add void functions.
	* doc/{bc.1,bc.texi}:  Document void functions.
	* bc/util.c:  Fix bug in AVL routines.

Wed May 23 08:40:00 2001  Phil Nelson  <>

	*, */, Add gcc specific
	  flags only if using gcc.
	* bc/{bc.y,sbc.y,bcdefs.h,const.h,execute.c,global.[ch],proto.h,
	      main.c,util.c}:  Removal of buffer overflow, new extern
	  and initialization code. New dynamic buffer manipulation.
	* bc/load.c: correct char extraction.
	* bc/storage.c: correct expansion of variables and arrays.

Sun May 13 19:29:43 2001 Ken Pizzini <>

	* dc/array.c: minor optimization: stop scanning array entry indicies
	  if we step beyond the target index

Sun May 13 19:09:31 2001 Ken Pizzini <>

	* dc/dc.c: traditional dc implementations drop into reading stdin
	  after processing command-line files; defer to tradition

Sat Feb 17 22:41:14 2001  Phil Nelson  <>

	* bc/{main.c} Add case 0 for long options that set variables.
	  Correct spelling in usage statement.

Mon Jan 22 18:33:43 2001  Phil Nelson  <>

	* bc/main.c: Make sure signal code doesn't stomp on errno.
	* bc/load.c: Make save_addr in load_code() static since it
	  is now possible to call load_code() multiple times in a single

Fri Jan 19 10:33:13 2001  Phil Nelson  <>

	* bc/{main.c,execute.c}: Don't use stdio calls in signal
	  handlers.  Call write directly and move code.

Wed Jan 10 11:33:51 2001  Phil Nelson  <>

	* lib/getopt.c: Include string.h if available.
	  lib/number.c: (bcmath change) Include string.h if available.

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