susan+@ANDREW.CMU.EDU (Susan Straub) (10/02/90)
The RCS logs for changed ness files included in patch.007 refer to the file changes.sept.90. This file was inadvertantly left out of the patch, but is reproduced below for your information: atk/ness/objects/changes.sept.90 The following changes to ness were released in September 1990. A. Changes Visible to Users 1. Change CURRENTMODIFICATIONLEVEL to 4. Nessrun will now display the version number "1.4". (ness.ch) 2. Added the function launchApplication(marker, title, programname, enablecommands) As described in nessfunc.doc, this function allows a program started with nessrun to open a window and display an application in it. Event interceptions specified in the progam will be honored during interaction. (nevent.c, call.c, nessfunc.d, nessauth.d, nessman.d) 3. Implemented the event "becameVisible", which (after celv.c is fixed) will enable an application started with launchApplication to initialize views as they are displayed. (nevent.c) 4. If Ness loops for more than 7 seconds, a message is displayed mentioning control-G. (interp.c) 5. TellUser() now calls im_ForceUpdate so that messages are immediately displayed to the user. (nevent.c) B. Documentation Modifications The modified files are all in atk/ness/doc and get installed in ${ANDREWDIR}/doc/atk/ness. 1. Removed subsection 5.2 on framecommands for launching applications and renumbered subsections. (nessfunc.d) 2. Added description of the play module for playing notes on the RT. (nessfunc.d) 3. Added documentation of date.n. (nessfunc.d) 4. Described the -f switch. (nessuser.d) 5. Added descriptions of concatenation, seaarch, and replace. (nesstut.d) 6. Added happybday.d. (nesstut.d) 7. Added description of $Ness 1. (nessman.d) C. Demonstration Software Modifications The sources for these demos are in atk/ness/demos and get installed in ${ANDREWDIR}/lib/ness/demos. 1. Added a new demo for launchApplication. It is started with the command nessrun -f /usr/andrew/lib/ness/demos/happybday.n (happybday.n) 2. Extended function main so when executed it clears the text of Jingle Bells. (xmas.d) 3. An old demo which shows how ness can do shell functions was converted to the new search conventions. (badsub.n) 4. The bank letter demo was given an entirely new screen image and the code was updated by removing semi-colons and putting commas in declarations. (bank.d) D. Improved Error Processing 1. Installed tests of the return values from im_create and frame_New so memory exhaustion or other frame creation failure will not crash ness. (ness.c) 2. Repaired library processing so core will no longer be dumped if a Ness program calls a function like rest_X() where rest is an internal function and there is no library named rest. (call.c) 3. Produce a reasonable error message for recursive compilation. (ness.c) 4. If an error is detected during execution, the stack is--as always--popped. In some circumstances this popping could cause a core dump, so setjmp is now used to detect and handle such errors. (interp.c) 5. The stack pointer NSP is stored after every push or pop so there is less likelihood of an error while popping the stack. (interp.c, real.c, search.c, call.c nevent.c) 6. The instruction location is saved on every cycle so the location of errors can be reported precisely when there are BUS or SEGV faults. (interp.c) E. Bugs Corrected 1. Fixed value_SetString and value_SetArrayElt so they do not crash when their first argument is NULL. (nevent.c) 2. When a Ness object value is passed to a C function, an effort is made to find the correct object type as required by the function. For instance, if the Ness object is a scroll and the function requires a textview, the child of the scroll is checked to see if it is a textview. The set of such container objects has now been extended to include frame and buffer. (nevent.c) 3. There was a bug wherein a local symbol referenced immediately after its declaration was treated as a global symbol. The grammar has now been rearranged to treat the symbol correctly. (nesscomp.gra) F. Internal Improvements (These changes will only be visible to users as faster execution or improved maintainability.) 1. Added the CLASS macro to text a value to see if it is of a given class. (envt.h) 2. Decreased startup time by removing global variables and initializations of arbiterviewClass, matteClass, and scrollClass (interp.c) 3. Use CLASS for references to arbiterviewClass, matteClass, and scrollClass since these are no longer global. (nevent.c) 4. The routine ProperPtr which checks to see if a container object has the desired contents was simplified and regularized so it handles more containers and is easier to extend. (nevent.c) 5. BUG 1334 was corrected by saving the error message in a global variable instead of passing it as a return value through longjmp. (interp.c) 6. Removed some XXX comments which suggested problems that no longer exist. (interp.c, nevent.c)