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