xref: /original-bsd/lib/libc/regex/README (revision 329c05f6)
1#	@(#)README	5.2 (Berkeley) 09/30/92
2
3alpha2.1 release.
4Wed Sep 30 14:43:10 EDT 1992
5henry@zoo.toronto.edu
6
7New in alpha2.1:  Lots of little stuff, cleanup and fixes.  The one big
8thing is that regex.h is now generated, using mkh, rather than being
9supplied in the distribution; due to circularities in dependencies,
10you have to build regex.h explicitly by "make h".  The two known bugs
11have been fixed (and the regression test now checks for them), as has a
12problem with assertions not being suppressed in the absence of REDEBUG.
13No performance work yet.
14
15New in alpha2:  Backslash-anything is an ordinary character, not an
16error (except, of course, for the handful of backslashed metacharacters
17in BREs), which should reduce script breakage.  The regression test
18checks *where* null strings are supposed to match, and has generally
19been tightened up somewhat.  Small bug fixes in parameter passing (not
20harmful, but technically errors) and some other areas.  Debugging
21invoked by defining REDEBUG rather than not defining NDEBUG.
22
23New in alpha+3:  full prototyping for internal routines, using a little
24helper program, mkh, which extracts prototypes given in stylized comments.
25More minor cleanup.  Buglet fix:  it's CHAR_BIT, not CHAR_BITS.  Simple
26pre-screening of input when a literal string is known to be part of the
27RE; this does wonders for performance.
28
29New in alpha+2:  minor bits of cleanup.  Notably, the number "32" for the
30word width isn't hardwired into regexec.c any more, the public header
31file prototypes the functions if __STDC__ is defined, and some small typos
32in the manpages have been fixed.
33
34New in alpha+1:  improvements to the manual pages, and an important
35extension, the REG_STARTEND option to regexec().
36
37installation notes:
38--------
39If you have an ANSI compiler, delete limits.h, stdlib.h, and memmove.c
40(all of which are fakes for things not found on old systems), and in
41Makefile, take -Dconst= out of CFLAGS and -o out of MKHFLAGS and delete
42all references to memmove.  If you want the Berkeley __P macro used in
43prototypes, add -b to MKHFLAGS.
44
45Do not take -DPOSIX_MISTAKE out of CFLAGS.  You probably want to take
46-DREDEBUG out, to get rid of all the assertion tests, for building production
47versions after you've run the regression test.  (The regression test won't
48quite compile without it at the moment.)  You also probably want -O or
49some more complex variation for production compilation.
50
51Utils.h contains some things that just might have to be modified on
52some systems, as well as a nested include (ugh) of <assert.h>.
53
54Split.c is used for regression testing but is not part of the RE routines
55themselves.
56
57"make h" builds regex.h, which is needed for everything else.
58
59After that, just "make" will build regcomp.o, regexec.o, regfree.o,
60and regerror.o (the actual routines), bundle them together into a test
61program, and run a regression test on them.  No output is good output.
62
63"make o" builds just the .o files for the actual routines.
64
65Regex.h is for /usr/include.  All other .h files are internal only.
66--------
67