/*  $Header: /cvs/gnome/gcalctool/ChangeLog-1991,v 1.3 2005/02/07 16:38:57 richb Exp $
 *
 *  Copyright (c) 1987-2005 Sun Microsystems, Inc.
 *  All Rights Reserved.
 */

gcalctool change history - 1991.
================================

v3.2 - patchlevel 24. 31st December 1991.

* Calctool ignored the -fg and -bg color command line options when
  painting the calctool canvases. Calctool has lots of X resources
  to allow you to set the color of different items. If -fg and/or
  -bg is present, they now override these X resources as follows:

  deskset.calctool.decDigitColor:        not changed
  deskset.calctool.hexDigitColor:        not changed
  deskset.calctool.arithOpColor:         not changed
  deskset.calctool.adjustColor:          not changed
  deskset.calctool.portionColor:         not changed
  deskset.calctool.functionColor:        not changed
  deskset.calctool.mainModeColor:        not changed
  deskset.calctool.portionLogicalColor:  not changed
  deskset.calctool.bitLogicalColor:      not changed
  deskset.calctool.finColor:             not changed
  deskset.calctool.trigModeColor:        not changed
  deskset.calctool.trigColor:            not changed
  deskset.calctool.sciColor:             not changed
  deskset.calctool.backgroundColor:      background color
  deskset.calctool.displayColor:         background color
  deskset.calctool.memRegisterColor:     background color
  deskset.calctool.textColor:            foreground color

  The -reverse command line option switches the foreground and
  background colors. Fixes bug #1077714.

----

v3.2 - patchlevel 23. 31st December 1991.

* Calctool didn't allow the user to set an alternative calctool icon
  image via the -icon_image command line option. Calctool checks if
  the image filename given exists and is readable. If it isn't, then
  it displays an error message and the generic XView usage message
  and exits. If the file does exist, but isn't an icon file, then
  XView silently ignores it. Perhaps a bug should be opened against
  xview/library, to generate an error message for such a case. Fixes
  bug #1077709.

----

v3.2 - patchlevel 22. 30th December 1991.

* Calctool tries to localise the command line text strings. This is
  incorrect. Created a new routine called init_cmdline_opts(),
  which initialises the command line options (instead of in init_text(),
  and gets called before init_Xvars(). The search for -name is also
  done before init_Xvars(), because the xv_init() call strips it out.
  write_cmdline() was also writing out the -name command line option
  (if present) for a "Save Workspace". As this is now a generic XView
  tool command line argument, this is no longer needed.  Fixes bug
  #1077907.

----

v3.2 - patchlevel 21. 27th December 1991.

* Calctool didn't allow you to set the icon label with the
  -icon_label command line option. Fixes bug #1077710.

----

v3.2 - patchlevel 20. 27th December 1991.

* Incorrect parameters to the -size command line argument
  (ie. -size fubar) caused the tool to hang whilst trying to parse
  it's command line arguments. In fact, any command line argument
  that didn't start with - or + would cause it to hang.

  An XView error procedure has been added to calctool. This is
  called whenever there is an XView error. Invalid command line
  arguments that cause XView errors will cause this routine to be
  called. An attempt is made to try to determine if this is the case
  (as opposed to an XView error at a later stage in the game). In the
  former case, the error message is printed out, followed by the
  XView usage message (equivalent of -help), then the program exits.
  If calctool has already started (v->started = 1), then if the
  error procedure is called, then calctool will print the error
  message and try to resume, and hope the error is recoverable.
  Fixes bug 1077706.

----

v3.2 - patchlevel 19. 27th December 1991.

* Calctool didn't handle the command line option -size correctly if
  one of the two size parameters was too small. It automatically
  reset to the smallest size for both width and height. Calctool has
  now been changed to one adjust the single dimension that was too
  small. Fixes bug #1077705.

----

v3.2 - patchlevel 18. 24th December 1991.

* Problems with the -title option. If you specified -title '' then
  calctool wasn't displaying a blank titleline. Note that the XView
  defaults_get_string() call strips off leading and trailing spaces.
  Under SVR4, specifying a titleline, caused a core dump. This was
  due to tool_label not being initially set to NULL in make_frames().
  Fixes bug #1077708.

----

v3.2 - patchlevel 17. 24th December 1991.

* calctool ignores -font <fontname> on the command line. To be more
  correct, this font is only used in the XView panel popups such as
  the property sheet, the constant and function windows and the Asc
  window. Calctool can use upto four different fonts; these can be
  set via X resources, and are:

  deskset.calctool.buttonFont:         button labels.
  deskset.calctool.modeFont:           mode line labels.
  deskset.calctool.memoryFont:         memory window popup text.
  deskset.calctool.displayFont:        display line font.

  It is assumed that specifying a font using either the -font or -fn
  command line option will override *all* of these. In other words,
  this means that all text will be drawn in that font. Not a perfect
  solution. Fixes bug #1077704.

----

v3.2 - patchlevel 16. 24th December 1991.

* If the user is displaying in fixed point mode, and the number is
  smaller then the current degree of accuracy, then the number is
  displayed to the number of numeric places specified, and not
  converted to scientific notation. Fixes bug #1077703.

----

v3.2 - patchlevel 15. 23rd December 1991.

* The memory register popup window was being incorrectly repainted.
  The width value for the amount of background to be colored was
  incorrect. Particularily noticable with colored background and
  non-standard fonts. Fixes bug #1077541.

----

v3.2 - patchlevel 14. 23rd December 1991.

* Converting 0.00 (decimal) to binary resulted in 0.10. The problem
  here was the MPstr_to_num() routine in display.c was assuming the
  string to be converted was always in the current base. Added an
  extra parameter to the MPstr_to_num() call; the base to use to do
  the conversion.  Fixes #1077537.

----

v3.2 - patchlevel 13. 23rd December 1991.

* The result of the online help example for the financial Pmt
  calculation was incorrect. It should have been 1142.06 (to two
  decimal places), and not 1142.29. All financial online help
  example results are now given correct to 2DP. This involved
  adjustments to Ctrm, Fv, Pv, Sln, Syd and Term. Fixes bugs
  #1077534 and #1077718.

----

v3.2 - patchlevel 12. 23rd December 1991.

* Added in help attributes for each of the items on the Asc, Constant
  and Function popups. The following new entries were added to the
  calctool.info file:

  AscButton:
  AscFrame:
  AscPanel:
  AscText:
  ConFunConButton:
  ConFunDescription:
  ConFunFunButton:
  ConFunFrame:
  ConFunNumber:
  ConFunPanel:
  ConFunValue:

  Fixes bug #1077528.

----

v3.2 - patchlevel 11. 23rd December 1991.

* Fixed up the help entries in the calctool.info file for the Con and
  Fun menus. They needed a trailing space, ie: "Con " and "Fun ".
  Added in XV_HELP_DATA attributes for all the other calctool menus:
  Acc, Base, Disp, Exch, Mode, Properties, Rcl, Sto, Trig, < and >.
  Added an entry for the properties menu (:Props) to the calctool.info
  file. Fixes bugs #1077525 and #1077526.

----

v3.2 - patchlevel 10. 23rd December 1991.

* Calctool man pages didn't mention the -? and -name options.
  Noted with the -? entry that this needs to be escaped when used
  with the csh, ie. -\?

  Adjusted the order of the entries in the usage message to match
  the manual pages.

  Moved the code in calctool that looked for "-name", before the
  call to xv_init(XV_INIT_ARGC_PTR_ARGV, argc, argv, ... which
  removes it from the program command line.  Fixes bug #1077524.

----

v3.2 - patchlevel 9. 11th December 1991.

* Ifdef'ed XmbDrawString for painting multibyte characters on canvas.
  Routine changed is draw_text() in xview.c. Fixes bugid #1076798.

  Relative positioning for the "Apply", "Set Default", and "Reset" 
  buttons on the property sheet.

----

v3.2 - patchlevel 8. 22nd November 1991.

* If you pressed the middle mouse button when holding the right
  mouse button down, when the cursor was positioned in the display
  portion of the main calctool window, then you got the following
  message:

  XView warning: Notifier error: Too many interposition functions

  Fixes bugid #1075270.

----

v3.2 - patchlevel 7. 20th November 1991.

* Calctool would not allow you to enter "big" numbers like:
  336341050452.2  The previous version of calctool represented
  numbers internally in doubles, and checked against a certain
  number of digits (depending upon the current radix). After a
  certain number, internally accuracy would be lost. With v3.2
  of calctool, internal accuracy is represented with "infinite"
  precision, and this test can be removed. Fixes bugid #1075198.

----

v3.2 - patchlevel 6. 5th November 1991.

* Changed the MP routines pow_di and pow_ri to mppow_di and mppow_ri,
  to get calctool to compile under jup_alpha5.

----

v3.2 - patchlevel 5. 1st November 1991.

* Overflow and underflow could still lock up calctool. Stricter tests
  have been added to make_number() and do_factorial. There might be
  other places where this is needed. Fixes bug #1073459.  Roll on V4!

----

v3.2 - patchlevel 4. 4th September 1991.

* To try and remain consistent with the look&feel of the V3 calctool
  (even though calctool now has "infinite" precision internal
  arithmetic), the MP result of each calculation is converted into a
  double before it is displayed. If the number is larger (or smaller)
  then what can be correctly placed in a double, than an error is
  generated. What was happening was that the "Error" string displayed
  in the calculator display was getting overwritten by the converted
  MP value. It's now been adjusted to not overwrite, if the error
  indicator is set. All this can be adjusted for V4.

----

v3.2 - patchlevel 3. 28th August 1991.

* Changed the definition of abs() in calctool.h to C_abs(), and
  adjusted the code accordingly. This should allow calctool to now
  correctly compile under SVR4 jup_alpha3.

----

v3.2 - patchlevel 2. 19th August 1991.

* Fixed up the calculation of base 10 logarithms. It no longer relies
  on an imprecise constant.

----

v3.2 - patchlevel 1. 19th August 1991.

* Added in "infinite" precision, using the Richard Brent MP routines.
  These were originally written in FORTRAN but have been converted to
  C (using f2c), and tidied up, placing the resulting routines in the
  new mp.c. Results now displayed are exact, to the given degree of
  accuracy. Fixes bug #1039759.

* When you Clr the display now, it display zero in the appropriate
  representation; fixed, scientific or engineering.

----

v3.2 - patchlevel 0. 31st July 1991.

* Incremented version number. Reset patchlevel.

* Modified the factorial function. A factorial of 0 now returns 1.
  Trying to do a factorial on a negative or non-integer number now
  results in an error. The calctool man pages have been modified to
  mention that that the factorial function is only valid for positive
  integers. Fixes bug #1065280.

* When memory was being allocated for the v data object, it was not
  being cleared, resulting in certain values being used before they
  were set.

* When entering numbers with the mouse, calctool incorrectly displayed
  and handled the left parenthesis. Fixes bug #1065388.

* The sequence ((1+1)) was resulting in 1 instead of 2. Fixes bugs
  #1065697 and #1065571.

* If calctool is being run in click-to-type mode, and input focus is
  on the mode popup, it was not possible to currently change modes
  using the menu on the Mode button in the main calctool window.
  Fixes bug #1065698.

----

v3.1 - patchlevel 50. 23rd July 1991.

* Calctool did not correctly set minimum size frame hints. This is
  the same problem as bugid 1065155 (reported against perfmeter and clock).

----

v3.1 - patchlevel 49. 19th July 1991.

* Fixed a bug where it was possible to leave a calctool button
  inverted if dragging the left mouse button from the calctool
  button area, into the display area.

* The -name option is only written to the saved command line if the
  user specified it on the command line initially.

* Added in support for a titleline for calctool, through the standard
  -Wl, -title or -label options.

* Modified the command line option parsing in get_options(). Instead of
  parsing the command line options, looking for options where the user
  might have set the calctool size, init_Xvars() now strips out the
  XView/X specific command line arguments, and calctool checks on user
  size and scale with calls to defaults_exists(). This means that
  xv_parse_one() is no longer needed; the original reason for doing all
  this.

* Handling on the calctool button labels has been adjusted to try
  to allow for longer strings which would probably be needed for
  the international versions. The hooks are all in there, but the
  I18N equivalent code needs to be rewritten, then bugid 1062858 can
  be closed. Here are some notes taken from one of the comments in
  text.c:

  Some notes for translators:

  Text in the label strings below, should be left justified. It will
  automatically be centre justified in the buttons, but various
  calculations depend on the text starting on the left.

  The original English V3 version was written with fixed (upto) four
  character button labels. I've tried to extend this to allow any sized
  labels, however the following conditions apply:

  - If the label won't fit in the button, then as much as possible will
    be shown, with the last character being '>'. If you enlarge the
    calculator, probably more of the label will show.

  - If the last character of the label is a '.', and this is not the
    first character of the label (ie, the numeric point label), then
    calctool knows that this signifies that this label should have two
    more '.' characters appended to it (ie, "Mem." becomes "Mem...").

  - If a calctool button has a menu item glyph associated with it, the
    width of this glyph is taken into consideration, and the amount of
    the label that can be displayed is adjusted accordingly.

----

v3.1 - patchlevel 48. 18th July 1991.

* Replaced the WIN_CMD_LINE call with the new ICCCM compliant
  FRAME_WM_COMMAND_ARGC_ARGV stuff, rewriting write_cmdline
  appropriately.

----

v3.1 - patchlevel 47. 11th July 1991.

* The -geometry and -Ws width and height values were not being
  correctly used. Thus it was not always possible for the user
  to set a preferred initial size.

----

v3.1 - patchlevel 46. 11th July 1991.

* The window manager does not read the NormalHints property until the
  frame comes out of it's withdrawn state. So minimal size hints are
  now set when we've had the first valid canvas repaint. Bugid 1064024
  can be closed.

----

v3.1 - patchlevel 45. 4th July 1991.

* Added ICON_TRANSPARENT, TRUE, to the calctool icon creation, to
  correctly generate a transparent icon.

----

v3.1 - patchlevel 44. 1st July 1991.

* Adjusted one of the examples in the calctool.info file:

  2 * ( 3 + 4 ) = 24

  should really be

  2 * ( 3 + 4 ) = 14

----

v3.1 - patchlevel 43. 24th June 1991.

* Adjusted the font names used by calctool from:

  lucidasanstypewriter-10   format

  to

  -b&h-lucidatypewriter-medium-r-*-*-*-100-*-*-*-*-iso8859-1  format.

* Added in the ability to select a portion of the calctool display,
  by using the left mouse button (to select), and the middle mouse
  button (to adjust). This can then be used in a Copy/Paste operation.
  Selection/adjustment via dragging is permitted, and double-clicking
  inside the display area will hilite the full display value.

  Bugid 1055425 can be closed.

----

v3.1 - patchlevel 42. 13th June 1991.

* The calctool "buttons" are now highlighted, when the equivalent
  keyboard input is pressed. Rfe 1062016 can be closed.

----

v3.1 - patchlevel 41. 12th June 1991.

* The Cut (L10) key is now synonymous with the Copy (L6) key. This
  will make the calctool display value the current primary selection.
  This problem comes from bugid 1055425.

* Using keyboard input, it was possible to cause calctool to core dump
  by typing an invalid mode letter, and when the "broken" mode window
  appeared, by selecting one of the invalid keys.

----

v3.1 - patchlevel 40. 11th June 1991.

* Added in ANSI prototypes for each calctool routine.

----

v3.1 - patchlevel 39. 7th May 1991.

* Fixed up the alignment of the panel items on the property sheet,
  removing the large blank area near the top left.

----

v3.1 - patchlevel 38. 7th May 1991.

* The "Save settings as the default" property item has been removed,
  and the row of three buttons on the bottom now look like:

    (Apply)   (Set Default)    (Reset)

  The (Defaults) button has gone. The (Set Default) button is the
  proper OPEN LOOK way of doing the same as "Save settings as the
  default".

* The main calctool frame now has minimal size hints at creation
  time, so it's impossible to shrink below it's smallest allowed size.

----

v3.1 - patchlevel 37. 2nd May 1991.

* Changes needed to get calctool to work under SVR4 (Zeus). There are
  no SVR4 specifics; the same code runs unchanged under both SunOS
  v4.1.1 and SVR4.

----

v3.1 - patchlevel 36. 30th April 1991.

* The calctool icon is now retained. This prevents flashing when
  another window is dragged over it when OpenWindows.DragWindow:
  is set to true.

----

v3.1 - patchlevel 35. 29th April 1991.

* The calctool button labels are are created using read_str() instead
  of STRCPY'ing to an array of 5 characters. This doesn't work in
  multi-byte per character environments.

----

v3.1 - patchlevel 34. 29th April 1991.

* The calctool icon now correctly uses the foreground and background
  colors. Bugid 1051860 can be closed.

----

v3.1 - patchlevel 33. 27th April 1991.

* Modified all the text string initialisations in text.c to use the
  LGET() and MGET() macro's. Wendy tells me this now works for sundae.

* Changed the definition for the calctool button strings from char *str
  to char str[5]. This is needed because the dgettext() strings are now
  read only, and the calctool buttons strings can change, so they have
  to be STRCPY'ed.

* If an entry was added or changed in either the constant or the
  function menus, the new menu wasn't being recreated.

* Calctool correctly displays on the NCD terminal.

----

v3.1 - patchlevel 32. 26th April 1991.

* Moved the call to init_text() in do_calctool() to after the call
  to init_Xvar(). The call to xv_init() needs to be done before the
  calls to dgettext(). Bugid's 1056298 and 1056806 can be closed.

* The strings generated by dgettext are now read only. They shouln't
  be modified in any way. The check for menu items greater then 45
  characters long has been removed. This XView problem is now fixed,
  and because of the read-only strings, is no longer possible.

----

v3.1 - patchlevel 31. 26th April 1991.

* Ran calctool through Saber-C and fixed up discrepancies.

* Calctool now appears to work correctly on 24bit screens.
  There were three problems:

  - calctool was crashing in xv_destroy(). What was happening was the
    frame event handler was getting a resize event before the canvas
    repaint handler has been properly called.

  - Should have been using GXclear and XCopyArea to clear the offscreen
    calctool "button" server images (pixmaps).

  - the server images for manipulationg that offscreen buttons should
    have been using a foreground of 1 and a background of 0 (not
    BlackPixel() and WhitePixel()). Thanks to Darren Austin for finding
    this one.

    Bugid 1056788 can be closed.
    Bugid 1054340 is against SunView, but has been fixed in OW v3.0(FCS).
 
* Calctool now appears to work correctly in the 4bit and 8bit color
  visuals on the 24bit screen. The problem here was that several
  graphics contexts and scratch pixmaps were been created with an xid
  of the root window instead of the calctool main window. The default
  depth of the screen is differwent from the depth of the visual.

* Resizes are now correctly handled. Not all resize events are really
  changes in size, so the current width and height are compared against
  the new width and height, and if there is no change, then no resize
  is done. Checking the frame sizes is now done with an xv_get()
  on FRAME_OPEN_RECT (which works), instead of a frame_get_rect().
  Bugid 1057636 can be closed.
  Rfe 1052050 can be closed. Calctool redraws a *lot* quicker now.

* Changed the label on the Chs button to +/-. This means the help
  key for the button now works (part of bugid 1057794).

----

v3.1 - patchlevel 30. 23rd April 1991.

* Added in the right numeric function keyboard handling from Stuart
  Marks (thanks Stuart!). This is the correct way to handle the
  numeric keyboard, and gets rid of all the sloppy stuff I originally
  had. The three resources:

  deskset.calctool.sun3Keyboard:
  deskset.calctool.sun4Keyboard:
  deskset.calctool.numericKeypad:

  have been removed. The manual pages have been adjusted accordingly.

----

v3.1 - patchlevel 29. 18th April 1991.

* The sequence of keys 10 - 30 "sin" = was not producing the correct
  effect. For some reason, v->cur_op was being set to the current
  character ("sin"). I've removed this. The worrying thing, is why
  was this there in the first place? Bugid 1056216 can be closed.

* Dragging with the left mouse button over certain calctool "keys"
  such as Con and Fun, resulted in illegal xv_get()'s. This is
  because the appropriate menu hadn't been made.

* Certain operators that have control character keyboard equivalents
  weren't being handled inside parentheses properly.

----

v3.1 - patchlevel 28. 17th April 1991.

* Calctool has been modified so that most calctool specific warning
  messages from the acc compiler have been eliminated.

----

v3.1 - patchlevel 27. 16th April 1991.

* Added in a routine to save the user supplied command line options.
  These options are also saved to the WIN_CMD_LINE whenever they are
  adjusted via the property sheet. The -Wn and +Wn options are also
  saved. These options are then correctly placed in ~/.openwin-init
  when the user does a "Save Workspace". Bugid 1056934 can be closed.

----

v3.1 - patchlevel 26. 12th April 1991.

* Various changes to improve calctool memory usage. Resources such
  as the property sheet, the menus are not created until they are
  needed.

* No longer assume the default keyboard is a Sun4. In other words if
  the ioctl doesn't say it's a sun3 or a sun4 keyboard, then calctool
  wont't attempt to setup a right-hand numeric keypad.

  Add in another X resource:

  deskset.calctool.numericKeypad:      False

  which if set to false, won't setup a numeric keypad (irrespective
  of the results from above.

* Added in yet another X resource:

  deskset.calctool.sun3Keyboard: False

* Calctool no longer assumes that the keyboard is a Sun4 keyboard by
  default. The ioctl has got to be successful to determine if it's
  a Sun3 or a Sun4 keyboard. If this doesn't happen, then no right
  numeric keypad is setup.

----

v3.1 - patchlevel 25. 20th March 1991.

* Changed all occurances of DefaultColormap to:

  xv_get(xv_get(frame, WIN_CMS), CMS_CMAP_ID) ;

----

v3.1 - patchlevel 24. 18th March 1991.

* On a color screen (4bit or 8bit), if calctool can't allocate all
  the colors, it tries to cook up a special colormap using black,
  white, the workspace color, the default window color, a shade of
  gray (for the 3D button inversion), plus the tools foreground and
  background colors. The only new color should be the shade of grey.
  If we can't get that, or if this all fails for some other reason,
  then return FALSE, forcing calctool to monochrome.
  Color palette indices will be:

  C_WHITE   = white pixel color.
  C_BLACK   = black pixel color.
  C_GREY    = grey color.
  C_BACK    = workspace color.
  C_DISPCOL = tool background color.
  C_MEMORY  = tool background color.
  C_TEXT    = tool foreground color.
  the rest will be the window color.

----

v3.1 - patchlevel 23. 13th March 1991.

* Another new X resource has been added:

  deskset.calctool.sun4Keyboard:       true

  which will allow the user to override the default keyboard type,
  which is normally determined by doing an ioctl on /dev/kbd. This
  is for situations where the calctool program is running on a
  machine which has a different keyboard type then where the tool is
  being displayed.

* The XView event handler has been adjusted to correctly handle the
  numeric 6 key on the right function pad. Pressing this key now
  generates an ACTION_GO_CHAR_FORWARD event, and this was being
  incorrectly taken as Control-F (Frac) on the down press.

* Calctool now compiles, links and successfully runs with acc, if
  you ignore the warning messages.

----

v3.1 - patchlevel 22. 8th March 1991.

* Various control-character events are no longer recognised as ascii
  events, but instead generate action events. The following have been
  noticed, and the get_next_event() routine in xview.c has been
  adjusted to correctly handle this.:

  Control-a   - ACTION_GO_LINE_BACKWARD
  Control-f   - ACTION_GO_CHAR_FORWARD
  Control-u   - ACTION_ERASE_LINE_BACKWARD

* The calctool manual pages have been adjusted to correctly detail
  the Asc keyboard accelerator.

* The default startup mode for color machines, unless specified on
  the command line or via an X resource, has been changed to 2D. This
  will repaint faster to the screen.

----

v3.1 - patchlevel 21. 28th February 1991.

* The canvas event handler for calctool has been modified to call
  notify_next_event_func. The menu_show() call now uses the canvas
  paint window as its' second argument, and not the canvas itself.
  This now correctly allows menus that have been MENU clicked up,
  to correct accept the SELECT mouse button.
  Bugid 1035658 can be closed.

----

v3.1 - patchlevel 20. 27th February 1991.

* Added in a routine that compresses repaint events. This should speed
  up calctool repaint fractionally.

* Another X resource has been added:

  deskset.calctool.beep:        true

  which, if set to false, suppresses the beep sound in the event of
  an error (such as invalid input, or if the display needs to be
  cleared).

  The beep sound has been added for such error conditions.

----

v3.1 - patchlevel 19. 15th February 1991.

* The fontnames variables were not being initialised to NULL.

----

v3.1 - patchlevel 18. 15th February 1991.

* Have added in four new X resources, to allow you to specify the
  fonts used to display text with calctool:

  deskset.calctool.buttonFont:
  deskset.calctool.modeFont:
  deskset.calctool.memoryFont:
  deskset.calctool.displayFont:

  Normally calctool will use the lucidasanstypewriter font and pick a
  font size depending upon the scale and size of the calctool window.
  This would be for the button and memory fonts, with the mode font
  2 points smaller and the display font two points bigger. If the tool
  is resized, then the font sizes are adjusted accordingly.

  If any of the above X resources are used, then this no longer happens,
  and the new font names are always in effect irrespective of scale or
  size.

  The manual pages have been updated.

----

v3.1 - patchlevel 17. 14th February 1991.

* Have rewritten parentheses handling so that the parenthesis
  expression is not calculated until the last matching bracket has
  been entered. This now allows backspace to be easily and correctly
  handled.

----

v3.1 - patchlevel 16. 27th January 1991.

* Adjusted the property sheet. Moved the "Save calculator settings" to
  the bottom, and called it:

  Save settings as the default: [no][yes]

  If this property item is set to yes, then the current calctool
  settings are written to the ~/.desksetdefaults file when the user
  selects the Apply, Reset or Defaults buttons. This makes it
  compatible with clock and perfmeter.

* All the new property sheet items have had their help information
  added to the calctool.info file.

* Added in the command line option:   -name app-name

  This option specifies the application name under which resources are
  to be obtained, rather than the default executable file name.

* Found and fixed one more case related to bugid 1049453, which was
  mainly fixed in patch #15.

* All popup windows have been adjusted so that the pushpin is not in
  by default.

----

v3.1 - patchlevel 15 - 23rd January 1991.

* Removed redundant code in xview.c that was put there to try to fix
  the Sun4 Ins key problem, which no longer appears to be a problem.

* If the user presses a calctool button which has a window
  associated with it (Asc or Mem), and that window is already displayed,
  or if the user make a selection from a menu, and that would bring up
  a window, but that window is already displayed, then the window is
  popped to the top.  This fixes bugid 1049453 which can now be closed.

----

v3.1 - patchlevel 14 - 18th January 1991.

* The Delete key was working incorrectly with a Sun3 keyboard.

* The Ins key on a Sun4 keyboard no longer works with the latest OW
  V3 builds. A workaround would be to set the Ins key appropriately
  depending upon whether the calctool program currently has the
  keyboard focus. Unfortunately I don't know the magic keycode number
  to use to define the Ins key. The code has been written. When that
  magic number is found the INSFUNKEY definition in xview.c should be
  set appropriately, and the call to set_ins_key() in xview.c
  uncommented. For now, an entry has been added to the TODO file.

* The dynamic calctool resizing hasn't been working. Calctool no
  longer seems to get WIN_RESIZE events when the main calctool frame
  is resized. To try to "fix" this up, an event interpose routine
  for the main calctool frame has been added. It then tries to set the
  canvas size accordingly, and resize all the graphics objects, such
  as the offscreen server images for the buttons and the text fonts.

  With the introduction of the interpose routine to fix the resizing,
  occasionally there are strips of foreground color to the right and
  below in the various calctool windows.

  A much better and simpler solution would be to find out why calctool
  no longer gets WIN_RESIZE events on the canvas. All this used to
  work; the code to handle resize events on the canvas has been written
  and used to work.
