
-----------------------------------------------------------------------------|

	       ============== PATCH 5 CHANGES (SUMMARY) ===============

               Below is a summary of individual changes that have taken place 
                          since the fifth patch to Khoros 1.0.  
        
                  ~~~~~~~~~~~~~~~~~~~~~~~~~
                       VIPL LIBRARY
                  ~~~~~~~~~~~~~~~~~~~~~~~~~
                  Routine : lvbpf, lvfractal, lvhisto, lvhpf, lvlabel, lvlpf, 
                            lvmarr, lvmpp, lvpml, lvspatial, lvstats, lvbrf, 
                            lvcluv, lvgamut
        
         Fix/Modification : Deleted unnecessary declarations of sqrt(), log(),
        		    log10, pow(), fabs();  also moved declaration of 
                            static routines out of calling function to top of 
                            file, as the Convex does not allow the declaration 
                            of static functions inside other functions.
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                            ---------------------
        
                  Routine : vconvert / lvconvert
         Fix/Modification : In lvcvt in lvconvert.c, scale_factor used to 
                            perform scaling even if sflg is set to 0. This 
                            actually only happened when nflg is zero also.
                            If a viff contained an image with an invalid 
                            data_storage_type, then lvconvert printed:
                                   lvconvert: unknown target conversion type
                            The message now reads:
                                   lvconvert: unknown source conversion type
                          ---------------------
                  Routine : vqmed / lvqmed
         Fix/Modification : Fixed problem with chosing middle of sorted array
                          ---------------------
                  Routine : vclose / lvclose
         Fix/Modification : Fixed problem of array bounds in dir (mod problem)
                          ---------------------
                  Routine : vdyth / lvdyth
         Fix/Modification : Fixed 3 problems with array bounds and indexing.
                          ---------------------
                  Routine : lvfft2d
         Fix/Modification : Fixed so that it does NOT FREE THE INPUT IMAGES!
                          ---------------------
                  Routine : vrtoc / lvrtoc
         Fix/Modification : Added support for data type double.
                          ---------------------
                  Routine : vctor / lvctor
         Fix/Modification : Added double complex support, fixed doc, and 
                            malloc() problem 
                          ---------------------
                  Routine : vgsin / lvgsin
         Fix/Modification : Many fprintfs in error conditions were called with
                            too many arguments
                          ---------------------
                  Routine : vthres
         Fix/Modification : Now has "live" parameters
                          ---------------------
                  Routine : vpolygon
         Fix/Modification : traced line between min and min instead of
                            max and min 
                          ---------------------
                            
        
        
                           ~~~~~~~~~~~~~~~~~~~~~~~~~
                               DSPL LIBRARY
                           ~~~~~~~~~~~~~~~~~~~~~~~~~
                  Routine : ldfft1D, ldfiltbp, ldfiltbs, ldfilter, ldfilthp, 
                            ldfiltlp, ldhart1d, ldminorm, ldmpp, ldmusic, 
                            ldnormal, ldzresp, readpoly, writepoly, ldacorr
         Fix/Modification : Deleted unnecessary declarations of sqrt(), log(), 
                            log10, pow(), fabs(); also moved declaration of 
                            static routines out of calling function to top of 
                            file, as the Convex does not allow the declaration 
                            of static functions inside other functions.  Added 
                            checks of the return values of some calls.
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                           ---------------------
                  Routine : readpoly()
         Fix/Modification : Changed calls and declarations of poly_parse() 
                            dspl_parse() because imake rules for yacc now 
                            include sed scripts to force variables to be 
                            unique in all parsers.
                           ---------------------
                  Routine : ldxcorr, ldgwindow, ldpwl, ldfiltlp, ldminorm, 
                            ldmusic, ldmtapp, ldfft1d, ldhart1d, ldfht, 
                            and ldfilter
         Fix/Modification : Corrected implicit declarations to external 
                            routines, corrected various incorrect calls to 
                            fprintf(), corrected return types, etc.
                           ---------------------
                  Routine : eval_poly()
         Fix/Modification : changed summation to subtraction in eval_poly() 
                            for denominator.
                           ---------------------
                  Routine : ldmirror, ldifft1d, ldfft1d, ldsubsamp, readpoly,
        	            and ldextract
         Fix/Modification : implicitly declared dunload_vector(), ldshift(), 
                            fft842_(), and poly_parse() in these routines
                           ---------------------
                  Routine : ldcpad()
         Fix/Modification : return type of ldcpad() was implicit.
                           ---------------------
                  Routine : ldarpsd()
         Fix/Modification : argument declarations for arfrom and estimate 
                            missing.  propertype() implicitly declared...made 
                            explicit int.  larpsde() dropped off the end with
                            out a return() call.
                           ---------------------
                  Routine : createpoly()
         Fix/Modification : unused variable k deleted
                           ---------------------
                  Routine : ldfilter()
         Fix/Modification : autoregressive terms of filter were being inappro-
                            priately accumulated into response.  made implicit 
                            function type of poly_info explicit.
                           ---------------------
                  Routine : ldacorr
         Fix/Modification : 1. changed call to lfft1d in ldfacorr() to 
                               fft842_() since lfft1d is being phased out.  
                            2. explicitly declared some functions that were 
                               implicitly declared  
                            3. modularized ldfacorr() 
        	            4. changed a small scaling problem with the output. 
                           ---------------------
                  Routine : ldlsynth
         Fix/Modification : 1. Added explicit return type to ldlsynth().
                            2. Made implicitly defined functions explicit.
                            3. Made data_type and arith_type arguments to 
                               synthesis() explicitly defined as int.
                            4. Added a return to the end of synthesis().
                            5. Initialized parr,pari,backr,backi to NULL 
                               in synthesis().
        		    6. Fixed bug in size of complex data sequences. 
                           ---------------------
                  Routine : ldconvo(), ldxcorr()
         Fix/Modification : 1. phased out use of lfft1d in favor of the 
                               fortran based fft842_ found in vipl/Lib.
                            2. fixed a scaling problem in the fft based 
                               convolution routine
                            3. rewrote the fft based convolution routine 
                           ---------------------
                  Routine : ldfilconv()
         Fix/Modification : malloc() declared redundantly
                           ---------------------
                  Routine : dgXXXX()
         Fix/Modification : Ensures that if any two or more noise generators 
                            are run at exactly the same time, they will not 
                            generate the same random numbers.  This was done
			    by changing the urng() function in the vmath
			    library.
                           ---------------------

                          ~~~~~~~~~~~~~~~~~~~~~~~~~
                          NUMERICAL ANALYSIS LIBRARY
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
        
                  Routine : lmsvd(), lmlud(), lmlde(), lmlse(), lminvert(), 
                            lminfo(), lmeigen() lmtrans(), lmmult().
         Fix/Modification : Some functions were implicitly declared, arguments 
                            to some static functions were implicitly declared.  
                            Made sure functions declared explicitly; moved 
                            static declarations to includes section.
        
        
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
                             VMATH LIBRARY
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
                  Routine : get_princ_axis(), vcabs()
         Fix/Modification : Deleted unnecessary declaration of sqrt()
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                          ---------------------
                  Routine : dvcabs(),dcadd(),dcsub(),dcdiv(),dcmul()
         Fix/Modification : double precision argument versions of 
                            vcabs(),cadd(),csub(),cmul(), cdiv(). 
                            Also updated include/vmath.h to declare vcabs() 
                            and dvcabs() - they were missing. Updated vmath.3 
                            man page.
                          ---------------------
		  Routine : urng() in random.c
         Fix/Modification : internal routine called _genseed() that returns
			    a unique seed ensuring that if any two or more
			    noise generators are run at exactly the same time,
			    they will not generate the same random numbers.
                          ---------------------
                  Routine : urng()
         Fix/Modification : Ensures that if any two or more noise generators 
                            are run at exactly the same time, they will not 
                            generate the same random numbers.
        
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
                               VUTILS LIBRARY
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
                  Routine : freeimage()
         Fix/Modification : Added a defensive check to see of the object being 
                            passed in is really a VIFF image. This also catches 
                            attempts to free an image more than once!
                           -------------------
        
        
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
                             VEXPR LIBRARY
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
      	 Fix/Modification : Moved declaration of static routines out of
       			    calling function to top of file, as the Convex
       			    does not allow the declaration of static functions
       			    inside other functions.
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                           -------------------
        Fix/Modification : The parser was acting very badly for symbolic
			   re-assignment.  Since the parser is symbolic
			   it needed to update it value when it was being re-
			   classified from being a VARIABLE to EXPRESSION
			   assignment.  The following is a scenario in which
			   the parser was giving incorrect results:

					i = x+y
					x = 5
					y = x+5
					i = i+1
                           -------------------
        Fix/Modification : The parser didn't have auto-increment or auto-
			   decrement.  Therefore, variables didn't understand

					i++; j--;
                           -------------------

        

                          ~~~~~~~~~~~~~~~~~~~~~~~~~
                             FILE FORMATS LIBRARY
                          ~~~~~~~~~~~~~~~~~~~~~~~~~
       	 Fix/Modification : Moved declaration of static routines out of
       			    calling function to top of file, as the Convex
       			    does not allow the declaration of static functions
       			    inside other functions.
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                           ------------------------------
      	 	   Routine: max_viff_value()
       	 Fix/Modification : Changed from static int routine to int routine
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                           ------------------------------
                   Routine: raw2viff and read_raw()
         Fix/Modification : Fixed a bug for complex pairs and bits
                           ------------------------------
                   Routine: tiff2viff
         Fix/Modification : tiff2viff fixed to be able to convert 24 bit 
                            (RGB) imageS
                            ------------------------------
                   Routine: lrast2viff/ rast2viff
         Fix/Modification : Had a problem with calculating size of bit images 
                            and modulo 16 images
                            ------------------------------
                   Routine: raw2viff/ convert_raw_data()
         Fix/Modification : In some cases, raw2viff could seg fault.
                            ------------------------------
        
                    ~~~~~~~~~~~~~~~~~~~~~~~~~
                      VGPARM LIBRARY
                    ~~~~~~~~~~~~~~~~~~~~~~~~~
       	 Fix/Modification : Moved declaration of static routines out of
                            calling function to top of file, as the Convex does 
                            not allow the declaration of static functions inside 
                            other functions.
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                            ------------------------------
         Fix/Modification :  the vgparm string function vget_string() would not 
                             allow a "-" as the first argument of the string 
                             (e.g. -2.0 is not an acceptable string).
        
        
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        DISTRIBUTED PROCESSING / DATA TRANSPORT
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
         Fix/Modification : Number of bugs fixed in the phantom script
           Fix Provided By: Konstantinos Konstantinides (kk@hpkronos.hpl.hp.com)
                          ------------------------------
         Fix/Modification : $KHOROS_HOME/src/Lib/vgparm/Socket.c had a function 
                            named inet_addr() that needed to be changed to 
                            inet_network().  (note: this problem seemed to be 
                            only on a DG Aviion).
                           ------------------------------
         Fix/Modification :  When one tried to execute a program on a remote 
                             machine, where the program had a string-type 
                             argument, and the string value provided had a space 
                             in it,  the argument was broken into two distinct 
                             command line arguments, and thus the command was 
                             wrong.
                           ------------------------------
         Fix/Modification :  The -m {machine} option was not implemented,
                             meaning the generic command glyph in cantata 
                             didn't work at all for remote execution.  
                             It is still difficult to use the remote command
                             since the kexec() routine doesn't currently 
                             understand redirection...
                             ------------------------------
         Fix/Modification :  Internal transport drivers were returning TRUE and 
                             FALSE instead of 0 and -1.  The transport routines 
                             that the application programmer uses return 0 and 
                             -1 so the internal transport routines were changed 
                             to make the coding more standardized.
                             ------------------------------
         Fix/Modification :  When a non-existent machine was specified for a 
                             glyph to execute on,  the glyph would run as if
                             it had found the machine with a daemon running. 
                             However, the next glyph would fail since it could 
                             not find the data.  
                             ------------------------------
         Fix/Modification :  More transport routines are now available such
			     as kfgets(), kfgetc(), kfputs(), kfileno(),
			     kfork(), etc.
                             ------------------------------
         Fix/Modification :  The internal conversion of the fopen() open
			     arguements ("rw", "r+", etc) weren't translating
			     correctly to open() arguments (O_RDONLY, etc).
                             ------------------------------
         Fix/Modification :  The handling of
                             ------------------------------
        
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                      XVDISPLAY LIBRARY
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : The value of a Cycle selection on a pane would
                            not be translated into a command line argument 
        		    when the user clicked on "Execute", because the
        		    appropriate code had never been added to 
        		    the form2command() routine.
                            ------------------------------
         Fix/Modification : Moved declaration of static routines out of
                            calling function to top of file, as the Convex
         		   does not allow the declaration of static functions
         		   inside other functions; deleted redundant 
         		   declaration of log().
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                            ------------------------------
         Fix/Modification : in xvd_delete_xvdisplay() if a overlay was
			    being used and no icon pixmap had been built
			    then an X protocol error would occur upon exiting.
                            ------------------------------
         Fix/Modification : in xvd_update_position() the pixel value now prints
			    out (RGB) if the original image is a truecolor (rgb)
			    image.
                            ------------------------------
         
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                      XVGRAPHICS LIBRARY
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                   Routine: X3D_draw_text(), X2D_draw_text(), 
                            X3D_normalize(), X2D_normalize()
         Fix/Modification : When a set of data was plotted in 3D with x-axis 
                            values very small,  the x-axis divisions were
                            numbered upside down and backward.
                            ------------------------------
         Fix/Modification : Moved declaration of static routines out of
         	            calling function to top of file, as the Convex
         		    does not allow the declaration of static functions
         		    inside other functions; deleted redundant 
         		    declarations of log(), and log10().
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
         
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                      XVFORMS LIBRARY 
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
        Fix/Modification : An attempt was made to fix the "oscillating forms"
                           problem that was most often seen in xprism2 and 
                           xprism3.  The attempt appears to have been successful
                           although failure to replicate the bug reliably means
                           that we must wait for users to verify the fix.
                           ------------------------------
        Fix/Modification : Will now create all the widgets on a pane when that
         	           pane contains a workspace, even if the pane is not 
                           the default, so that conductor can initialize the 
                           workspace widget properly.
                           ------------------------------
        Fix/Modification : When a pane file used the [-A] and [-Z] AnswerInfile
                           and AnswerOutfile UIS lines, and was displayed via
                           cantata, the xvforms library would go into an
			   infinite loop.
                           ------------------------------
        Fix/Modification : When GUI answer files were read in using the [-A]
                           AnswerInfile option on a pane, the parameters on the
                           pane would repeatedly be changed to the values
			   defined by the first answer file read in;
			   subsequent answer files would not "take".
                           ------------------------------
        Fix/Modification : Moved declaration of static routines out of
                           calling function to top of file, as the Convex
         		   does not allow the declaration of static functions
         		   inside other functions. 
          Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                           ------------------------------
        Fix/Modification : calls to XtAppAddTimeOut() needed the 3rd
         		   parameter cast to type XtPointer.
          Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                           ------------------------------
        Fix/Modification : The value of the cycle on the pane would not be 
                           translated into a command line argument when the 
                           user clicked on "Execute".
                           ------------------------------
         
         
                  ~~~~~~~~~~~~~~~~~~~~~~~~~
                     XVUTILS LIBRARY
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
        Fix/Modification : New routine, xvf_select_wait(), was added; this 
                           routine creates a select widget; the this is a pop-
                           up widget that appears with label, text for prompt-
                           ing, and N acknowledgement buttons, plus a "CANCEL" 
                           button. The status returned will be an integer N, 
         		   indicating which of the acknowledgement buttons 
         		   was chosen by the user, where the buttons are 
         		   numbered 1 to N depending on order of appearance in
         		   the specification.  The select widget also has a 
         		   CANCEL button created automatically;  a status of 
         		   zero (0) is returned when the user clicks on the
         		   CANCEL button.
         
         	           xvf_select_wait(stmt, label, button_labels, 
                                           button_num)
         	           char *stmt;
         	           char *label;
         	           char **button_labels;
         	           int  button_num;
         
         		    For more details, see the section on the xvutils
         		    library in Chapter 8 of the Khoros Programmer's
         		    manual.
                            ------------------------------
         Fix/Modification : Moved declaration of static routines out of
                            calling function to top of file, as the Convex
         		    does not allow the declaration of static functions
         		    inside other functions. 
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                            ------------------------------
         Fix/Modification : calls to XtAppAddTimeOut() needed the 3rd
                            parameter cast to type XtPointer.
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                            ------------------------------
         Fix/Modification : internal routine xvf_set_thumb() failed to
                            declare formal parameter Widget widget
           Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                            ------------------------------
         
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                      CANTATA
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
        Fix/Modification : Moved declaration of static routines out of
         		   calling function to top of file, as the Convex
         		   does not allow the declaration of static functions
         		   inside other functions. 
          Fix Provided By: Tait Cyrus (cyrus@cvxcs.convex.com)
                           ------------------------------
        Fix/Modification : Fixed bug where you could not restore a cantata
                           workspace that had remote execution enabled.
                           ------------------------------
        Fix/Modification : The REMOTE & GIS, warping subform had two buttons 
                           highlighted, which caused the forms to be out of
			   sync.
                           ------------------------------
        Fix/Modification : When in responsive mode the DSP wksp would cause
			   cantata to core dump.  This has been fixed by making
			   the autorun dispatcher better at being re-entrant.
                           ------------------------------
        Fix/Modification : The responsive mode wasn't mapping the autorun
			   button so that user's couldn't simple stop a
			   responsive execution by clicking on the "STOP"
			   button.
                           ------------------------------
        Fix/Modification : The cutting & pasting of glyphs now increment their
			   placement by 10 pixels.  This helps when duplicating
			   since new glyphs are offset by a small increment
			   which visual inform to the user that new glyphs
			   have been created.  (sometimes users thinking that
			   nothing happened would duplicate many glyphs which
			   would be overlain from each other).
                           ------------------------------
        Fix/Modification : When quiting a subform or form using the UIS Quit
			   button cantata will now allow you to "undo delete".
			   Before only glyphs that were destroyed via the
			   glyph's destroy button or workspace delete could be
			   un-deleted.
                           ------------------------------
        Fix/Modification : Cantata had a bad bug were you couldn't schedule
			   straight loops.  Meaning loops without an initial
			   input.
                           ------------------------------
        Fix/Modification : The re-classification of input glyphs was needed
			   when input source glyphs were being used in a
			   transfer situation.  The case in point was when
			   the input of a user-defined glyph was being used
			   in the internal part of a loop.  The glyph was
			   incorrectly classified as a source rather than
			   a transfer glyph, which meant the scheduler would
			   try to schedule at the glyph rather than at the
			   loop glyph.
                           ------------------------------
        Fix/Modification : Control glyphs now work with remote execution.  The
			   control glyphs would ignore the assignment of a
			   remote machine.  Which means the glyph would try
			   to run it's kcp locally instead of remotely.
                           ------------------------------
        Fix/Modification : Cantata would sometimes lock up when restoring
			   a workspace where remote execution was saved
			   "on" or "enabled".  This really was a problem with
			   the fact that the UNIX system command was waiting
			   for the child, but cantata's CHILD signal handler
			   was retrieving/stealing the information.
                           ------------------------------
        Fix/Modification : Cantata wasn't scheduling procedures's remotely.
			   Procedure glyph's which indicated that they would
			   scheduled remotely were really scheduled locally.
                           ------------------------------
        Fix/Modification : Even with the remote assignment of remote exec of
			   procedure the glyph would not run since none of
			   the children in the workspace were being reset
			   (modified) so that execution may fail due to the
			   fact that data may not be updated.
                           ------------------------------
        Fix/Modification : Newly created procedure glyph's were not being
			   marked as being modified even though they had never
			   been run.  This sometimes caused a scheduling
			   conflict.
                           ------------------------------
        Fix/Modification : Fixed a few minor problems with executing generic
			   command glyphs on remote machines.  This is still
			   not working 100%, but you can do simply remote
			   commands.  The problem seems to be apperent when
			   trying to use '' to represent a isngle argument.
			   The test example that it fails on is with the
			   command:

					awk -F: '{ print $1, $3, $2 }'
                           ------------------------------
        Fix/Modification : A bug with cantata restoring workspaces with temp-
                           orary files associated would cause cantata to give
                           an error message:
			   xvl_restore_files
			   Not enough memory!  Tried to malloc 0 bytes.  
                           No more temporary files will be restored.
                           ------------------------------


 (the following bugs were reported by Peter A. Bakke peteb@aplcen.jhu.edu.
 This report contained many bugs, but was submitted right before the Patch5
 freeze date.  Therefore, not all of Peter's bugs were fixed. Thanks for the
 extensive bug report!!!)

        Fix/Modification : Echo Execution was not being set on restore of
			   cantata workspace.
                           ------------------------------
        Fix/Modification : Grid and EchoRoutine would only be set if the
			   Xdefaults attribute value was set to "on".  It
			   did not accept "true" or "1" like the other
			   cantata resources.  Instead it would then set
			   the resources to be "off".
                           ------------------------------
        Fix/Modification : Connections not properly erased when you skip
			   optional inputs, but uses an input connection
			   below it.  This means that the
                           ------------------------------
        Fix/Modification : Cantata would sometimes lock up when restoring
			   a workspace where remote execution was saved
			   "on" or "enabled".  This really was a problem with
			   the fact that the UNIX system command was waiting
			   for the child, but cantata's CHILD signal handler
			   was retrieving/stealing the information.
                           ------------------------------
        Fix/Modification : Cantata can't specify an input image from a remote
			   host using "images".  This was an oversite that
			   has been rememdied.  To change the location of the
			   input is done the same as changing a routine to
			   run on a remote machine.  (select the remote exec
			   button on the glyph and select the machine).
                           ------------------------------
        Fix/Modification : dsp.Z example workspace had an error where raw2viff
			   was not updated.
                           ------------------------------
        Fix/Modification : normalize.Z comment glyph says it does one thing
			   but really does another.
                           ------------------------------
        Fix/Modification : Under the if_else.Z workspace if you selected the
			   help under merge it would core dump cantata.
                           ------------------------------


                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                    CONDUCTOR
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : Will now work with subforms that have workspaces
                            on panes that are not the default.
         
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                    ANIMATE
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : Now is able to display 24 bit animations.  If you
			    want to test this by using vbandcomb() remember
			    to set the colorspace model to either genericRGB
			    or ntscRGB.

			    (note:  if you try to display an animation of
				    rgb images on a non 24 bit screen then
				    an error from vgamut will occur since
				    it only expects a single image not
				    multiple rgb images).
                           ------------------------------
         

                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                    EDITIMAGE
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : If you are using twm and you iconify editimage
			    then any action after that will result in editimage
			    iconifying itself.
                           ------------------------------
         Fix/Modification : leditimage.c was still calling the obsolete
			    xvd_delete_image() nstead of the current
			    xvd_delete_xvdisplay() call.
                           ------------------------------
	 Fix/Modification : xvdisplay/editimage
			   I brought in a grey scale 1500x1300 image. I used
			   the pan box to locate an area in the middle of the
			   image. Then I went to ROI and selected the
			   "vhstr" commend. I moved the ROI bars to the
			   desired location and pressed extrart. Then a pop-up
			   ask me to insert the processed ROI region, but I
			   could not find the ROI box. SO, I click on the "OK"
			   button. It put the processed ROI region all the way
			   at the bottom of the image in about the middle.

			   I had expected the processed ROI region to be placed
			   at the point that I extracted from. I duplicated this
			   problem three times over, and tried to search the
			   image for the insert box and things went nuts.
			   Editimage became confused when I stated click the
			   mouse to find the insert box. After doing this the
			   image tried to move every time i click on the mouse
			   button.
					

                           ------------------------------
         Fix/Modification : xvd_delete_image() nstead of the current
			    xvd_delete_xvdisplay() call.
                           ------------------------------
         Fix/Modification : editimage segmentation violation when changing
			    zoom cursor to a on 24 bit displays.
                           ------------------------------
         Fix/Modification : performing an ROI operation would result in loosing
			    the LUT changes or other color changes.
                           ------------------------------

                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                    GHOSTWRITER
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : The code generated in gw_get_args() printed an 
                            incorrect default for a cycle [-c] selection.
         
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                    PUTIMAGE
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : putimage was not re-applying the colormap when an
			    update signal was sent.  This means that if a
			    colormap was transfered it would be used only the
			    first time and the next time would be ignored.
	      REPORTED BY:  John Williams (Feb 15, 1992)
			    (note:  the same problem still exists in editimage)
                           ------------------------------
         Fix/Modification : xvd_delete_image() nstead of the current
			    xvd_delete_xvdisplay() call.
                           ------------------------------





                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                    WARPIMAGE
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : Warpimage core dumped on a monochrome X display
         	            Now checks if displayed on a mono screen, if so
         		    gives an error message and exits.
         
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                    VIEWIMAGE
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : Viewimage had a bogus "clip mask" input
         
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
                      XPRISM2 & XPRISM3
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
         Fix/Modification : When there was a scatter plot and a surface plot 
                            displayed, going into the "Color" pane of the 
           		    "Options" subform and hitting "cancel" in the 
           		    plot selection popup would cause xprism3 to core 
                            dump.
                           --------------------
         Fix/Modification : When the input function provided for xprism2 or
           	            xprism3 was too long, a segmentation fault occured.
                           --------------------
         Fix/Modification : run_answer in xp2/3 was using index and rindex 
                            rather than strchr and strrchar.
                           --------------------
         Fix/Modification : When autoscale was turned on, it set axes properly,
           		    but then when the x interval was changed, the
                            y scaling was also changed.
                            --------------------
         Fix/Modification : Xprism2/3 used with cantata: when an input function 
                            was used with an xprism2 answer file that expected 
                            fewer plots than the number of input connections, a 
                            confusing error message would result.
                            --------------------
         Fix/Modification : design flaw in algorithm used by xprism2/3 to decide
                            whether or not a non-VIFF file is raw or ASCII.
                            --------------------
         Fix/Modification : the xprism answer files would not allow a "-" as the 
                            first argument of the string (e.g. -2.0 was not an 
                            acceptable string.
           			    
           
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                          KRAFTSMAN
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
           
         Fix/Modification : Toolbox names were being forced to lower case in
			    the <toolbox>.def file, when they should have been
			    forced to uppercase.  
                            --------------------
         Fix/Modification : Toolbox names did not allow dashes in them, and 
                            kraftsman never checked, and the documentation did 
                            not say it was illegal.  Fixed this by having
			    kraftsman check the toolbox name for an illegal
			    character.  (Only alphanumeric and '_' are allowed
			    as legal characters now)
                            --------------------
         Fix/Modification : On the creation pane, the default values for each 
                            field were put in the fields everytime the user 
                            hit return on the toolbox field.  To fix it, a flag
                            was added that will stop the changing of the 
                            default values while the pane remained active. 
                            (i.e. until the toolbox is added or created)
                            Note, it will give you the defaults again if the
                            a new toolbox is specified.

           
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                       TOOLS
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                     What : imake
         Fix/Modification : If a user has the X11R5 tree placed in a nonstandard
                            location there was not a consistant method to
			    specify the include files. Put the XIncludes symbol
			    in the Site.def file
                            --------------------
                     What : imake
         Fix/Modification : Added a rule to Khoros.rules for shell scripts.
                            To use this rule, change the rule 
                            InstallMultiCshScripts in 
                            KHOROS_HOME/repos/config/imake_tmpls/Scrpt.template 
                            to InstallMultiShScripts and regenerate the Makefile
                            --------------------
                    What : prnmanual
        Fix/Modification : Sun's soelim program of inclusion of files in roff 
                           documents limits the filename to 64 characters. Added
                           a work around/fix to the FAQ
                           --------------------
                    What : prnmanual
        Fix/Modification : When told to print the entire Volume II, prnmanual 
                           stopped with chapter 10.  
          Fix Provided By: Brad Trusso (btrusso@ADS.COM)
                           --------------------
                    What : prnmanual
        Fix/Modification : The default to print existing document file is now
                           yes instead of no.  Also, additional comments and 
                           error checking make prnmanual easier to use.
                           --------------------
                    What : bldmanual
        Fix/Modification : The bldmanual script was missing three closing quotes
                           where it prints out the message that "you do not have 
                           permission to write in the directory '$head/manual'".
          Fix Provided By: Brad Trusso (btrusso@ADS.COM)
                           --------------------
                    What : kmakeall
        Fix/Modification : kmakeall incorrectly got the path of the toolbox. If 
                           the toolbox file looked like:
                           DSP_TOOLBOX:/research/signal/dsp:DSP Toolbox...
                           DSP:/research/signal/dsp/Dsp:DSP Toolbox:A...
                           ECOLOGY:/research/signal/dsp/Ecology:Ecology...
           	           The problem was that the grep -i dsp would get
                           all three dsp entries instead of just the second one. 
                           --------------------
                   What :  kinstall
       Fix/Modification :  When the directory pointed to by SUBHELPPATH didn't 
                           exist, kinstall exitted without giving a diagnostic.
                           --------------------
           

                     ~~~~~~~~~~~~~~~~~~~~~~~~~
                           MISCELLANEOUS
                     ~~~~~~~~~~~~~~~~~~~~~~~~~
           
                     What :  vmath.h 
         Fix/Modification :  Incorrectly referred to __stdc__ 
                             instead of __STDC___
                            --------------------
                     What :  ~khoros/repos/journals/README
         Fix/Modification :  Incorrectly referred to xprism2 when xprism3 was 
                             meant.
                            --------------------
                     What :  Khoros.rules
         Fix/Modification :  Modified to generate Makefiles with correct rules
                             for RCSci and RCSco
           
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
                       DOCUMENTATION  
                   ~~~~~~~~~~~~~~~~~~~~~~~~~
           
            =========  Changes to Volume I, Khoros User's Manual ===========
           
                  Chapter :  Chapter 0 ("Preface") 
                     What :  Minor modifications were made
                             --------------------
                  Chapter :  Chapter 1 ("Getting Started") 
                     What :  Minor modifications were made
                             --------------------
                  Chapter :  Chapter 2 ("Cantata") 
           	     What :  Changes to documentation on Workspace Attributes, 
                             and .Xdefaults were made.  Distributed Processing 
                             was given its own section and minor modifications 
                             were made.  Documentation on Workspace Editing and 
                             Subprocedures was added.  Documentation on the Coun
                             Loop was added.  Documentation on the command glyph 
                             and comment glyph were added. Explanation of the
			     "%" operator added to section on arithmatic
			     operators.
                             --------------------
                 Chapter :  Chapter 3 ("Xprism2") 
           	    What :  Minor changes to documentation on Output, Functions, 
                            Plot Type, and Overview were made.
                             --------------------
                 Chapter :  Chapter 4 ("Xprism3") 
           	    What :  The section on use of the "Contours" pane of the 
                            "Options" subform which had mysteriously been
			    deleted was re-written.  Minor changes to
			    documentation on Output, Functions, Plot Type, and
			    Overview were made.
                             --------------------
                 Chapter :  Chapter 5 ("Editimage") 
           	    What :  Section on Annotations was added;  Minor mods made 
                            to sections on Colorspaces and Overview of Display 
                            Utilities.
                             --------------------
                 Chapter :  Chapter 6 ("Animate") 
           	    What :  Minor mods made to the Introduction.
                             --------------------
                 Chapter :  Chapter 7 ("Warpimage") 
           	    What :  Minor mods made to the Introduction, the doc on the
                            Operations pane and the I/O pane.
                             --------------------
                 Chapter :  Chapter 8 ("Viewimage") 
           	    What :  Minor mods made to the doc on the Attributes pane.
                            --------------------
                 Chapter :  Chapter 9 ("Concert") 
           	    What :  Minor mods made to the documentation.
                            --------------------
           ========  Changes to Volume II, Khoros Programmer's Manual ==========
           
                  Chapter :  Chapter 1 ("Writing Programs / VIFF")
                     What :  A new section has been added on debugging your new 
                             program, how to use dbx, xdbx & saber.  Minor modes 
                             made to documentation for spelling, grammar, added 
                             clarity on "imkmf" and "make Makefile".
                             --------------------
                  Chapter :  Chapter 5 ("Ghost Routines")
                     What :  Pages 5-1,2 explicitly listed the files ghostwriter 
                             builds, but forgot to mention the Makefiles
                             --------------------
                  Chapter :  Chapter 8 ("Libraries")
                     What :  Minor modes made to section on the xvdisplay
			     library
                              --------------------
                  Chapter :  Chapter 9 ("Configuration Management")
                     What :  Minor modes made to references to "makemake" and 
                             "makedepend"
