

	============== PATCH 2 CHANGES (SUMMARY) =========================


Patch 2 to the Khoros System was very extensive because of all the enhancements
that have been made since Patch 1. Below is a summary of the major changes
that have taken place as of Patch 2;  summaries of individual bug fixes and
enhancements then follow.


ENHANCEMENTS IN THE XVDISPLAY LIBRARY  & IMAGE DISPLAY PROGRAMS
---------------------------------------------------------------

There were significant changes to the xvdisplay library so that all Khoros 
programs that display images have full support for 24 plane displays. Direct 
Color and True Color visuals are supported.  Bit, byte, and RGB images are 
supported on these visuals;  with other image types, the user will be prompted
to convert.  There is also now support for screens of arbitrary depth.  
In addition, the section on the xvdisplay library in Chapter 8 of the 
Khoros Programmer's Manual has been totally re-written;  please see this
document if you have developed applications using the xvdisplay library, as
some routines have been outdated as of this patch.  


UPDATED METHOD FOR CONTRIBUTING NEW ROUTINES
--------------------------------------------

The whole concept of KHOROS_CONTRIB has been abandoned in favor of the use
of TOOLBOXES.  Any programs that rely on KHOROS_CONTRIB should be converted
to use a TOOLBOX. All Khoros tools (ghostwriter, composer, kinstall, imkmf, etc)
have been updated to support toolboxes;  from the user's point of view, the
most significant change to these routines is that they all now have a 
[-toolbox] option that you must specify when contributing routines
to the Khoros system.  The creation and use of toolboxes is explained at the
end of Chapter 1 of the Khoros Programmer's Manual, "Writing Programs".
There is an example toolbox that is distributed with Khoros 1.0, Patch 2,
that you may look at.  There is also a tarr'ed toolbox template that can
be found in $KHOROS_HOME/repos/config/toolbox/toolbox.tar that can be untarred
and used as a template toolbox directory structure.  Please see Chapter 1 of 
the Khoros Programmer's  Manual for an explanation of toolboxes.


INCREASED SUPPORT FOR THREE NEW ARCHITECTURES 
--------------------------------------------
Cray YMP's & Cray XMP's and Cray II's running UNICOS 5.*, 6.0, and 6.1.
(Special Thanks to Jeremy Worley)

Convex C220, ConvexOS 8.1  
(Special Thanks to Tait Cyrus)

MacII running A/UX 2.0.1, using gcc-1.39 as C compiler.
(Special Thanks to James Gallagher)


BUG FIXES & MISCELLANEOUS ENHANCMENTS
--------------------------------------------

A variety of bug fixes and enhancements have been made to different programs 
in the Khoros system.  See the individual listings below for descriptions 
of bug fixes that have been made.


	============== PATCH 2 CHANGES (INDIVIDUAL) ====================

Below is a summary of selected individual changes that have taken place since
the second patch to Khoros 1.0.  


~~~~~~~~~~~~~~~~~~~~~~~~~
   VIPL LIBRARY
~~~~~~~~~~~~~~~~~~~~~~~~~
          Routine :  vquant() / lvquant()     
 Fix/Modification :  Had an uninitialized pixtail->pixlist->next pointer.
  Fix Provided By :  Tom Lane (tgl@cs.cmu.edu)
     ---------------------
          Routine :  vgamut() / lvgamut()     
 Fix/Modification :  Fixed core dump on CRAY when an expression sent to abs()
		     evaluates to a negative number. Added diagnostic to print
		     out the number of colors found in the original image. This
		     is done only if KHOROS_VERBOSE is set to TRUE.
     ---------------------
          Routine : lvbandspt1() / vbandspt1()
 Fix/Modification : nonzero location size but no location data
     ---------------------
          Routine : lvpostscr() / vpostscr()
 Fix/Modification : If printing multiple images one one page (without flushing 
		    the output), the output got messed up.  The save and 
		    restore postscript statements were only being put in when 
		    a flush was occuring. Added the save and restore postscript 
		    statements to all image output.
     ---------------------
          Routine : lvsrt()
 Fix/Modification : square root of image of type double was incorrectly using
		    an uninitialized float pointer.
     ---------------------
          Routine :  vrotate()
 Fix/Modification :  Fixed a precision problem in the coordinate 
		     transformation that was causing two rows/cols of bogus 
		     output data. Now there is only one row/col, and this is a 
                     design limitation on the technique used. To fix this will 
                     require more work.
     --------------------
          Routine :  vclose()
 Fix/Modification :  Had a problem where vclose was accidentally calling the 
		     function adjacents(), but was supposed to be declaring it.
  Fix Provided By :  Xiao Jong Lee
     --------------------
          Routine :  vstats(), dstats()
 Fix/Modification :  Right before exiting, both routines would perform a
		     fclose(printdev).  The problem was that most of the time 
		     this device was not initialized, so the routine would 
		     sometimes core dump under circumstances where the load 
		     was fairly high.
     --------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
   	CACHE 
~~~~~~~~~~~~~~~~~~~~~~~~~

          Routine : holepath()
 Fix/Modification : Now  understands file names like "./blob.xv"
     ---------------------
 Fix/Modification : Needed to ignore signals while cache is being read/written, 
		    otherwise the cache may be left in an indeteriminant state.
		    Fixed by changing the signal used by cantata to kill a 
		    glyph process from SIGKILL to SIGINT, which can be blocked. 
		    Added signal mask block and restore to khlock and khunlock 
		    of lock.c


~~~~~~~~~~~~~~~~~~~~~~~~~
   VUTILS LIBRARY 
~~~~~~~~~~~~~~~~~~~~~~~~~
          Routine : machtype()
 Fix/Modification : Added support for CRAY, CONVEX, HP9000s700 & HP9000s800 
		    architectures
  Fix Provided By : Jeremy Worley (CRAY), Tait Cyrus (CONVEX),
		    Konstantine Konstantinides (HP).
     ---------------------
          Routine : imagesize()
 Fix/Modification : mapsize for a map of type complex was incorrectly computed
  Fix Provided By : Tait Cyrus (CONVEX)
     ---------------------
          Routine : readimage(), writimage()
 Fix/Modification : readimage() & writeimage() were performing flock() on 
		    stdin, stdout, and stderr.  These routines would also 
		    close these file descriptors, which caused problems when 
		    trying to access the specific fid at later date.
     ---------------------
          Routine : open_input(), open_output()
 Fix/Modification : changed to use fileno() for stdin, stdout, stderr instead 
		    of hardwiring 0, 1, 2 as the actual file descriptor.  
		    This should make the code more portable.
     ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
   NUMERICAL ANALYSIS 
~~~~~~~~~~~~~~~~~~~~~~~~~
          Routine : lmtrans / mtrans
 Fix/Modification : A bug caused images with more than one band to get
		    corrupted. 
     ---------------------
          Routine :  meigen/lmeigen     
 Fix/Modification :  When called with a real matrix having complex
  		     eigenvalues, returns only the real part of the
                     eigenvalues/eigenvectors.
  Fix Provided By :  Bengt Martennsson
     ---------------------
          Routine :  mmult()
 Fix/Modification :  This program would work correctly for multiband real 
		     images, but incorrectly for multiband complex images.
     ---------------------




~~~~~~~~~~~~~~~~~~~~~~~~~
   VEXPR LIBRARY
~~~~~~~~~~~~~~~~~~~~~~~~~

 Fix/Modification :  A bug that was introduced in patch 1 would produce an
		     error message if you entered a string expression such as
		     image.$i, which indicated that this was not a valid 
		     expression (it is).
    ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
   VGPARM LIBRARY
~~~~~~~~~~~~~~~~~~~~~~~~~

 Fix/Modification :  The vgparm library frequently made incorrect calls
	 	     to exit() which were replaced to calls to exit(1).
  Fix Provided By :  James Gallager
     ---------------------
 Fix/Modification :  vlower_string() 
		     This new function returns the lower case 
		     string for supplied input string
     ---------------------
 Fix/Modification :  vupper_string() 
		     This new function returns the upper case 
		     string for supplied input string
     ---------------------
 Fix/Modification :  vreplace_string() 
		     This new function performs a global change of text on
                     the input string.  It returns a string where every
                     occurrence of the "input token" is replaced with the
                     "replacement token".  If output_string is sent in as NULL,
                     the result will be malloc'ed for you.  If output_string
                     is provided as non-null, the result will be stored in
                     output_string.  For example, if we call:
                     new_string = vreplace_string("Welcome to Khoros", "Khoros",
                                                  "the Twilight Zone", NULL);
                     the result will be
                     new_string = "Welcome to the Twilight Zone".
     ---------------------
 Fix/Modification :  vreplace_char() 
		     This new function performs a global change of character on
                     the input string.  It returns a string where every
                     occurrence of the "input token" is replaced with the
		     "replacement token".  If output_string is sent in as NULL,
                     the result will be malloc'ed for you.  If output_string
                     is provided as non-null, the result will be stored in
                     output_string.  For example, if we call:
                     new_string = vreplace_string("Many fishes", "f", 
						  "w", NULL);
                     the result will be
                     new_string = "Many wishes"
     ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
   XVFORMS LIBRARY
~~~~~~~~~~~~~~~~~~~~~~~~~

 Fix/Modification : Strings with tic marks (') in them would not be interpreted
		    correctly.  The string extracted would only consist of those
		    characters that appeared before the first tic mark.  This
		    bug in xvforms would show itself in xprism2, xprism3, 
		    cantata, or any other application that had a string 
		    parameter in which text containing a tic mark was entered.
     ---------------------

 Fix/Modification : With respect to CRAY port, changed signal handlers to 
		    the BSD-style because the sysV style removed the handler
		    from the table - an incorrect procedure for CRAY.
     ---------------------

 Fix/Modification :  Added code that would turn on bounds-checking in order
		     to port cantata to the CRAY.
     ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
   XVDISPLAY LIBRARY 
~~~~~~~~~~~~~~~~~~~~~~~~~
	All routines now support 24-plane machines with DirectColor or
	TrueColor visuals;  in addition, the section on xvdisplay in 
	Chapter 8 of the Khoros programmer's Manual has been re-written.
	If you have applications that use the xvdisplay library, please
	consult Chapter 8, as some routines have been out-dated as a
	result of the enhancements.

          Routine :  xvd_convert_image()     
 Fix/Modification :  Pop-up warning user that all images will be automatically
		     converted in the future was confusing. 
     ---------------------

          Routine : xvd_create_raster()
 Fix/Modification : Extended the width of the position/pixel value box by three
                    spaces so that the exponent of the value isn't truncated.
     ---------------------


~~~~~~~~~~~~~~~~~~~~~~~~~
   FILE_FORMATS LIBRARY 
~~~~~~~~~~~~~~~~~~~~~~~~~
          Routine :  pbm2viff     
 Fix/Modification :  Used hardcoded 512 instead of LENGTH
  Fix Provided By :  Tait Cyrus (cyrus@cvxcs.convex.com)
     ---------------------
          Routine :  pbm2viff/lpbm2viff()
 Fix/Modification :  pbm2viff would incorrectly produce a 3 band image of type 
		     no map, when converting a 24 bit rgb pbm image.  Corrected
		     to create an image with a map type of generic rgb.
     ---------------------
          Routine :  pbm2viff/lpbm2viff()
 Fix/Modification :  pbm2viff would core dump on the Apollo architecture
     ---------------------
          Routine :  xbm2viff/lxbm2viff()
 Fix/Modification :  The meanings of photo-positive & photo-negative were
                     permutated.
  Fix Provided By :  Tait Cyrus (cyrus@cvxcs.convex.com)
     ---------------------
          Routine :  lmat2viff / mat2viff
 Fix/Modification :  matrix was unitialized resulting in 
		     poor behavior in readmatrix.
  Fix Provided By :  Bengt Martennsson
     ---------------------
          Routine : lviff2mat / viff2mat
 Fix/Modification : Handled multiband images incorrectly
  Fix Provided By :  Bengt Martennsson
     ---------------------
          Routine : lviff2mat / viff2mat
 Fix/Modification : Incorrectly called close() instead of fclose()
  Fix Provided By : Tait Cyrus
     ---------------------
          Routine : tga2viff 
 Fix/Modification : Changed default offset from 128 bytes to 0 bytes.
  Fix Provided By : Tait Cyrus
     ---------------------
          Routine : read_tga() 
 Fix/Modification : size_col_map was incorrectly computed in BITS 
		    rather than BYTES.
  Fix Provided By : Tait Cyrus
     ---------------------



~~~~~~~~~~~~~~~~~~~~~~~~~
   PUBLIC DOMAIN LIBRARIES 
~~~~~~~~~~~~~~~~~~~~~~~~~
          Routine : tiff_error & tiff_warning
 Fix/Modification : Added ifdef for Convex where vfprintf() is not defined
  Fix Provided By : Tait Cyrus
     ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
     XPRISM2 & XPRISM3
~~~~~~~~~~~~~~~~~~~~~~~~~

 Fix/Modification :  Plot Information now prints out using %g instead of %f
		     so that if you have data with very small values
		     (0 .. 1e-12) the values will not be truncated to zero.
     ---------------------

 Fix/Modification :  Input from a file now updated to use the caching 
		     mechanism when applicable.
     ---------------------

 Fix/Modification : typo in prompt for Reset Max/Min
  Fix Provided By :  Tait Cyrus (cyrus@cvxcs.convex.com)
     ---------------------

 Fix/Modification : gwin->wcmin.z, gwin->wcmax not initialized to zero, causing
                    occasional floating point exceptions on some architectures 
		    (convex)
  Fix Provided By :  Tait Cyrus (cyrus@cvxcs.convex.com)
     ---------------------

 Fix/Modification : xprism2/xprism3 would crash when you deleted plot(s) 
		    from the workspace and then tried to write out an answer 
		    file.  make_answer_file() and inquire_plot_XD() incorrectly
		    assumed that plot id numbers were incremental, beginning 
		    at 1.
     ---------------------

 Fix/Modification : A memory-overwrite bug in display_data_sampling() caused 
		    core dumps on a SUN when data sampling was used with xprism3
  Fix Provided By : Mathew Yeates (mathew@elroy.jpl.nasa.gov)
     ---------------------

 Fix/Modification : When using annotations, you can now use any symbols font
		    that is defined on your X server.  Find available symbols
		    fonts by using {% xlsfonts | grep symbol};  then, specify
		    the desired font by providing it in the "font" parameter
		    box of the "Text" pane of the "Annotations" subform.  
		    The use of wildcards is permissable.  
  Fix Provided By : Mathew Yeates (mathew@elroy.jpl.nasa.gov)
     ---------------------

 Fix/Modification : xprism3 would not restore the Z axis label from 
		    an answer file.
     ---------------------

 Fix/Modification : Incorrect closing of files caused problems -- after 
		    inputting a certain number of files, there were no more 
		    file descriptors available for use, so xprism would give 
		    an error message saying that the file was not found, in 
		    spite of the fact that it did exist.
     ---------------------

 Fix/Modification : When the CHANGE MAX MIN option on the Axes pane of the 
		    Options subform was used, the plot interval was not re-
		    calculated correctly when (max - min) < interval.  Some 
		    people may have noticed this as a different problem:  
		    when the axes were relabeled, and an answer file was 
		    created, the axes would go back to their original 
		    orientations when the answer file was read back in.
     ---------------------

 Fix/Modification : The documentation for xprism2 said that the bounds for 
		    the [-pt] option (plot type) ranged from 1 (2D) to 5 
		    (linemarker).  The range checking was correct - from 0 to 
		    4, it was the documentation that was wrong.  Doc is now 
		    fixed so the correct range for the [-pt] option is stated
		    as 0 to 4.
     ---------------------

 Fix/Modification : The function name truncate() clashed with a system call
		    on the HP architecture.  ttruncate changed to ttruncate().
  Fix Provided By : Konstantine Konstantinides (kk)
     ---------------------

 Fix/Modification : If you created an image with the cache on, (image lives 
		    ONLY IN CACHE, and then try to use xprism2 or xprism3 to 
		    look at it, you will be told that the file does not exist 
	            (on disk).  Had to modify get_file_type() to know NOT to
	 	    look at disk first if cache was on.
     ---------------------




~~~~~~~~~~~~~~~~~~~~~~~~~
     WARPIMAGE         
~~~~~~~~~~~~~~~~~~~~~~~~~

 Fix/Modification :  Warpimage would not warp correctly on an HP architecture.
  Fix Provided By :  Konstantine Konstantinides (kk@hpkronos.hpl.hp.com)
    ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
     ANIMATE         
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification : Animate changed to call vbandcomb with "-m 2" instead
		    of "-m 0", thus fixing the problem described by Robert
		    Paul of Dalhousie University, Nova Scotia: "...I have
		    6-bit 64 grey scale images and if one of them is input
		    into animate, it looks fine.  But as soon as I put in 
		    more than 1 ... the [colormap is corrupted] and it is too
		    faint to see..."
    ---------------------
 Fix/Modification : The animate program did not display the entire image;
		    about 10 row pixels and 10 column pixels were not displayed.
    ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
     EDITIMAGE         
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification :  Fixed insufficient width of position/pixel value box. 
		     It was too short, and cut off the exponent when the output 
    ---------------------

 Fix/Modification : When using annotations, you can now use any symbols font
		    that is defined on your X server.  Find available symbols
		    fonts by using {% xlsfonts | grep symbol};  then, specify
		    the desired font by providing it in the "font" parameter
		    box of the "Text" pane of the "Annotations" subform.  
		    The use of wildcards is permissable.  
  Fix Provided By : Mathew Yeates (mathew@elroy.jpl.nasa.gov)
		     notation flipped to scientific.
    ---------------------
 Fix/Modification : Occasionally, the combine annotations
 		    sometimes combined the pulldown with the image.
    ---------------------


~~~~~~~~~~~~~~~~~~~~~~~~~
     CANTATA 
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification :  A bug that was introduced in patch 1 would produce an
                     error message if you entered a string expression such as
                     image.$i, which indicated that this was not a valid
                     expression  (it is).  This was fixed in the vexpr library.
    ---------------------
 Fix/Modification : Changed the signal used in xvl_stop_glyph() to stop a 
		    running glyph from SIGKILL to SIGINT.  This lets readimage()
		    and writeimage() block signals while dealing with the 
		    cache and insure that cantata is left in a coherent state.
    ---------------------
 Fix/Modification : Fixed bug where if/else expressions would not work, but
		    instead report an error message about the if_else expression
		    having to be given a value before the workspace is run.
		    This resulted most obviously in the workspace
		    $KHOROS_HOME/repos/workspace/vipl/if_else.Z not working.
    ---------------------
 Fix/Modification : if you save a workspace with "use global variables" set to
		    NO, and then restore it, the "use global variables" restores		    as YES.
    ---------------------

 Fix/Modification : If a glyph produced an error, cantata would occasionally
		    schedule the remaining part of the network in spite of the
	            fact that an error had occurred.
    ---------------------

 Fix/Modification : In workspaces that involved a count loop or a while loop
		    that had no initial input (ie, the loop drove itself)
		    there were particular situations in which cantata would
		    exit prematurely, prompting the user to save the workspace
		    from the tty.  (This was actually a core dump, but that
	            would not always be obvious to the user).
    ---------------------

 Fix/Modification : In a situation that causes cantata must exit prematurely,
		    the user will now be informed as to what the problem was,
		    in addition to being prompted to save the workspace. 
		    For example, suppose you hit ^C in the tty during the
		    execution of cantata;  this is the message that is printed:

		    Error! The following cantata error has occurred:
        		Routine interrupted...
	            Do you wish to save the current workspace before exiting? 
								(y/n)... n
    ---------------------
 Fix/Modification : Cantata now allows you to change the colors of glyphs
		    via the .Xdefaults file.  For example, you might want the
		    background of the "Reset" button to be cyan, the "Destroy" 
		    button to be red , and the "Run" button to be green.  These
		    attributes would be set with the following lines in the
		    .Xdefaults file:

		    cantata.ResetBackground:        cyan
		    cantata.ResetForeground:        black
		    cantata.DestroyBackground:      red
		    cantata.DestroyForeground:      black
		    cantata.RunBackground:          green
		    cantata.RunForeground:          black

		    For a full example of the settable glyph attributes, see
		    $KHOROS_HOME/dotfiles/Xdefaults, or see the online doc 
		    on "xdefaults" available on the "Attributes" subform of 
		    the "Workspace" pulldown menu.
    ---------------------

 Fix/Modification : The generic command glyph now allows you to change its 
		    label, in the same way as you can change the label in the 
		    comment glyph (vcomment).  This helps to distinguish
		    between different command glyphs. 
		    
    ---------------------
 Fix/Modification : Some instances of nested control loops would not schedule
		    correctly;  an error message from the cantata dispatcher
		    would appear.  This has been fixed in some instances, but 
		    there may be similar problems in other instances that have
		    not been identified as of yet.

~~~~~~~~~~~~~~~~~~~~~~~~~
     GHOSTWRITER         
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification : Ghostwriter now has the optional command line argument:
                    [-cp {alternative copyright file}].  This will enable you 
		    to have a file (which MUST be in *.prog format) that 
		    specifies a short version of your own copyright (for man 
		    pages) and a long version of your copyright (for generated 
		    code).  To create and use this alternative copyright file, 
		    simply copy the file $KHOROS_HOME/repos/utils/cpright.ghost,
		    and change it to contain the desired long and short 
		    copyrights.  LEAVE ghostwriting keys alone!  Then, specify 
		    this new file after the [-cp] flag on the command line when
                    using ghostwriter.

    ---------------------

 Fix/Modification : Ghostwriter now has the optional command line argument:
                    [-toolbox {toolbox name}].  This enables ghostwriter to work
		    with the new toolbox capability.
    ---------------------

 Fix/Modification : Added lines to ghostreader & ghostwriter to link in 
		    XtToolkitInitialize() so that it would not produce errors 
		    when linked with shared libraries.
     ---------------------

 Fix/Modification : An illegal string index bug in ghostwriter that appeared 
		    on the HP in some cases caused ghostwriter to bomb after 
		    creating the *.c file.
    ---------------------

 Fix/Modification : If a begin key or end key (only one, not both) of a 
		    pair of keys was missing from the *.prog file, the
		    generated program could become corrupted.  The severity
		    of corruption would depend on which begin/end key was
		    missing -- damage ranging from slight to catastrophic 
		    depending on the key that was missing.  Error checking
		    installed so that ghostreader/ghostwriter will exit
		    after detecting a missing key.
    ---------------------

 Fix/Modification : Changed #defines so that users can have up to 75
                    elements in a toggle (previously 20), and 50 in a mutually 
		    exclusive group (also previously 20).
		    Eliminated the MaxToggleElem #define, as it was not used.
    ---------------------

 Fix/Modification : If [-config True] was used, ghostwriter would install the
		    *.c, *.h, and l*.c files, even if [-install False] was 
		    provided on the command line.
    ---------------------




~~~~~~~~~~~~~~~~~~~~~~~~~
     CONDUCTOR         
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification :  Code generated in form_init.c did not return(TRUE) on
		     success, inconsistent when returning(FALSE) on failure. 
     ---------------------
 Fix/Modification : Added line to link in XtToolkitInitialize()
                    so that it would not produce errors when linked with
                    shared libraries.
     ---------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
     GETIMAGE         
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification : Added line to link in XtToolkitInitialize()
                    so that it would not produce errors when linked with
                    shared libraries.
     ---------------------
 Fix/Modification : Getimage has changed with additional functionality.  
		    There are now three new options.  They are:
        	    [-decor]  grab the screen (WM) decoration? (boolean) [true]
        	    [-name]  name or id of window to dump (string) [null]
                    [-all]  get the entire screen? (boolean) [false]
		    The first is [-decor] which now allows the user to control 
		    whether to grab the window manager decorations on the 
		    window, or just the contents of the window.  The second 
	            allows the user to grab a window by name or id.  The window 
		    will be grabbed without prompting the user.  The third 
		    allows the user to grab the entire screen without being 
		    prompted.

~~~~~~~~~~~~~~~~~~~~~~~~~
     PUTIMAGE         
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification : If desired, you may now type 'q' to exit.

~~~~~~~~~~~~~~~~~~~~~~~~~
     ICONIMAGE         
~~~~~~~~~~~~~~~~~~~~~~~~~
 Fix/Modification : If desired, you may now type 'q' to exit.


~~~~~~~~~~~~~~~~~~~~~~~~~
    TOOLS
~~~~~~~~~~~~~~~~~~~~~~~~~
          Routine :  installit
 Fix/Modification :  Added bootstrap flag options for Crays running
		     UNICOS 5.* and Crays running UNICOS 7.0;
		     added bootstrap flag option [-pcc] for Convex's running
		     ConvexOS 8.1.  
     ---------------------

          Routine :  imake
 Fix/Modification :  Added IFDEF in imakemdep.h so that the CRAY portable
		     C pre-processor is called instead of the ANSI-C
		     pre-processor, since Khoros Makefiles are not ANSI-C.
		     This was critical for any CRAY port of Khoros.
     ---------------------

          Routine :  imake
 Fix/Modification :  Added IFDEF in imakemdep.h to support CONVEX 
  Fix Provided By :  Tait Cyrus
     ---------------------

          Routine :  imkmf
 Fix/Modification :  There was a bug in the code involving a bogus 
		     declaration of the donothing() routine.
     --------------------

~~~~~~~~~~~~~~~~~~~~~~~~~
    CONFIGURATION FILES
~~~~~~~~~~~~~~~~~~~~~~~~~
             What :  New symbol called "UseTiff"
 Fix/Modification :  If this symbol is set to YES in the machine.cf file in
		     $KHOROS_HOME/repos/config/imake_conf, then the tiff 
		     library and conversion routines (tiff2viff and viff2tiff) 
		     will be compiled and installed. If it is set to NO, then 
		     the tiff library will not be compiled and the tiff2viff 
		     and viff2tiff will be installed as a shell script that 
		     says the tiff library was not compiled.
		     Also, if UseTiff is set to NO then no programs in the 
		     system will link against libtiff.a
     --------------------

             What :  CRAY configuration file
 Fix/Modification :  Took configuration based on Bob Weaver's port, and 
		     modified it so that it would work with UNICOS 5.*, 6.*,
		     and alpha 7.0;  also tuned optimization flags.
     --------------------

             What :  CONVEX configuration file
 Fix/Modification :  Added configuration file provided by Tait Cyrus
     --------------------

             What :  HP configuration file
 Fix/Modification :  Modified HP configuration file to support 700 series 
		     as provided by Konstantin Konstantinides
     --------------------

             What :  SUN configuration file
		     Changed DefaultCCOptions from -Bstatic to none when
		     not building shared libraries as suggested by George
		     Lindholm.  There is no need to link everything
		     statically on a sun if shared libraries are not used;
		     it just uses up more disk space.
     --------------------

             What :  MacII configuration file
		     Added configuration file provided by James Gallagar
     --------------------


~~~~~~~~~~~~~~~~~~~~~~~~~
    MISCELLANEOUS
~~~~~~~~~~~~~~~~~~~~~~~~~
             What :  Keywords Capability
 Fix/Modification :  The keywords have been changed to use a default keywords 
		     file ($KHOROS_HOME/repos/Keywords) if the user has not 
		     specified one in their KHOROS_KEYWORDS environment 
		     variable.
     --------------------

             What :  Fortran Include File 
 Fix/Modification :  Added support for CRAY's binding for FORTRAN objects.
     --------------------
             What :  xprism3 UIS file
 Fix/Modification :  Toggle for input plot files listed i13 twice.
     --------------------
             What :  Various Khoros include files
 Fix/Modification :  Added support for Convex, CRAY, MacII.
   Fix Provided By:  Tait Cyrus
     --------------------


             What :  tmac.manual
 Fix/Modification :  Fixed syntax errors reported by groff.
   Fix Provided By:  George Lindholm (lindholm@ucs.ubc.ca)
     --------------------

             What :  prnmanual
 Fix/Modification :  Fixed syntax errors reported by groff -Tps.
   Fix Provided By:  George Lindholm (lindholm@ucs.ubc.ca)
     --------------------

             What :  vfileinfo pane in cantata
 Fix/Modification :  Fixed typo "Ouput" to "Output"
     --------------------


~~~~~~~~~~~~~~~~~~~~~~~~~
    DOCUMENTATION
~~~~~~~~~~~~~~~~~~~~~~~~~

	     Item : The documentation on xvdisplay 
	     What : Was totally re-written
	  Found In: Khoros Manual Vol2, Chapter 8 - Libraries, xvdisplay 
        --------------------
	
	     Item : "Writing Programs" 
	     What : Was updated to instruct user on using Toolboxes
	  Found In: Khoros Manual Vol2, Chapter 1 
        --------------------

	     Item : "Configuration Management" 
	     What : Was updated to instruct user on using Toolboxes
	  Found In: Khoros Manual Vol2, Chapter 9 
        --------------------

	     Item : The Installation document 
	     What : Was updated 
	  Found In: Khoros Manual Vol2, Chapter 10, /release/install.* 
        --------------------

             Item : copyimage() 
	     What : Incorrectly stated to return an int, instead
		    of correct struct xvimage *.
	  Found In: Khoros Manual Vol2, Chapter 8 - Libraries, vutils 
        --------------------

             Item :  vfft man page
             What :  Put a few paragraphs in the man pages regarding the 
		     frequency shifting and scaling done in the FFTs.
         Found In :  $KHOROS_HOME/man/man1/vfft.1
     --------------------

             Item :  vbandspt1 man page
             What :  Modified to clarify that band numbering begins with ZERO.
         Found In :  $KHOROS_HOME/man/man1/vbandspt1.1
     --------------------

             Item :  Imake Documentation
             What :  Incorrectly stated the default for 'DependDir';  
		     'DependDir' was typo'd to 'DepenDir' in places.
         Found In :  $KHOROS_HOME/manual/appendix/imake/imake.man
     --------------------

             Item :  createimag()
             What :  Some #defines were specified as VIFF_xxx when they should
		     be VFF_xxx.  Long explanation of arguments were not in
		     the order of their placement in the call. In particular,
		     "comment" was described as if it were the last argument
		     when in fact it is the 6th argument.
         Found In:   Khoros Manual Vol2, Chapter 8 - Libraries, vutils
     --------------------

             Item :  online help for minvert
             What :  On the "Matrix Algebra" subform, the "Invert" pane had
		     a bad path to the online help page.
         Found In:   cantata 
     --------------------
