Revision history for Perl extension Regexp::Assemble.

0.16 Mon Aug 22 23:04:02 2005 UTC
    - Tracked patterns silently ignored imsx flags. Spotted by
      Bart Lateur.

0.15 Wed Apr 27 06:50:31 2005 UTC
    - Oops. Detabbed all the files and did not rerun the tests.
      t/03_str.t explicitly performs a test on a literal TAB
      character, and so it failed. Always, always, *ALWAYS* run
      the test suite as the last task before uploading. Grrr.

0.14 Wed Apr 27 00:32:43 2005 UTC
    - Performance tuning release. Played around significantly
      with _insertr and lex but major improvement will only
      come about by writing the lexing routine in C.
    - Reordered $Default_Lexer to bring the most common cases
      to the front of the pattern.
    - Inline the effects of \U, \L, \c, \x. This is handled by
      _lex_stateful (which offloads some of the worst case
      lexing costs into a separate routine and thus makes the
      more usual cases run faster). Handling of \Q in the
      previous release was incorrect. (Sigh).
    - Backslash slashes.
    - Passed arrays around by reference between _lex and a
      newly introduced _insertr routine.
    - Silenced warning in _slide_tail (ran/reran)
    - Fixed bug in _slide_tail (didn't handle '0' as a token).
      One section of the code used to do its own sliding, now it
      uses _slide_tail.
    - Fixed bug in _node_eq revealed by 5.6.1 (implicit ordering
      of hash keys).
    - Optimized node_offset()
    - replace ok() in tests by better things (is, like, ...)
    - removed use of Test::Differences, since it doesn't work on
      complex structures.

0.13 Mon Apr 11 21:59:26 2005 UTC
    - Deal with \Q...\E patterns.
    - $Default_Lexer pattern fails on 5.6.x: it would lex
      '\-' as '\', '-'. 
    - Tests to prove that the global $_ is not clobbered
      by the module.
    - Used cmp_ok rather than ok where it makes sense.
    - Added a (belated) DEBUG_LEX debugging mode

0.12 Sun Apr 11 23:49:16 2005 UTC
    - Forgot to guard against the possibility of
      Test::Differences not being available. This would cause
      erroneous failures in the test suite if it was not
      installed.
    - Quotemeta was still giving troubles. Exhaustive testing
      also turned up the fact that a bare add('0') would be
      ignored (and thus the null-match pattern would be returned.
    - More tweaks to the documentation.

0.11 Sat Apr 9 19:44:19 2005 UTC
    - Performed coverage testing with Devel::Cover
      Numerous tests added as a result. Borderline bugs
      fixed (bizarre copy of ARRAY in leave under D::C -
      fixed in 0.10).
    - Finalised the interface to using zero-width lookahead
      assertions. Depending on the match/failure ratio of
      the pattern to targets, the pattern execution may be
      slower with ZWLAs than without. Benchmark it.
    - Made _dump call _dump_node if passed a reference to a
      hash. This simplifies the code a bit, since one no
      longer has to worry about whether the thing we are
      looking at is a node or a path. All in all a minor
      patch, just to tidy up some loose ends before
      moving to heftier optimisations.
    - The fix in 0.10 for quotemeta didn't go far enough.
      Hopefully this version gets it right.
    - A number of minor tweaks based on information
      discovered during coverage testing.
    - Added documentation about the mailing list. Sundry
      documentation tweaks.

0.10 Tue Mar 29 09:01:49 2005 UTC
    - Correct Default_Lexer$ pattern to deal with the
      excessively backslashed tokens that C<quotemeta>
      likes to produce. Bug spotted by Walter Roberson.
    - Added a fix to an obscure bug that Devel::Cover
      uncovered. The next release will fold in similar
      improvements found by using Devel::Cover.

0.09 Sat Jan 22 9:28:21 2005 UTC
    - Added lookahead assertions at nodes. (This concept is
      shamelessly pinched from Dan Kogai's Regexp::Optimizer).
      The code is currently commented out, because in all my
      benchmarks the resulting regexps are slower with them.
      Look for calls to _combine if you want to play around
      with this.
    - $Default_Lexer and $Single_Char regexps updated to fix
      a bug where backslashed characters were broken apart
      between the backslash and the character, resulting in
      uncompilable regexps.
    - Character classes are now sorted to the left of a list of
      alternations.
    - Corrected license info in META.yml
    - Started to switch from ok() to cmp_ok() in the test suite
      to produce human-readable test failures.

0.08 Mon Jan 3 11:23:50 2005 UTC
    - Bug in insert_node fixed: did not deal with the following
      correctly: qw/bcktx bckx bdix bdktx bdkx/ (The assymetry
      introduced by 'bdix' threw things off, or something like
      that).
    - Bug in reduced regexp generation (reinstated code that had
      been excised from _re_path() et al).
    - Rewrote the tests to eliminate the need for Test::Deep.
      Test::More::is_deeply is sufficient.

0.07 Fri Dec 17 19:31:18 2004 UTC
    - It would have been nice to have remembered to update the
      release date in the POD, and the version in the README.

0.06 Fri Dec 17 17:38:41 2004 UTC
    - Can now track regular expressions. Given a match, it is
      possible to determine which original pattern gave rise to the
      match.
    - Improved character class generation: . (anychar) was not
      special-cased, which would have lead to a.b axb giving a[.x]b
      Also takes into account single-char width metachars like \t
      \e et al. Filters out digits if \d appears, and for similar
      metachars (\D, \s, \W...)
    - Added a pre_filter method, to perform input filtering prior
      to the pattern being lexed.
    - Added a flags method, to allow for (?imsx) pattern modifiers.
    - enhanced the assemble script: added -b, -c, -d, -v;
      documented -r
    - Additions to the README
    - Added Test::Simple and Test::More as prerequisites.

0.05 Fri Dec 10 11:52:13 2004 UTC
    - Bug fix in tests. The skip test in version 0.04 did not deal
      correctly with non-5.6.0 perls that do not have Test::Deep
      installed.

0.04 Fri Dec 9 22:29:56 2004 UTC
    - In 5.6.0, the backlashes in a quoted word list, qw[ \\d ],
      will have their backslashes doubled up. In this case, don't
      run the tests. (Reading from a file or getting input from
      some other source other than qw[] operators works just fine).

0.03 Wed Dec 8 21:55:27 2004 UTC
    - Bug fix: Leading 0s could be omitted from paths because of the
      difference between while($p) versus while(defined($p)).
    - An assembled pattern can be generated with whitespace. This can be
      used in conjunction with the /x modifier, and also for debugging.
    - Code profiled: dead code paths removed, hotspots rewritten to run
      more quickly.
    - Documentation typos and wordos.
    - assemble script now accepts a number of command line switches to
      control its behaviour.
    - More tests. Now with Test::Pod.

0.02  Fri Nov 19 11:16:33 2004 UTC
    - An R::A object that has had nothing added to it now produces a
      pattern that explicitly matches nothing (the original behaviour would
      match anything).
    - An object can now chomp its own input. Useful for slurping files. It
      can also filter the input tokens and discard patterns that don't adhere
      to what's expected (sanity checking e.g.: don't want spaces).
    - Documented and added functions to allow for the lexer pattern to be
      manipulated.
    - The reset() method was commented out (and the test suite didn't catch
      the fact).
    - Detabbed the Assemble.pm, eg/* and t/* files (I like interpreting
      tabs as four spaces, but this produces horrible indentation on
      www.cpan.org).
    - t/00_basic.t test counts were wrong. This showed up if Test::Deep was
      not installed.
    - t/02_reduce.t does not need to 'use Data::Dumper'.
    - Tweaked eg/hostmatch/hostmatch; added eg/assemble, eg/assemble-check
    - Typos, corrections and addtions to the documentation.

0.01  Fri Jul 9 21:05:18 2004 UTC
    - original version; created by h2xs 1.19 (seriously!)