1 | # @(#)WHATSNEW 8.3 (Berkeley) 3/18/94
|
---|
2 |
|
---|
3 | New in alpha3.4: The complex bug alluded to below has been fixed (in a
|
---|
4 | slightly kludgey temporary way that may hurt efficiency a bit; this is
|
---|
5 | another "get it out the door for 4.4" release). The tests at the end of
|
---|
6 | the tests file have accordingly been uncommented. The primary sign of
|
---|
7 | the bug was that something like a?b matching ab matched b rather than ab.
|
---|
8 | (The bug was essentially specific to this exact situation, else it would
|
---|
9 | have shown up earlier.)
|
---|
10 |
|
---|
11 | New in alpha3.3: The definition of word boundaries has been altered
|
---|
12 | slightly, to more closely match the usual programming notion that "_"
|
---|
13 | is an alphabetic. Stuff used for pre-ANSI systems is now in a subdir,
|
---|
14 | and the makefile no longer alludes to it in mysterious ways. The
|
---|
15 | makefile has generally been cleaned up some. Fixes have been made
|
---|
16 | (again!) so that the regression test will run without -DREDEBUG, at
|
---|
17 | the cost of weaker checking. A workaround for a bug in some folks'
|
---|
18 | <assert.h> has been added. And some more things have been added to
|
---|
19 | tests, including a couple right at the end which are commented out
|
---|
20 | because the code currently flunks them (complex bug; fix coming).
|
---|
21 | Plus the usual minor cleanup.
|
---|
22 |
|
---|
23 | New in alpha3.2: Assorted bits of cleanup and portability improvement
|
---|
24 | (the development base is now a BSDI system using GCC instead of an ancient
|
---|
25 | Sun system, and the newer compiler exposed some glitches). Fix for a
|
---|
26 | serious bug that affected REs using many [] (including REG_ICASE REs
|
---|
27 | because of the way they are implemented), *sometimes*, depending on
|
---|
28 | memory-allocation patterns. The header-file prototypes no longer name
|
---|
29 | the parameters, avoiding possible name conflicts. The possibility that
|
---|
30 | some clot has defined CHAR_MIN as (say) `-128' instead of `(-128)' is
|
---|
31 | now handled gracefully. "uchar" is no longer used as an internal type
|
---|
32 | name (too many people have the same idea). Still the same old lousy
|
---|
33 | performance, alas.
|
---|
34 |
|
---|
35 | New in alpha3.1: Basically nothing, this release is just a bookkeeping
|
---|
36 | convenience. Stay tuned.
|
---|
37 |
|
---|
38 | New in alpha3.0: Performance is no better, alas, but some fixes have been
|
---|
39 | made and some functionality has been added. (This is basically the "get
|
---|
40 | it out the door in time for 4.4" release.) One bug fix: regfree() didn't
|
---|
41 | free the main internal structure (how embarrassing). It is now possible
|
---|
42 | to put NULs in either the RE or the target string, using (resp.) a new
|
---|
43 | REG_PEND flag and the old REG_STARTEND flag. The REG_NOSPEC flag to
|
---|
44 | regcomp() makes all characters ordinary, so you can match a literal
|
---|
45 | string easily (this will become more useful when performance improves!).
|
---|
46 | There are now primitives to match beginnings and ends of words, although
|
---|
47 | the syntax is disgusting and so is the implementation. The REG_ATOI
|
---|
48 | debugging interface has changed a bit. And there has been considerable
|
---|
49 | internal cleanup of various kinds.
|
---|
50 |
|
---|
51 | New in alpha2.3: Split change list out of README, and moved flags notes
|
---|
52 | into Makefile. Macro-ized the name of regex(7) in regex(3), since it has
|
---|
53 | to change for 4.4BSD. Cleanup work in engine.c, and some new regression
|
---|
54 | tests to catch tricky cases thereof.
|
---|
55 |
|
---|
56 | New in alpha2.2: Out-of-date manpages updated. Regerror() acquires two
|
---|
57 | small extensions -- REG_ITOA and REG_ATOI -- which avoid debugging kludges
|
---|
58 | in my own test program and might be useful to others for similar purposes.
|
---|
59 | The regression test will now compile (and run) without REDEBUG. The
|
---|
60 | BRE \$ bug is fixed. Most uses of "uchar" are gone; it's all chars now.
|
---|
61 | Char/uchar parameters are now written int/unsigned, to avoid possible
|
---|
62 | portability problems with unpromoted parameters. Some unsigned casts have
|
---|
63 | been introduced to minimize portability problems with shifting into sign
|
---|
64 | bits.
|
---|
65 |
|
---|
66 | New in alpha2.1: Lots of little stuff, cleanup and fixes. The one big
|
---|
67 | thing is that regex.h is now generated, using mkh, rather than being
|
---|
68 | supplied in the distribution; due to circularities in dependencies,
|
---|
69 | you have to build regex.h explicitly by "make h". The two known bugs
|
---|
70 | have been fixed (and the regression test now checks for them), as has a
|
---|
71 | problem with assertions not being suppressed in the absence of REDEBUG.
|
---|
72 | No performance work yet.
|
---|
73 |
|
---|
74 | New in alpha2: Backslash-anything is an ordinary character, not an
|
---|
75 | error (except, of course, for the handful of backslashed metacharacters
|
---|
76 | in BREs), which should reduce script breakage. The regression test
|
---|
77 | checks *where* null strings are supposed to match, and has generally
|
---|
78 | been tightened up somewhat. Small bug fixes in parameter passing (not
|
---|
79 | harmful, but technically errors) and some other areas. Debugging
|
---|
80 | invoked by defining REDEBUG rather than not defining NDEBUG.
|
---|
81 |
|
---|
82 | New in alpha+3: full prototyping for internal routines, using a little
|
---|
83 | helper program, mkh, which extracts prototypes given in stylized comments.
|
---|
84 | More minor cleanup. Buglet fix: it's CHAR_BIT, not CHAR_BITS. Simple
|
---|
85 | pre-screening of input when a literal string is known to be part of the
|
---|
86 | RE; this does wonders for performance.
|
---|
87 |
|
---|
88 | New in alpha+2: minor bits of cleanup. Notably, the number "32" for the
|
---|
89 | word width isn't hardwired into regexec.c any more, the public header
|
---|
90 | file prototypes the functions if __STDC__ is defined, and some small typos
|
---|
91 | in the manpages have been fixed.
|
---|
92 |
|
---|
93 | New in alpha+1: improvements to the manual pages, and an important
|
---|
94 | extension, the REG_STARTEND option to regexec().
|
---|