-----------------------------------------------------------------------------| ============== 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 .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"