Mon Sep 4 19:27:49 2006 Ken Pizzini * configure.in: re-factor how version numbers are handled; add errno.h and strtol() checks; add doc-texi-ver.incl output * bc/bcdefs.h: Prefer over * 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/texi-ver.incl.in, doc/Makefile.am: make version text in texinfo-based documentation auto-derive from configure.in * configure.in: 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/Makefile.am: 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/Makefile.am: 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 argument + 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, configure.in: 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) * configure.in: 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 * configure.in: 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 * configure.in: 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 (http://www.splint.org/) 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. * configure.in: 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 appropriate 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 (http://bur.st/~benc/) for the bug report. Wed Dec 31 07:26:00 2003 Phil Nelson * Makefile.am: add depcomp * {bc,dc,lib}/Makefile.am: 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 defaults 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 * Makefile.am, */Makefile.am, configure.in: 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 function. 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/Makefile.am, dc/Makefile.am, lib/Makefile.am: 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 kwzh@gnu.org (Karl Heuer). Tue Aug 29 23:03:30 PDT 2000 Phil Nelson * lib/testmul.c: #ifdef out a declaration matching #ifdef out code. 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 to quiet warnings. * configure.in: make --with-readline and --with-libedit work correctly. * Makefile.am: 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/Makefile.am: Add scan.c to maintainer-clean target. * acconfig.h configure.in stamp-h.in bc/Makefile.am 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}/Makefile.am: Add Makefile.in to maintainer-clean. * bootstrap.sh: Added script to run the auto* tools. * Imported all into CVS tree. Sun 2000-05-07 Phil Nelson * bc/Makefile.am, dc/Makefile.am, lib/Makefile.am: 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. * Makfile.am: 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. * configure.in, 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/Makefile.am: Only generate a timed version of number.o if requested. * 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 bug-bc@gnu.org 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/Makefile.am, lib/testmul.c, lib/number.c, Makefile.am: 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/Makefile.am: 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/Makefile.am: 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 * configure.in: 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/configure.in: Tweeking of AM_PROG_LEX and associated special case goo for solaris. Sat Mar 28 21:43:18 1998 Phil Nelson * bc/Makefile.am: 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 needed. * 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, configure.in: 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 comment. * 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/Makefile.am: Added DISTCLEANFILES for proper clean up. Sat Apr 19 22:08:05 1997 Phil Nelson * dc/Makefile.am: 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 storage. Fri Apr 18 13:58:56 1997 Phil Nelson * configure.in: 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. * configure.in: 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 * Makefile.am configure.in doc/Makefile.am lib/Makefile.am bc/Makefile.am bc/bc.y dc/Makefile.am: 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 * Makefile.am: Removed FIXME stuff. Thu Apr 8 13:39:53 1997 Phil Nelson * bc/Makefile.am: Remove files that should not be distributed. Mon Apr 7 17:14:28 1997 Phil Nelson * Makefile.am: 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 notices. * 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/Makefile.am: 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 Makefile.am 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 ; fixed to override without spewing warnings. * Added check for ptrdiff_t to configure.in; 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 configure.in 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) command. 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 * Makefile.in: fbc target, changed $(LEXLIB) => $(LIBS) Wed Jun 28 01:33:07 1995 Phil Nelson * acconfig.h, bc.y, scan.l, storage.c, util.c, configure.in: 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. * Makefile.in: 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, configure.in: 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 updated. 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 * Makefile.in: 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 thing. * 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. * Makefile.in: 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 (phil@cs.wwu.edu) * Makefile.in: added targets uninstall, installdirs and modified other targets to get makes in a directory other than srcdir to work. * configure.in: added shell commands to get configure to work correctly in directories other than srcdir. Wed Nov 2 10:18:19 1994 Phil Nelson (phil@cs.wwu.edu) * 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. * Makefile.in, configure.in, 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 (phil@cs.wwu.edu) * 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. * configure.in: Added support for dc. * Makefile.in: Added support for dc. Added rule to make config.h.in. Sun Aug 7 15:09:19 1994 Phil Nelson (phil@cs.wwu.edu) * configure.in, Makefile.in, acconfig.h: Add support for autoconf. Removed old Makefile. Wed Jul 20 22:46:32 1994 Phil Nelson (phil@cs.wwu.edu) * 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 (phil@cs.wwu.edu) * 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 (phil@cs.wwu.edu) * 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 (phil@cs.wwu.edu) * 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 cs.wwu.edu) * number.c: Fixed output of negative numbers in bases other than base 10. Wed Apr 21 11:56:31 1993 Phil Nelson (phil at cs.wwu.edu) * bc.1: Changed Steve Sommars e-mail address. Wed Apr 14 12:13:39 1993 Phil Nelson (phil at cs.wwu.edu) * sbc.y: removed leading , on first line. Wed Mar 31 16:12:39 1993 Phil Nelson (phil at cs.wwu.edu) * bc.1: Updated segment number for function bodies. Thu Mar 11 15:34:34 1993 Phil Nelson (phil at cs.wwu.edu) * Makefile: added version.h to bc.o's dependency list. Mon Mar 1 14:00:46 1993 Phil Nelson (phil at cs.wwu.edu) * util.c: (nextarg) changed parameter "val" to be an int. Tue Feb 16 10:06:45 1993 Phil Nelson (phil at cs.wwu.edu) * 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 cs.wwu.edu) * Makefile: Added LEXLIB definitions for use with lex. Thu Oct 22 13:43:16 1992 Phil Nelson (phil at cs.wwu.edu) * 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 cs.wwu.edu) * global.h: Fixed documentation. Tue Sep 29 15:27:50 1992 Phil Nelson (phil at cs.wwu.edu) * 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 cs.wwu.edu) * (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 working. Wed Jul 1 14:35:29 1992 Phil Nelson (phil at cs.wwu.edu) * (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 cs.wwu.edu) * (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 cs.wwu.edu) * (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 cs.wwu.edu) * 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 cs.wwu.edu) * (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 cs.wwu.edu) * (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 cs.wwu.edu) * (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 cs.wwu.edu) * (Makefile) Changed install to install the manual. Wed Jan 8 13:23:42 1992 Phil Nelson (phil at cs.wwu.edu) * 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 cs.wwu.edu) * (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 cs.wwu.edu) * (const.h) Changed BC_BASE_MAX to INT_MAX to allow more bases! Mon Dec 30 21:47:28 1991 Phil Nelson (phil at cs.wwu.edu) * (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 cs.wwu.edu) * 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 cs.wwu.edu) * 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 in configure. Fri Nov 22 15:06:32 1991 Phil Nelson (phil at cs.wwu.edu) * 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 from proto.h. Also made only ANSI C compilers include . * 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 = 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 cs.wwu.edu) * Called current version 1.00. * Submitted GNU bc-1.00 to comp.sources.reviewed