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