xref: /csrg-svn/lib/libc/regex/WHATSNEW (revision 60200)
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