          Version history of the Mathomatic computer algebra system
          ---------------------------------------------------------
             This change log is entirely in chronological order;
               the latest changes are at the end of this file.
                Written and maintained by George Gesslein II.
              This file is at "www.mathomatic.org/changes.txt".
              -------------------------------------------------

Mathomatic version 14.6.3 released Wednesday 11/25/09.

CHANGES MADE TO MATHOMATIC 14.6.3 TO BRING IT UP TO 15.0.0:

Cleanup and more bug fixes.

11/26/09 - Added detection of the terminal's ANSI color availability, when readline is enabled.

11/28/09 - Added detection of divide by zero and NaN when using the "solve verify" command,
           for more correct results.
           Solving now factors out the GCD of rational coefficients, for improved results.
           The fixes today are from errors solving equations like (2*x/(x - 3)) + 3 = 6/(x - 3)

11/29/09 - Disallow the variable named "nan".  NaN cannot be directly entered into Mathomatic.

11/30/09 - Added shell scripts "t" and "tests/t" to easily test Mathomatic by typing "./t".

12/2/09 - The fraction command now factors out the GCD of rational coefficients like the
          solve command does, so that coefficients in algebraic fractions become integers.
          The GCD verifying routine was perfected by making it very strict, like it should be.

Mathomatic version 15.0.0 released Thursday 12/03/09.

CHANGES MADE TO MATHOMATIC 15.0.0 TO BRING IT UP TO THE NEXT VERSION:

12/12/09 - Fixed a problem with the -q (quiet mode) option being ignored if the session options
           were ever saved with the "set save" command.

12/13/09 - Added code to allow Mathomatic output to be redirected by default.
           Fixed the derivative command to be successful even when the result is 0,
           when compiled as a library.

12/14/09 - Added ability to log symbolic math library results, and made command behavior
           more consistent in the library by always returning the final result string.

12/16/09 - The factor command now factors more by factoring out the GCD of rational coefficients.

Mathomatic version 15.0.1 released Thursday 12/17/09.

CHANGES MADE TO MATHOMATIC 15.0.1 TO BRING IT UP TO THE NEXT VERSION:

12/19/09 - The last few versions fix the ugliness caused by the GCD factoring change made on 6/22/09.
           Today's change factors out the numerical GCD of rational coefficients as needed to simplify.
           Most simplification results should be beautiful and the simplest possible again now,
           without the misleading observed magnitude caused by always factoring out the GCD,
           which was why the change of 6/22/09 was made.

Mathomatic version 15.0.2 released Saturday 12/26/09.

CHANGES MADE TO MATHOMATIC 15.0.2 TO BRING IT UP TO THE NEXT VERSION:

12/27/09 - Moved get_screen_size() from main.c to am.c because it is used in the library when
           compile-time options UNIX or CYGWIN are defined.
           Thanks to Cygwin port maintainer Reini Urban for noticing and fixing this problem.
           Defining UNIX or CYGWIN in library mode is not recommended.

12/31/09 - Added code to allow any command to be preceded by "repeat", which sets the
           repeat flag for the following command.  Most commands ignore the repeat flag.

1/1/10 - Ported divide and roots commands to be repeatable.  Also repeatable are the
         calculate and eliminate commands.

1/2/10 - Allow Taylor series computation even if the specified differentiation variable
         is not found in the expression, giving a warning.
         Ported simplify command to be a repeatable full simplify; that is, typing
         "repeat simplify" repeatedly runs the simplify command until the result stabilizes
         to the smallest size expression.

1/7/10 - Thanks to pretty C code submitted by Simon Geard,
         the code and variables commands have been made much more readable.

1/8/10 - Made Mathomatic easier to compile under Solaris, thanks to Michael Pogue of Sun.
         Fixed failure to compile under BSD Unix when compiling with readline support.

Mathomatic version 15.0.3 released Friday 01/08/10.

CHANGES MADE TO MATHOMATIC 15.0.3 TO BRING IT UP TO THE NEXT VERSION:

1/9/10 - Fixed a problem only in the version 15.0.3 makefile, where it didn't respect
         the CC environment variable set by the user, instead it always used "gcc"
         as the C compiler.

Mathomatic version 15.0.4 released Saturday 01/16/10.

CHANGES MADE TO MATHOMATIC 15.0.4 TO BRING IT UP TO THE NEXT VERSION:

1/21/10 - In the makefile, changed the HTML man page generator back to rman because
          groff HTML output looks really bad and rman allows linking to other man pages.
          groff is no longer used.

1/24/10 - Fixed "make m4install", the installed rmath and matho programs weren't working.

1/27/10 - Added GNU LGPL license notices to every C source file with a copyright notice,
          for proper protections.

Mathomatic version 15.0.5 released Wednesday 01/27/10.

CHANGES MADE TO MATHOMATIC 15.0.5 TO BRING IT UP TO THE NEXT VERSION:

1/28/10 - Added a Python utility called "primorial" to the Prime Number Tools install
          that multiplies together the results of matho-primes, displaying the primorials
          of the integers given on the command line.

3/18/10 - Changed author email address to "gesslein@linux.com".

3/23/10 - Catch SIGHUP and SIGTERM signals for proper termination of the Mathomatic program;
          readline was messing up when Mathomatic was terminated by closing the shell window.
          The plot command now always plots expressions with grid marks displayed for reference.

Mathomatic version 15.0.6 released Friday 03/26/10.

CHANGES MADE TO MATHOMATIC 15.0.6 TO BRING IT UP TO THE NEXT VERSION:

Corrections and improvements to the documentation were made.

4/3/10 - Vastly improved the "factor number" user interface, now factors integer expressions like 2^32-1.
         "factor number" is disabled in library mode.

4/13/10 - The real and imaginary commands no longer fail when the expression is not complex,
          just a warning is given.

4/14/10 - Changed normal display of "-1*" to "-", for prettier 2D expression output,
          so things like "-a" display properly, not as "-1*a".

Mathomatic version 15.0.7 released Thursday 04/15/10.

CHANGES MADE TO MATHOMATIC 15.0.7 TO BRING IT UP TO THE NEXT VERSION:

A general cleanup was done.

4/26/10 - Allow "make pdf" to generate PDF documentation from the HTML documentation with htmldoc.
          Please read the comments in the makefile for all available options.

4/29/10 - For every makefile, CFLAGS has been modified to include OPTFLAGS as required by the Fedora Linux
          build system, and OPTFLAGS defaults to the optional gcc specific flags like optimization.

          In the symbolic math library, made available the equation number of the result of calling the API,
          if also stored in an equation space.  The result equation number is stored in the global "result_en".
          Useful if you want to know where the result was stored, to act on it with further commands.

Mathomatic version 15.0.8 released Saturday 05/01/10.

CHANGES MADE TO MATHOMATIC 15.0.8 TO BRING IT UP TO THE NEXT VERSION:

5/10/10 - Added "help constants" command.

5/11/10 - Integer variables are now specified by using a variable name that starts with "integer",
          like "integer1", "integer_x", etc.  Currently only the modulus operator "%" checks
          for integer variables, to help with simplification.

5/12/10 - Corrected the output string type of the symbolic math library API.  It was erroneously declared
          as type "const", possibly causing a memory leak.

5/13/10 - Moved and adapted "makefile.lib" to "lib/makefile", so the symbolic math library build is isolated.
          Previously "make clean" was required between different builds.  All makefiles require GNU make now.

Mathomatic version 15.1.0 released Saturday 05/15/10.

CHANGES MADE TO MATHOMATIC 15.1.0 TO BRING IT UP TO THE NEXT VERSION:

Code and documentation cleanup.

5/21/10 - Added "primes/matho-sum", a utility that sums its command line arguments or standard input.
          Use "matho-primes 0 2000000 | matho-sum" to find the sum of all primes less than 2,000,000.
          Solves Project Euler problem #10: http://projecteuler.net/index.php?section=problems&id=10

5/23/10 - Primes (') are allowed in variable names now, if not using the symbolic math library, so that the
          derivative, integrate, and nintegrate commands can change the dependent variable to y', y'', etc.
          This can be turned on in the symbolic math library by the command "set special_variable_characters='".

          Non-alphanumeric characters in variable names are now converted to underline characters (_)
          when exporting to a programming language or to a different program.

Mathomatic version 15.1.1 released Monday 05/24/10.

CHANGES MADE TO MATHOMATIC 15.1.1 TO BRING IT UP TO THE NEXT VERSION:

A general cleanup was done.
A small improvement was made to the final result of the simplify and fraction commands.
Showing intermediate results in the calculate, sum, and product commands is now done with "set debug 1".

5/28/10 - Added "tests/collatz.in", the Collatz conjecture as an automatically computable equation.

Mathomatic version 15.1.2 released Saturday 06/05/10.

CHANGES MADE TO MATHOMATIC 15.1.2 TO BRING IT UP TO THE NEXT VERSION:

6/6/10 - I made mistakes in the improvement to the simplify command of version 15.1.2,
         the original working simplify logic of version 15.1.1 is now restored, sorry.

Mathomatic version 15.1.3 released Sunday 06/06/10.

CHANGES MADE TO MATHOMATIC 15.1.3 TO BRING IT UP TO THE NEXT VERSION:

All of the Unix man pages and user manuals for Mathomatic were fixed.

The compare and "solve verify" commands now simplify more thoroughly with "repeat simplify"
for better expression equality determination.

6/17/10 - Greatly improved file operation error reporting by using the perror(3) function.

6/18/10 - Fixed categories in "icons/mathomatic.desktop";
          Mathomatic now goes under valid categories, mainly Education.

Mathomatic version 15.1.4 released Sunday 06/20/10.

CHANGES MADE TO MATHOMATIC 15.1.4 TO BRING IT UP TO THE NEXT VERSION:

Many minor tweaks and improvements.

7/03/10 - Makefiles and compile scripts were corrected and enhanced
          per http://www.gnu.org/prep/standards/

7/06/10 - Changed all "#if true" and "#if false" conditional commenting to "#if 1" and "#if 0"
          in the C source code, thanks to Min Sik Kim of NetBSD pkgsrc.

Mathomatic version 15.1.5 released Tuesday 07/20/10.

CHANGES MADE TO MATHOMATIC 15.1.5 TO BRING IT UP TO THE NEXT VERSION:

7/26/10 - Disabled ncurses call for auto-color detection when CYGWIN is defined while
          compiling the source code, due to a reported problem of readline failing with
          ncurses in Cygwin.

7/28/10 - Disabled readline history save file for the Cygwin port,
          because it is a filename that starts with a period.

7/31/10 - Added "set fractions_display" option, to allow disabling the automatic conversion of
          fractions like .5 to 1/2 for display.
          Developer requested and useful in the symbolic math library,
          when numerical fraction output isn't wanted.

8/01/10 - Fixed a memory leak when ignoring the output string in the symbolic math library.

8/04/10 - Preserve overflowed powers like 2^2222 rather than aborting with an error message.
          Allow simplification of math like 2*2^2222 and 2/2^2222.

8/08/10 - matho-primes runs twice as fast with the -ffast-math gcc compilation option,
          which is now enabled by default.  Don't try -ffast-math with the main Mathomatic
          program though, because then Mathomatic won't work properly.

Mathomatic version 15.1.6 released Monday 08/09/10.

CHANGES MADE TO MATHOMATIC 15.1.6 TO BRING IT UP TO THE NEXT VERSION:

Minor improvements were made to the user documentation.

8/22/10 - Removed "Complex number roots approximated" warning message, since this happens often.

          Capitalized E, I, PI, and Pi are now accepted as the universal constants e, i, and pi,
          without needing to enter "set no case".  This allows Mathomatic to easily
          accept Mathematica style expression input.

          m4 Mathomatic now additionally accepts Mathematica style capitalized function input.
          matho and rmath now display elapsed, CPU, and system times in seconds upon exit.

8/23/10 - Fixed #equation-number entry at the main prompt to always work and allow an expression
          or equation following on the same line to be entered at that equation space.
          For example: "#10 y=1/x" will work now;
          previously only worked if equation space number 10 was previously allocated and used.
          The way it works is: all equation spaces up to and including number 10 are allocated,
          if not already allocated, upon entry of "#10".
          Equations spaces are allocated with the memory allocator malloc(3).

Mathomatic version 15.2.0 released Monday 08/23/10.

CHANGES MADE TO MATHOMATIC 15.2.0 TO BRING IT UP TO THE NEXT VERSION:

All makefiles were improved.  Library test/example program is renamed to "testmain".

*Package maintainers* please take note: support for the DESTDIR environment variable was
added to all makefiles in this release; for proper operation when packaging version 15.2.1
or higher, please remove any patches for missing DESTDIR support.
And m4 Mathomatic should work now when included in the Mathomatic package (make m4install).
Thank you for packaging Mathomatic!  If I did anything wrong, please let me know.

8/26/10 - Added the -e option, which processes mathematical expressions and Mathomatic commands
          instead of input files on the shell command line.  For example, entering
          "mathomatic -eq 2+3" gives "answer = 5".  This functionality has been requested
          many times by Mathomatic command line users.
          Another example to try that works is: mathomatic -e y=1/x "solve verify x"

8/30/10 - Improved results of solving for zero.  Results should have reduced integer coefficients,
          by factoring out the GCD of rational coefficients.

8/31/10 - Removed a readline error message that displayed for no reason on some Macs, due to
          improper functioning of readline's write_history() function.
          Readline and history may work better now, due to a change in the initialization order.

Mathomatic version 15.2.1 released Tuesday 08/31/10.

CHANGES MADE TO MATHOMATIC 15.2.1 TO BRING IT UP TO THE NEXT VERSION:

Everything was cleaned up and organized some more.  Output is flushed more often, as needed.

9/12/10 - General cleanup and message improvements for the matho-primes utility.

9/14/10 - Removed "makefile.cygwin", Mathomatic should be compilable under Cygwin with
          "CFLAGS=-DCYGWIN make READLINE=1".

9/27/10 - Added "set plot_prefix" option, which allows custom plot functionality.

Mathomatic version 15.2.2 released Monday 09/27/10.

CHANGES MADE TO MATHOMATIC 15.2.2 TO BRING IT UP TO THE NEXT VERSION:

10/01/10 - Changed -u option to also echo line input, so that m4 Mathomatic is easier to use.

10/02/10 - "make install" now installs the "/usr/share/pixmaps/mathomatic.xpm" X-Windows icon
           from "icons/mathomatic.xpm" for the Mathomatic entry within desktop menu systems.

           "menu/mathomatic" is an improved Debian Menu System file for Mathomatic;
           This Debian menu file is not installed by the makefile and it uses the above
           installed X-Windows icon.

           The repeat command can now be shortened to 4 characters, like any other command.

10/03/10 - Updated "misc/limits.c" to additionally display all C data type sizes in bytes.

10/06/10 - Capitalized E, I, and PI are now no longer parsed as universal constants.
           Entering E, I, or PI will now result in the general variables E, I, and PI,
           unless "set no case" is previously entered.
           This change undoes version 15.2.0 Mathematica compatibility, due to kind user feedback.
           Entering e, i, or pi still gives the universal constants e#, i#, and pi#.

10/08/10 - Removed "set negate_highest_precedence" option.
           This was done for compatibility and so that less parentheses are displayed
           within expressions.  Polynomials should display very nicely now, powers
           like "x^2", "y^3", and "x^y" are not parenthesized unless need be.

10/09/10 - Added "list hexadecimal" command option, which displays expressions
           exactly as stored internally in hexadecimal.  No precision is lost,
           this is because the floating point values are not converted to decimal.

           Error reporting was improved.

Mathomatic version 15.3.0 released Saturday 10/09/10.

CHANGES MADE TO MATHOMATIC 15.3.0 TO BRING IT UP TO THE NEXT VERSION:

A C code cleanup was done and user documentation was improved.

10/09/10 - Improved the help command, allowing multiple help topics on the help
           command line.

10/16/10 - Improved upon "misc/roots.c", the automatic polynomial root finder.

           The Mathomatic makefile now defaults to maximum gcc optimization (-O3).

10/18/10 - Ability to build Mathomatic with cmake file "CMakeLists.txt",
           contributed by Jonathan Stark.

10/19/10 - Increased the maximum number of equation spaces from 100 to 200.
           They do not consume memory unless they are used.

10/21/10 - Solving things like 0=(x+1)^15+x for x exited the solve routine without grace.
           This problem is now fixed for all solve requests that aborted with error.

10/22/10 - When using the symbolic math library, the display command now outputs
           all specified equation spaces in fraction format and returns the last
           equation space listed as a result.
           Before it was just a crippled list command with a little simplification
           that didn't output anything.

Mathomatic version 15.3.1 released Saturday 10/23/10.

CHANGES MADE TO MATHOMATIC 15.3.1 TO BRING IT UP TO THE NEXT VERSION:

10/24/10 - Some fixes were done to the main makefile.
           PDF user manual creation with htmldoc (using "make pdf") was fixed and made safe.

           Added "help options" command which lists invocation options (like -h).

           Entering "nan" now gives a warning, instead of an error,
           so that expressions containing NaN can be read back in without aborting.

10/25/10 - Added "-c count" option to matho-primes, optionally limiting the number
           of lines of primes that are output to "count" lines.

10/26/10 - Removed the -ffast-math gcc compilation option from the Prime Number Tools.
           "matho-primes -p 10" was not working under Mac OS X with -ffast-math optimization.

10/29/10 - Fixed an old, important bug in the Mathomatic solve routine, where solve was
           failing on some easy to solve equations indeterminately, because of
           incorrect infinite loop detection code.  Solving should work perfectly now.
           This problem was discovered today with the input: "a=a+b" "a" "b".

Mathomatic version 15.3.2 released Friday 10/29/10.

CHANGES MADE TO MATHOMATIC 15.3.2 TO BRING IT UP TO THE NEXT VERSION:

A C code cleanup was done, the code was improved and simplified.

11/01/10 - Fixed -e option to be more like entering what follows into the main prompt;
           That is, the autosolve option is left on and errors do not abort.

11/04/10 - "set finance" option now groups output with thousands' grouping characters
           if the locale information indicates any.  For example: 2,000,000.00

11/05/10 - Makefiles fixed.  CFLAGS is now invoked everywhere LDFLAGS and CC are used.

11/07/10 - Respect CPPFLAGS in all makefiles and compile scripts.

Mathomatic version 15.3.3 released Monday 11/08/10.

CHANGES MADE TO MATHOMATIC 15.3.3 TO BRING IT UP TO THE NEXT VERSION:

A C code cleanup was done, the code was further improved and simplified,
and there is better error checking.

11/08/10 - Fixed an error reporting bug in the solve command.
           There was the possibility of spewed space characters with improper input.

11/09/10 - Added code so that solving for 0^2 or variable^2 will properly square both
           sides of an equation.  Solving for variable^2 will isolate the square root of
           the largest expression containing that variable, and then square both sides of
           the equation.  Works for any power and variable with any equation with roots.

Mathomatic version 15.3.4 released Sunday 11/14/10.

CHANGES MADE TO MATHOMATIC 15.3.4 TO BRING IT UP TO THE NEXT VERSION:

A C code cleanup for efficiency was done, and code comments were added and improved.

11/16/10 - Allow %i, %e, and %pi to be parsed.  These are the universal constants
           i, e, and pi in Maxima and Axiom.  % is still the modulus operator.

11/17/10 - Allow ranges on the plot command line.  Also labelled X and Y axis.
           Also allow plotting of multiple, comma separated, expressions at once.

11/23/10 - Beautified all of the makefiles.

11/27/10 - Fixed -e option to work correctly, and to not need additional options.
           The startup messages are now not displayed with this option, so it can be
           properly used for quick command-line calculations.  Should be followed by
           "--" so that expressions can start with a minus sign (-).  Please make the
           following bash alias to easily use this feature: alias e="mathomatic -e --"

11/28/10 - Added Python script "misc/mp".  Conveniently evaluates any numeric expression
           from the shell command line like Mathomatic using the above -e option, but
           this uses the external Python library mpmath, which allows special functions.

Mathomatic version 15.3.5 released Sunday 11/28/10.

CHANGES MADE TO MATHOMATIC 15.3.5 TO BRING IT UP TO THE NEXT VERSION:

Many minor fixes for consistency and helpfulness were made.

12/03/10 - Cleaned up "factor numbers" command for consistency in operation and to
           work as documented.

12/05/10 - Warn when substituting a non-integer expression into an integer variable.

12/06/10 - Added m4/degrees.m4, this can be read into rmath with "rmath degrees.m4"
           to use degree units instead of radians for trig functions.
           "sudo make m4install-degrees" installs degree mode as the default for
           matho and rmath by appending m4/degrees.m4 to m4/functions.m4.

12/08/10 - Allow input of #equation-number as the LHS or RHS of any equation.  It is
           replaced with the expression or RHS at the specified equation-number.
           Note that #equation-number is also the current equation selector, so entering
           it as the LHS at the main prompt will function differently.

12/16/10 - Simplify (integer % 1) and the like to 0.  Generalized to instantly simplify
           to 0 the following: (integer_expression % +/-unit_fraction).

Mathomatic version 15.3.6 released Sunday 12/19/10.

CHANGES MADE TO MATHOMATIC 15.3.6 TO BRING IT UP TO THE NEXT VERSION:

12/20/10 - The license for all documentation is changed from the GNU LGPL version 2.1 to
           the GNU Free Documentation License (GFDL) version 1.3.  The Mathomatic
           software and all else remain licensed under the GNU LGPL version 2.1.

12/24/10 - Fixed the modulus operator (%) to always evaluate to an integer when
           both arguments are integer.
           7921%14 was giving 11.000000000001, now gives exactly 11.

12/26/10 - Equation number ranges for commands may include unallocated equation
           spaces now, allowing entry of any reasonable range.

Mathomatic version 15.3.7 released Sunday 12/26/10.

CHANGES MADE TO MATHOMATIC 15.3.7 TO BRING IT UP TO THE NEXT VERSION:

Code cleanup.

12/28/10 - A possible bug was fixed when entering non-ascii characters.

           Added "compare approximate" command option, use of which is more likely to
           result in a successful comparison.  Runs the approximate command on
           both expressions before comparing, if needed.

1/01/11 - The variables command syntax was upgraded to be the same as the code command.

          All copyright dates updated to include the new year 2011.  Happy New Year!

1/03/11 - Added code to delete identities in the optimize command.  When identical
          equations were optimized, identities would result.  These are now removed.

1/04/11 - Added matho to the mathomatic man page; rmath was already there.

          Fixed incorrect syntax in the menu files in menu directory,
          thanks to Sandro Tosi for reporting the error and packaging for Debian.

          Moved the PDF manual from "doc/manual.pdf" to "manual.pdf", so that it will
          be installed separately from the HTML documentation.

1/06/11 - Added "tests/quartic.in".  At last, a working set of equations for calculating
          the four solutions of any quartic equation, similar to "tests/cubic.in".

1/09/11 - Fixed parser routine to give a helpful error message when a cursor or function key
          string is encountered.  Escape, carriage return, and form-feed are ignored now.

Mathomatic version 15.4.0 released Tuesday 01/11/11.

CHANGES MADE TO MATHOMATIC 15.4.0 TO BRING IT UP TO THE NEXT VERSION:

1/13/11 - Upgraded the plot command towards always giving gnuplot a proper plot command,
          no matter what the user input is.  The plot command now automatically renames the
          variable in a single variable expression to the x variable, so plotting
          will always succeed.

          All makefiles were modified to allow the following:
          Setting CFLAGS when building now allows manually specifying the program
          optimization you want.  It is also the way to add compile-time options
          and macro definitions.  Suggested by many package maintainers, thank you!
          If CFLAGS is defined as the empty string, all optimizations are turned off.
          New optimizations can be added to the CFLAGS string during builds,
          overriding any default optimization in the makefile.

1/14/11 - Removed Python script "misc/mp"; Couldn't get mpmath to work properly for
          all input.

          Improved results of the fraction command.

1/15/11 - Now saving readline history in $HOME/mathomatic_history when compiled for CygWin.
          Now additionally searching for "mathomatic.rc" in $HOME when compiled for CygWin.

1/16/11 - Ported matho-pascal and matho-primes to double floats if USE_DOUBLES is defined,
          for systems that don't support long double floats.

1/21/11 - Linking with library "curses", instead of "ncurses" now, as required by Solaris.

Mathomatic version 15.4.1 released Saturday 01/22/11.

CHANGES MADE TO MATHOMATIC 15.4.1 TO BRING IT UP TO THE NEXT VERSION:

1/27/11 - Removed declared inclusion of the curses library when linking with readline.
          Should be automatically included.  Linking under OpenSUSE was failing because
          there is no curses library.  Fixed now.

          Added proper static function prototypes to all C source code files, to keep the
          newer version of gcc from complaining.

Mathomatic version 15.4.2 released Thursday 01/27/11.

CHANGES MADE TO MATHOMATIC 15.4.2 TO BRING IT UP TO THE NEXT VERSION:

Added compile.mingw to easily compile Mathomatic for Windows 32-bit using the
MinGW cross-compiler (Ubuntu package gcc-mingw32) and attach icons/mathomatic.ico
to the generated mathomatic.exe file.

1/29/11 - Easily allow groff instead of rman in makefile for creating web pages
          out of the man pages.  Some distros don't have rman.

2/02/11 - Fixed negate priority to be the same as TIMES/DIVIDE like Maxima (yay!).
          So now entering -x^2 is meaningful.  Previously negate was the highest
          priority (high precedence) operator.  Entering -2^2 now results in -4
          instead of 4, as in most other mathematics programs (except for pure
          calculators like bc).

2/04/11 - Flush standard output before reading a line of input from the user
          when not using readline, so that the MinGW version works with mintty.

2/06/11 - Added a new "for" command, for plugging in sequential values into a
          variable in the current expression and displaying the results.
          The syntax is the same as the sum and product commands.

Mathomatic version 15.4.3 released Monday 02/07/11.

CHANGES MADE TO MATHOMATIC 15.4.3 TO BRING IT UP TO THE NEXT VERSION:

Many minor but obnoxious bugs were fixed.

2/07/11 - Fixed result of constant modulo 0 (e.g. 9 % 0) and infinity modulo
          constant (e.g. inf % 9) to be NaN.

          Disabled shelling out and the edit command only in m4 Mathomatic.
          The terminal hung when shelling out or editing with an m4 front-end.
          Plotting still works and pagination is working now for m4 Mathomatic.

2/09/11 - Cleaned up tests/quartic.in, it now works without m4 Mathomatic, and is
          a single formula to solve most fourth degree polynomial equations.

2/10/11 - Created a nice man page for rmath and matho (rmath.1).
          matho is included in the rmath man page.  Let me know if I should
          link rmath.1 to matho.1 when installing it.

          The Mathomatic binary install scripts m4/matho-install and
          m4/matho-install-degrees now install the man pages,
          and create the installation directories if they don't exist.
          These scripts are not used by the makefile, they are included in some
          binary distributions to install the necessary files in the proper
          system directories, so that any user can run Mathomatic.  They are
          not normally required and are not used to build packages.

2/14/11 - Install man pages when doing binary install.

Mathomatic version 15.4.4 released Monday 02/14/11.

CHANGES MADE TO MATHOMATIC 15.4.4 TO BRING IT UP TO THE NEXT VERSION:

Source code cleanup and comments added.

2/15/11 - Fixed result of (constant % inf) to equal constant.

2/16/11 - Restored explicitly linking with ncurses library when compiled
          with readline, because Red Hat Linux wrongly requires this.
          There is no way to know ahead of time whether this is needed, so
          remove the "-lncurses" from the makefile if there is a problem
          linking.

          Upgraded set option "fractions_display_mode" to display fractions
          as mixed fractions when possible, when set to mode 2.  A mixed
          fraction is possible when the numerator of a simple fraction is
          greater than the denominator, like 9/4, which displays as (2+(1/4))
          in mixed fraction display mode 2.  Mode 1 is the default, which
          functions as before, displaying 2.25 as the simple fraction 9/4.
          To display mixed fractions only on command, just type "display mixed"
          to display the current expression with mixed fractions output
          that one time.

2/17/11 - Autocalc (used when typing a numerical only expression at the main
          prompt) now keeps the result until next time autocalc is used,
          so that it can be acted on further by Mathomatic commands, if desired.
          All previous autocalc results are erased every time autocalc is used.
          This provides much better calculator functionality for Mathomatic
          and improves ease-of-use.

2/18/11 - Use HTML infinity symbol (&infin;) for infinities in HTML output mode.

2/19/11 - Allow solid fraction bar display in HTML output mode by using "&ndash;".
          Previously the ASCII dash character "-" was used, making a dashed line
          that separated the numerator and denominator of fractions.  Now the line
          should be solid in HTML output mode.

          Improved divide command for numerical division.  Added mixed fractions
          and cleaned up output.

          Ported matho-primes to MS-Windows and included it in the Windows
          version on my website: "http://mathomatic.org/winam2.zip".

          The fraction command is now repeatable by preceding it with "repeat".
          This repeatedly runs it until the smallest expression is achieved.

          Simplification was sped up, especially with "simplify quick", therefore
          differentiating and the Taylor command are faster.

2/20/11 - Removed the requirement for the Unix "time" command with m4 Mathomatic.

2/23/11 - Allow array variable refs like a[2] or a[1][2] when generating C code.
          Just "set special []" to allow straight brackets in variable names.

2/24/11 - Another ease-of-use enhancement was implemented, making it possible to
          use "#equation-number" anywhere in any expression, it will insert the
          expression at that equation number.  This is an improvement that should
          have been done long ago.  However, don't expect it to work with the
          plot command, "plot #1" does not work because the argument to plot is a
          string and/or the current equation.  For example, typing things like
          "y=#1^2" is a convenient way to raise the expression in equation space
          number 1 to the power of 2 and set it equal to y, or whatever you wish.

Mathomatic version 15.5.0 released Friday 02/25/11.

CHANGES MADE TO MATHOMATIC 15.5.0 TO BRING IT UP TO THE NEXT VERSION:

Many minor cleanups and corrections were made.

Disallow nondeterminism in the qsort(3) function, making automatic output
comparison tests more likely to succeed.  Restored linear.in to the tests.

3/01/11 - Renamed Mathomatic User's Manual to Official Mathomatic User Guide.

          Calculate command now outputs fewer newlines.  Not so much blank space.

3/04/11 - Allow equation-number-ranges on the plot command line.  For example,
          "plot all" works now, to plot all stored equations and expressions
          at once, for easy comparison.

3/05/11 - Added an even higher security level 4 (mathomatic -s4), to be exactly
          the same as compiling with the -DSECURE option.

          Fixed "tests/t" script to allow testing of Mathomatic at any time,
          including after a system-wide install.

3/08/11 - Sped up simplify command simplification 60 times faster in some cases.

Mathomatic version 15.5.1 released Thursday 03/10/11.

CHANGES MADE TO MATHOMATIC 15.5.1 TO BRING IT UP TO THE NEXT VERSION:

Changed integer factoring code to be more robust, consistent, self-checking and
a better test of floating point operations.  Added DEBUG compile-time define to
allow easier debugging of Mathomatic.

3/12/11 - Renamed the "factorial" directory to "examples".

3/13/11 - Fixed entering negative odd roots like (-32)^(1/3) to not approximate,
          instead simplifying to -2*4^(1/3).  So all surds are preserved, now.

3/17/11 - Added man pages for the Mathomatic Symbolic Math Library functions.
          Allow building a PDF book of all Mathomatic man pages.

3/18/11 - Simplify command simplification sped up even more, by putting algebraic
          fraction reduction in the right place and not overusing it.
          Responsiveness has greatly improved for large expressions.  Thanks go
          to Kingsley G. Morse Jr. for help with this and for filing a bug report.

3/21/11 - The simplify command functionality was improved.  It was fixed to
          not mess up with unwanted fractional coefficients.

Mathomatic version 15.5.2 released Monday 03/21/11.

CHANGES MADE TO MATHOMATIC 15.5.2 TO BRING IT UP TO THE NEXT VERSION:

Simplify expressions with positive bases like 16^(x/2) and (2^m)^n by default;
previously only simplified these with the "simplify symbolic" command.

3/22/11 - The exit status of Mathomatic now shows any errors when run with the
          -e option.  So if a command fails, it exits to the OS with the exit
          status 1.  Exit status is 0 if everything went OK.  Also works without
          the -e option, when files are specified on the shell command line.
          An error will abort the script, returning you to the operating system
          with an exit status of 1.

3/23/11 - Changed makefile to allow installing m4 Mathomatic without installing
          the documentation.  Use "sudo make bininstall matho-rmath-install" to
          install m4 Mathomatic executables and man pages.
          Then "sudo make docinstall" installs all documentation.

3/26/11 - The rmath man page math function and constant lists have been corrected
          and the rmath man page has been added to the main user documentation.

3/27/11 - Output of universal constants is now prettier when displaying.  No
          more i#, e#, and pi#, they are displayed as they are entered: i, e,
          and pi.  HTML mode displays the small Greek letter pi for pi.

3/29/11 - The nintegrate command now works with complex numbers and trigonometry,
          and does not change the current equation to the result.

3/30/11 - Link the man page rmath.1 to matho.1 when installing, so that every
          executable has a man page.

4/04/11 - Added "numerator" and "denominator" options to the fraction command,
          which returns only the numerator or denominator after making sure the
          expression is a simple algebraic fraction.

          Autocalc now deletes only the previous autocalc when autocalc is used.
          It was deleting all autocalc results except for the current one every
          time, preventing copying.

4/15/11 - Improved simplification of expressions like (x + (2^(1/2)))^{3,4,5,6}.
          It broke a while back when factor_times() constant factoring was
          improved.  The fix uses factor_times() less, preserving reduced surds.

4/17/11 - Saving "plot_prefix" with the "set save" command was not escaping
          semicolons, so they were disappearing from the prefix.  Fixed now.

Mathomatic version 15.5.3 released Tuesday 04/19/11.

CHANGES MADE TO MATHOMATIC 15.5.3 TO BRING IT UP TO THE NEXT VERSION:

Many tweaks and corrections to simplification and polynomial operations were made.

4/21/11 - Created m4 Mathomatic input file "tests/trig".  Lists all trig and
          hypertrig functions, allowing testing of their simplification
          and manipulation.

4/22/11 - Sped up polynomial operations to be another 30 times faster
          in some cases.  Finished and cleaned up the polynomial factoring
          and division C code.  Thanks again to Kingsley G. Morse Jr. for
          showing me this needed to be done.

          The "simplify quick" command was changed to not combine unlike
          denominators, making it much more useful, doing better
          simplification than any other simplify option sometimes.

4/23/11 - The tally command now returns the ending total and sets it as the
          current equation.

          Fixed an old bug just discovered today where expressions like
          (x - y)*(x^99 - y^99) were being factored into something huge
          with the simplify and fraction commands, which are the only
          commands that do polynomial factoring.

          Improved coloring scheme: all prompt and normal text is now the
          terminal emulator's default color for text (usually uncolored).
          Expressions remain colored if color mode is enabled.  Thanks to
          Carl U. Grayser for the good idea.

4/26/11 - Improved the fraction command by factoring polynomials first.
          Specifying the "numerator" and "denominator" options together
          will make the fraction command return with failure if the result
          is not a fraction, otherwise the entire fraction is returned.

          Allow setting "M4" makefile variable to "gm4" (GNU m4), so that
          m4 Mathomatic can work under BSD Unix after installation.
          Be sure to use gmake to compile Mathomatic under BSD Unix;
          Non-GNU Unix make and Unix m4 do not work with Mathomatic.

Mathomatic version 15.6.0 released Saturday 04/30/11.

CHANGES MADE TO MATHOMATIC 15.6.0 TO BRING IT UP TO THE NEXT VERSION:

The Mathomatic user documentation and help have been shaped up.

A BOLD_COLOR compile-time flag was added, to make Mathomatic default to
using bold color mode.  Used on the Mac and Windows versions of
Mathomatic now.

5/8/11 - The "factor number" command now allows number ranges, in addition
         to integers and integer expressions.

5/9/11 - Install "m4/functions.m4" to proper directory (/usr/share/mathomatic/m4).
         The "m4" directory is no longer installed to the system doc directory.
         A big thanks to Terje Røsten of Fedora for showing me the way on this,
         and for his timely Mathomatic package maintenance in Fedora Linux.

5/11/11 - The matho-primes utility can now be run from within Mathomatic by typing
          "list primes".  Put any arguments you want to pass to matho-primes on the
          "list primes" command line.  Redirection doesn't work yet for this, so it
          remains undocumented.

5/15/11 - Added NOGAMMA compile-time define, which makes the factorial function
          integer only, if desired.

          Added color mode to the MinGW Windows version of Mathomatic, thanks to
          Doug Snead for the code.  Tested in cmd.exe, command.com, and CygWin.
          The new color mode does not work in mintty.exe.

5/16/11 - Allow defining SILENT=0 when compiling the symbolic math library,
          so that "set debug level" works and normal Mathomatic debugging works
          within the library code.  Thanks to Doug Snead for suggesting this.

5/21/11 - Changed "make check" to not use the time command, as /usr/bin/time is not
          available on all systems.  "make test" performs the same function and
          still uses time.

5/23/11 - Updated the Free Software Foundation's address in the LGPL license text
          and in all source files.

Mathomatic version 15.6.1 released Sunday 06/05/11.
