\begindata{text,538477156}
\textdsversion{12}
\template{default}
\define{global
}



\bold{Changes to Ness released October 12, 1990}


These changes correspond to Ness version 1.5.  (ness.ch)  File names in 
parentheses indicate files changed to affect the change.  


Note to maintainers:  With this revision two files are no longer part of the 
distribution and should be explicitly deleted: ness/objects/yypshpop.c and 
ness/objects/nesscomp.h.


\heading{New feature}


Added functions regSearch and regSearchReverse to do regular expression 
pattern matching in both directions.  The search algorithms are the same as 
those used for the search commands in ez.  (search.c, ../doc/nessfunc.d)


\heading{Improvements}


Revised the implementation of search() to be much faster, based on the 
simplest of Daniel Sunday's algorithms in the August 1990 CACM. (search.c)


\heading{Bugs corrected}


Added a NotifyObservers call in value_SetArrayElt().  Now when the latter is 
called the clicklistV--or other observer of the value--will display the 
modified string.  (nevent.c)


Fixed a syntax error in calc.d.


\heading{Machine independence}


Revised the getc/ungetc code in ness__ReadNamedFile to try to make it work on 
PMAX and Sun4.   (ness.c)


Eliminated the dependency on the local version of Yacc.  Previously 
recursively compilation required a messy routine to save the state of the 
compilation as retained in yaccpar, which was automatically inserted in the 
code by yacc.  Since diferent platforms have different yaccpars, the state was 
not saved correctly on some systems.  Two steps were taken to correct the 
problem.  First, nesscomp.c is distributed as well as nesscomp.gra so Ness can 
be recompiled without running yacc.  Second a special version of yaccpar was 
written which has no global variables so no state needs to be preserved.  (The 
new version also has no goto's!)  (nesscomp.gra, nesscomp.c, call.c, dump.c, 
gen.c, error.c, ness.c, gen.hn, Imakefile, tokens/yaccpar, tokens/buildy.c, 
tokens/reyacc.c, tokens/Imakefile, \bold{NOTE: yypshpop.c and nesscomp.h are 
no longer part of Ness})


Cosmetic code changes


Changed the implementation of the Ness function value_SetArraySize to use the 
C function value_SetStrArrayAndSize, so changes to value.c will not adversely 
affect Ness functions.  (nevent.c)


Changed MapRunError so its argument is a ness instead of an errornode.  This 
was necessary as an indirect result of the elimination of the global 
ErrorList. (error.c, error.h, call.c, nevent.c, ness.c)


\begindata{bp,537558784}
\enddata{bp,537558784}
\view{bpv,537558784,602,0,0}
Copyright 1992 Carnegie Mellon University and IBM.  All rights reserved.

\smaller{\smaller{$Disclaimer: 

Permission to use, copy, modify, and distribute this software and its 

documentation for any purpose is hereby granted without fee, 

provided that the above copyright notice appear in all copies and that 

both that copyright notice, this permission notice, and the following 

disclaimer appear in supporting documentation, and that the names of 

IBM, Carnegie Mellon University, and other copyright holders, not be 

used in advertising or publicity pertaining to distribution of the software 

without specific, written prior permission.



IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS 

DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 

ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT 

SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER 

BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 

DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 

WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 

ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 

OF THIS SOFTWARE.

 $

}}\enddata{text,538477156}
