xref: /csrg-svn/lib/libc/regex/README (revision 56354)
1*56354Sbostic#	@(#)README	5.2 (Berkeley) 09/30/92
255840Sbostic
3*56354Sbosticalpha2.1 release.
4*56354SbosticWed Sep 30 14:43:10 EDT 1992
555840Sbostichenry@zoo.toronto.edu
655840Sbostic
7*56354SbosticNew in alpha2.1:  Lots of little stuff, cleanup and fixes.  The one big
8*56354Sbosticthing is that regex.h is now generated, using mkh, rather than being
9*56354Sbosticsupplied in the distribution; due to circularities in dependencies,
10*56354Sbosticyou have to build regex.h explicitly by "make h".  The two known bugs
11*56354Sbostichave been fixed (and the regression test now checks for them), as has a
12*56354Sbosticproblem with assertions not being suppressed in the absence of REDEBUG.
13*56354SbosticNo performance work yet.
14*56354Sbostic
15*56354SbosticNew in alpha2:  Backslash-anything is an ordinary character, not an
16*56354Sbosticerror (except, of course, for the handful of backslashed metacharacters
17*56354Sbosticin BREs), which should reduce script breakage.  The regression test
18*56354Sbosticchecks *where* null strings are supposed to match, and has generally
19*56354Sbosticbeen tightened up somewhat.  Small bug fixes in parameter passing (not
20*56354Sbosticharmful, but technically errors) and some other areas.  Debugging
21*56354Sbosticinvoked by defining REDEBUG rather than not defining NDEBUG.
22*56354Sbostic
23*56354SbosticNew in alpha+3:  full prototyping for internal routines, using a little
24*56354Sbostichelper program, mkh, which extracts prototypes given in stylized comments.
25*56354SbosticMore minor cleanup.  Buglet fix:  it's CHAR_BIT, not CHAR_BITS.  Simple
26*56354Sbosticpre-screening of input when a literal string is known to be part of the
27*56354SbosticRE; this does wonders for performance.
28*56354Sbostic
29*56354SbosticNew in alpha+2:  minor bits of cleanup.  Notably, the number "32" for the
30*56354Sbosticword width isn't hardwired into regexec.c any more, the public header
31*56354Sbosticfile prototypes the functions if __STDC__ is defined, and some small typos
32*56354Sbosticin the manpages have been fixed.
33*56354Sbostic
34*56354SbosticNew in alpha+1:  improvements to the manual pages, and an important
3555840Sbosticextension, the REG_STARTEND option to regexec().
3655840Sbostic
3755840Sbosticinstallation notes:
3855840Sbostic--------
39*56354SbosticIf you have an ANSI compiler, delete limits.h, stdlib.h, and memmove.c
40*56354Sbostic(all of which are fakes for things not found on old systems), and in
41*56354SbosticMakefile, take -Dconst= out of CFLAGS and -o out of MKHFLAGS and delete
42*56354Sbosticall references to memmove.  If you want the Berkeley __P macro used in
43*56354Sbosticprototypes, add -b to MKHFLAGS.
4455840Sbostic
45*56354SbosticDo not take -DPOSIX_MISTAKE out of CFLAGS.  You probably want to take
46*56354Sbostic-DREDEBUG out, to get rid of all the assertion tests, for building production
47*56354Sbosticversions after you've run the regression test.  (The regression test won't
48*56354Sbosticquite compile without it at the moment.)  You also probably want -O or
49*56354Sbosticsome more complex variation for production compilation.
5055840Sbostic
51*56354SbosticUtils.h contains some things that just might have to be modified on
52*56354Sbosticsome systems, as well as a nested include (ugh) of <assert.h>.
53*56354Sbostic
5455840SbosticSplit.c is used for regression testing but is not part of the RE routines
5555840Sbosticthemselves.
5655840Sbostic
57*56354Sbostic"make h" builds regex.h, which is needed for everything else.
5855840Sbostic
59*56354SbosticAfter that, just "make" will build regcomp.o, regexec.o, regfree.o,
60*56354Sbosticand regerror.o (the actual routines), bundle them together into a test
61*56354Sbosticprogram, and run a regression test on them.  No output is good output.
6255840Sbostic
63*56354Sbostic"make o" builds just the .o files for the actual routines.
6455840Sbostic
65*56354SbosticRegex.h is for /usr/include.  All other .h files are internal only.
6655840Sbostic--------
67