1*60200Sbostic# @(#)WHATSNEW 5.1 (Berkeley) 05/21/93 2*60200Sbostic 3*60200SbosticNew in alpha3.0: Performance is no better, alas, but some fixes have been 4*60200Sbosticmade and some functionality has been added. (This is basically the "get 5*60200Sbosticit out the door in time for 4.4" release.) One bug fix: regfree() didn't 6*60200Sbosticfree the main internal structure (how embarrassing). It is now possible 7*60200Sbosticto put NULs in either the RE or the target string, using (resp.) a new 8*60200SbosticREG_PEND flag and the old REG_STARTEND flag. The REG_NOSPEC flag to 9*60200Sbosticregcomp() makes all characters ordinary, so you can match a literal 10*60200Sbosticstring easily (this will become more useful when performance improves!). 11*60200SbosticThere are now primitives to match beginnings and ends of words, although 12*60200Sbosticthe syntax is disgusting and so is the implementation. The REG_ATOI 13*60200Sbosticdebugging interface has changed a bit. And there has been considerable 14*60200Sbosticinternal cleanup of various kinds. 15*60200Sbostic 16*60200SbosticNew in alpha2.3: Split change list out of README, and moved flags notes 17*60200Sbosticinto Makefile. Macro-ized the name of regex(7) in regex(3), since it has 18*60200Sbosticto change for 4.4BSD. Cleanup work in engine.c, and some new regression 19*60200Sbostictests to catch tricky cases thereof. 20*60200Sbostic 21*60200SbosticNew in alpha2.2: Out-of-date manpages updated. Regerror() acquires two 22*60200Sbosticsmall extensions -- REG_ITOA and REG_ATOI -- which avoid debugging kludges 23*60200Sbosticin my own test program and might be useful to others for similar purposes. 24*60200SbosticThe regression test will now compile (and run) without REDEBUG. The 25*60200SbosticBRE \$ bug is fixed. Most uses of "uchar" are gone; it's all chars now. 26*60200SbosticChar/uchar parameters are now written int/unsigned, to avoid possible 27*60200Sbosticportability problems with unpromoted parameters. Some unsigned casts have 28*60200Sbosticbeen introduced to minimize portability problems with shifting into sign 29*60200Sbosticbits. 30*60200Sbostic 31*60200SbosticNew in alpha2.1: Lots of little stuff, cleanup and fixes. The one big 32*60200Sbosticthing is that regex.h is now generated, using mkh, rather than being 33*60200Sbosticsupplied in the distribution; due to circularities in dependencies, 34*60200Sbosticyou have to build regex.h explicitly by "make h". The two known bugs 35*60200Sbostichave been fixed (and the regression test now checks for them), as has a 36*60200Sbosticproblem with assertions not being suppressed in the absence of REDEBUG. 37*60200SbosticNo performance work yet. 38*60200Sbostic 39*60200SbosticNew in alpha2: Backslash-anything is an ordinary character, not an 40*60200Sbosticerror (except, of course, for the handful of backslashed metacharacters 41*60200Sbosticin BREs), which should reduce script breakage. The regression test 42*60200Sbosticchecks *where* null strings are supposed to match, and has generally 43*60200Sbosticbeen tightened up somewhat. Small bug fixes in parameter passing (not 44*60200Sbosticharmful, but technically errors) and some other areas. Debugging 45*60200Sbosticinvoked by defining REDEBUG rather than not defining NDEBUG. 46*60200Sbostic 47*60200SbosticNew in alpha+3: full prototyping for internal routines, using a little 48*60200Sbostichelper program, mkh, which extracts prototypes given in stylized comments. 49*60200SbosticMore minor cleanup. Buglet fix: it's CHAR_BIT, not CHAR_BITS. Simple 50*60200Sbosticpre-screening of input when a literal string is known to be part of the 51*60200SbosticRE; this does wonders for performance. 52*60200Sbostic 53*60200SbosticNew in alpha+2: minor bits of cleanup. Notably, the number "32" for the 54*60200Sbosticword width isn't hardwired into regexec.c any more, the public header 55*60200Sbosticfile prototypes the functions if __STDC__ is defined, and some small typos 56*60200Sbosticin the manpages have been fixed. 57*60200Sbostic 58*60200SbosticNew in alpha+1: improvements to the manual pages, and an important 59*60200Sbosticextension, the REG_STARTEND option to regexec(). 60