Annotation of embedaddon/php/ext/ereg/regex/WHATSNEW, revision 1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>