
Calctool change history.
------------------------

v2.4 - patchlevel 4. - Released to comp.sources.misc (January 1990).

v2.4 - patchlevel 5. - Posted to comp.sources.bugs (January 1990).

  Changes:

    *  From Keith McNeill <eplrx7!mcneill@uunet.uu.net>
       The functions isinf and isnan are not present on all machines.
       These have been removed and different sanity checks are applied
       to the number to be converted, based on the contents of these
       two functions.

    *  From Keith McNeill <eplrx7!mcneill@uunet.uu.net>
       With the X11 driver, there is an enumerated type DISPLAYITEM used
       in the drawtext routine. With SunOS v3.5, this needs to be typecast
       to an integer.

    *  From Keith McNeill <eplrx7!mcneill@uunet.uu.net>
       In the function get_rcfile() in get.c, there is a variable with the
       name 'const'. This is a reserved word in ANSI C. This has been
       changed to cval.

    *  From Jeff Donsbach <jdonsbac@thing.prime.com>
       The calctool helpfile was not being found if the helpfile was in
       the last directory on your search path. Fix to get_helpfile in
       get.c.

    *  The README file specifically said that calctool was for Sun
       workstations. With the X11 and tty drivers, this is no longer
       true.

    *  From Mel Melchner <mjm@research.att.com>
       The last character of function definitions in the .calctoolrc files
       was being dropped. This accidentally worked if the function
       definition was followed by an optional comment which was used in
       the popup menu.

    *  From Mel Melchner <mjm@research.att.com>
       With the X11 driver, the function XIconifyWindow is missing when
       compiled under X11R3. This is an R4 function; I've recoded the
       close_frame routine in the X11 driver.

    *  From Skip Gilbrech <skip@fsg.com>
       The TODO file mentioned that with the SunView version and a Sun4
       keyboard, the ENTER key on the right function keyboard was not
       recognised. This is now fixed. The TODO file has been adjusted
       accordingly.

    *  The TODO file explicitly mentions that the right mouse button does
       not currently bring up a popup menu.

    *  From Peter Allott <peter%essex.ac.uk@murtoa.cs.mu.oz>
       Typing ctrl-n (to change from fixed point notation to scientific
       notation) causes a segmentation fault.

    *  From Peter Allott <peter%essex.ac.uk@murtoa.cs.mu.oz>
       Constants can appear a bit confusing initially. The sample
       .calctoolrc file is given which has three constants predefined.
       The calctool help mentions the default values for the constants,
       but didn't say that you could change them. The help message now
       mentions this.

    *  From dunc@Sun.COM
       If you are entering a scientific number, and the first thing you
       do is press the EXP key, you do not get a chance to enter the
       exponent; it clears the display. This is now fixed.

    *  From dunc@Sun.COM
       Pressing EXP several times in a row used to generate a row of plus
       signs in the display.

    *  The Makefile has been adjusted to include the new library -lolgx,
       which needs to be used with XView links under X11R4 and OpenWindows
       v1.0.1 (and beyond).

    *  The XView driver has been changed to xv_find the fonts it needs. This
       means that the normal font is now 12pt normal not 12pt bold.

    *  The XView driver handles the right function keypad much better now,
       but the DEL (.) key is still a problem because it generates ASCII 127,
       which is the same as the Delete key.

    *  Not all machines have the index() string library function. If you
       don't have index, then you should uncomment the NOINDEX definition
       in the Makefile.


New files:

    *   CHANGES - documented history of the changes made with each new
                  calctool patch.

v2.4 - patchlevel 6. - Posted to comp.sources.bugs (January 1990).

  Changes:

    *  The Makefile did not include the CHANGES file in the OTHERS
       macro definition.

    *  If you are not using IEEE floating point format, and you need to
       use some of the routines from the portable maths library which is
       now included with this distribution, then you need to uncomment
       the new NOTIEEE definition in the Makefile.

    *  From Tom Friedel <tpf@jdyx.atlanta.ga.us>
       In the tty driver, in the drawtext routine, there is a character
       array of five elements. There was an invalid assignment to key[5].

    *  From Stephen Frede <stephenf@softway.oz>
       The definitions in the Makefile for HELPNAME, NEWSFILE and RCNAME
       do not need extra ...GIVEN definitions.

    *  Calctool.h defined NEWSNAME, when it should have defined NEWSFILE.
 
    *  With the X11 driver, the function XIconifyWindow is new to R4.
       If you are running an X11 release which is not R4, then you need
       to uncomment the new definition in the Makefile called NOT_R4.
       This nullifys the function of the calctool OFF key, but hey, you 
       can also you the window manager to iconify calctool (assuming 
       your window manager can do that!).

    *  The factorial function has been adjusted to only work with
       positive integers. I couldn't find a public domain or freely
       distributable lgamma function written in C.

    *  fillbox in graphics.c no longer needs to be passed a window 
       parameter

    *  From Stephen Frede <stephenf@softway.oz>
       Not all linkers have the -L option. The CALCLIB definition in the
       Makefile has been adjusted, and moved to the section where
       LIBNAME is defined. By default, you shouldn't have to do anything,
       but if you are on a Sun and want to use the shared library facility,
       then you need to uncomment three definitions.

    *  From Stephen Frede <stephenf@softway.oz>
       getcwd is not present on all systems. I've replaced it with getwd.


New files:

    *  mathlib.h
       mathlib.c - These are an attempt to provide a portable maths
                   library for those systems that don't have all the
                   functions that calctool needs.
 
                   You should look near the end of mathlib.h for a set
                   of definitions, then set appropriately.

v2.4 - patchlevel 7. - Posted to comp.sources.bugs (February 1990).

  Changes:

    *  From Johan Vromans <jv@mh.nl>
       There is no need to have a special definition NOT_R4 in the
       Makefile for people running the X11 driver on R[23]. The
       close_frame routine in x11.c has been rewritten to use the code
       supplied by Johan. This code will work with ICCCM compliant
       window managers. It also works nicely with OpenWindows, so I've
       removed the call to XIconifyWindow and used this code instead.

    *  From Johan Vromans <jv@mh.nl>
       The Makefile now uses $(CC) to specify the C compiler of choice.

    *  From Johan Vromans <jv@mh.nl>
       With the X11 driver, displaying new values in the memory register
       window overwrote the previous contents without first clearing them.
       In x11.c, the clear_canvas routine has been rewritten to use
       XGetGeometry instead of XGetSizeHints.

    *  From Johan Vromans <jv@mh.nl>
       Calctool on a Vax running Ultrix dumps core when you divide by
       zero. This is handled on a Sun, by jumping to the matherr routine,
       and causing an error. A test has now been added to the do_calculation
       routine in functions.c, to check if the divisor is zero, and call
       doerr if it is.

    *  From Stephen Frede <stephenf@softway.oz>
       There is no need for the tty version to use select to determine if
       there is input waiting to read. The top bit of the characters read,
       is also removed.


v2.4 - patchlevel 8. - Posted to comp.sources.bugs (February 1990).

  Changes:

    *  From Didier Poirot <dp@chorus.fr>
       Two Imakefiles (Imakefile.main and Imakefile.lib) have been provided.
       To use these properly, read the comments at the beginning of these
       files.

    *  From Sisira Jayasinghe <spsisira@sdrc.UUCP>
       Have included better error detecting routines for addition,
       subtraction, multiplication and division supplied by Sisira.

v2.4 - patchlevel 9. - Posted to comp.sources.bugs (March 1990).

  Changes:

    *  From David M. Karr <trnds!cheetos!dave@uunet.UU.NET>
       Calctool hangs if the sto function is used with one of +,-,x or /
       operators before giving the register number.

v2.4 - patchlevel 10. - Posted to comp.sources.bugs (March 1990).

  Changes:

    *  From Steve Alexander <stevea@i88.isc.com>
       The X11 version always set the icon position to (0,0) on the display.

    *  From Gary Bartlett <garyb@abekas-video-systems.co.uk>
       One of the sets of patches (to supply better error  checking for + -
       x and /) introduced  quite a serious  error.  Namely you can't multiply
       or divide negative numbers (or zero) as the respective routines try to
       take their log without checking BOTH parameters.

    *  Storing values using the popup-menu (SunView and XView versions only)
       did not work. This was caused by an incorrect patch from last time.

    *  From Gary Bartlett <garyb@abekas-video-systems.co.uk>
       With the X11 version, pressing the SHIFT key to access some of the
       keyboard equivalents repeated the last command. It didn't wait for
       the key you're shifting to be pressed.

v2.4 - patchlevel 11. - Posted to comp.sources.bugs (August 1990).

    *  From Steve Nahm <sxn@Eng.Sun.COM>
       The XView version didn't correctly run under Open Windows v2.0(FCS).

v2.4 - patchlevel 12. - Posted to comp.sources.bugs (August 1990).

    *  Removed the XSynchronize() call from xview.c. This was only needed
       for debugging.

    *  From Daniel Yang <dyang@doorknob.Sun.COM>
       According to the helpfile, the operators CON, EXCH, FUN, STO, RCL, <,
       and > all require a digit between 0 and 9, but when any of these are
       selected, the HEX digits are displayed as well. Since these aren't
       legal parameters, these should not be displayed.

    *  From Daniel Yang <dyang@doorknob.Sun.COM>
       The initial base for calctool is DEC, but the HEX digits are
       incorrectly displayed.

    *  From Daniel Yang <dyang@doorknob.Sun.COM>
       Fixup typos in the helpfile text.a

    *  From Rick Stevenson <rick@ptabris.oz.au>
       x11.c: Pyramid's cc warns about illegal operation on geometry.
       if (!geometry)   should be   if (geometry[0] != '\0')

    *  From Rick Stevenson <rick@ptabris.oz.au>
       Overflow with the factorial function was incorrect.

    *  The position of the numeric output in the display item with the
       XView version has been corrected.

    *  The memory register window is now coming up correctly (positioned
       to the right of the main calctool frame).

v2.4 - patchlevel 13.

    *  Fixed SCI/FIX button unwritable string core.

    *  Changed mathlib calls to dabs() and abs() to fabs(). Changed
       incorrect NEED_EXP define around dabs() to NEED_FABS.

    *  Added STUPID_FPE setting. A STUPID_FPE sends a SIGFPE on
       any math error, despite the presense of the handler routine
       in calctool.c.

    *  Changed multiple-symbol #ifdefs in mathlib.c, changing them
       from "#ifdef sym1 || sym2" to "#if defined(sym1) || defined(sym2)".

