Revision history for Regexp-Debugger

0.0.1  Sun Jan 30 11:19:53 2011
       Initial release.


0.001000  Thu Jul 19 09:49:39 2012

    First public release


0.001001  Sat Jul 21 10:29:42 2012

    - Removed redundant _sleep() (thanks Peter)

    - Patched rxrx problem in 5.16
      [Changes in eval inconsistent with previous behaviour]
      (thanks alierak!)



0.001002  Sat Jul 21 16:53:23 2012

    - Fixed windowing of capture and backtracking graphics

    - Removed dependency on Term::ReadKey
      (thanks everyone who reported it!)

    - Added microdocs for bin/rxrx (thanks Salvatore)


0.001003  Mon Jul 23 10:19:14 2012

    - Patched to support seaching for .rxrx under Windows
      (thanks Christian)

    - Patched to support color text under Windows
      (thanks Christian)


0.001004  Wed Jul 25 08:12:02 2012

    - Adjusted messages for JSON output
      (thanks Glen!)


0.001005  Fri Jul 27 19:09:04 2012

    - Use numeric sorting order for capture variables
      (thanks Ken)



0.001006  Sun Aug 19 10:40:20 2012

    - Added 'f' command to interactive mode
      (like 'm', but runs to next failure-to-match instead)

    - Added 'd' command to describe static regex

    - Made heatmap and description colours lexically configurable

    - Added 'x' command to exit program entirely

    - Added handling of ^D (synonym for 'q')
      (Thanks, Mike)

    - Fixed bug with \N{...} 
      (Thanks, Tom)

    - Fixed nasty bug in exporting lexical hint via $^H
      (Thanks, Tom!)


0.001007  Sun Aug 19 20:03:58 2012

    - Fixed missing \[ \] handling in character classes
      (thanks, Thomas)



0.001008  Mon Aug 20 09:44:46 2012

    - Made whitespace-separated repetition quantifiers default to /x semantics
      and documented the issue in LIMITATIONS
      (Thanks, Tom)


0.001009  Sat Sep 22 14:37:33 2012

    - Added history mechanism to rxrx (if a recent IO::Prompter installed)

    - Added cursor motions over input to rxrx (if a recent IO::Prompter installed)



0.001010  Sun Sep 23 21:19:08 2012

    - Added ability to pass flags to regexes specified in rxrx REPL


0.001011  Thu Oct 11 19:22:47 2012

    - Added tracking of $^N variable
      (thanks Frederic!)

    - Various minor tweaks

    - Fixed bug in charset parsing (thanks Geunyoung Park)

    - Improved atom parsing


0.001012  Fri Mar  8 17:19:54 2013

    - Optimized non-interactive cases
      (no longer rewrites regexes in non-interactive at compile-time)

    - Added correct handling of null regexes to rxrx
      (thanks Felix)

    - Added EXE_FILES to Makefile.PL to install rxrx
      (thanks Felix)

    - Added snapshots for description output

    - Improved reporting of non-backtracking parens
      during backtracking

    - Fixed critical bug in matching repeated blocks
      (thanks Holger!)

    - Improved tracking and reporting of self-matching whitespace


0.001013  Wed May 22 17:44:28 2013

    - Fixed buglet in whitespace echoing under 'visible'

    - Made \n, \t, etc in strings being matched
      appear as specially coloured n and t respectively
      (added ws_col config to allow customization)


0.001014  Mon Jul 15 12:02:01 2013

    - Added minimal perl version info to Build.PL and Makefile.PL
      (thanks Andreas!)

    - Updated for Perl 5.18 (thanks Ken!)


0.001015  Fri Jul 26 07:20:09 2013

    - Improved specificity of 'd' and 'D' reporting


0.001016  Tue Oct 22 10:26:33 2013

    - Made error checking in rxrx more robust

    - Made rxrx reinvoke the version of Perl it was itself invoked with,
      regardless of $PATH idiosyncrasies (thanks, brian!)


0.001017  Thu Dec  5 10:42:15 2013

    - Fixed obscure bug with null rematches under /g
      (thanks Smylers!)


0.001018  Thu Dec  5 15:12:25 2013

    - Improved reporting of rematching and non-advancing failures under /g


0.001019  Sun Jan 12 13:34:11 2014

    - Fixed bug with raw } in rxrx regexes
      (thanks ZZ)


0.001020  Mon Feb 24 14:21:20 2014

    - Improved rxrx error reporting

    - Added +/ mode to rxrx to allow multi-line input

    - Added 'd' to rxrx to describe regex without entering debugger

    - Patched a doc nit (thanks Andreas!)


0.001021  Wed Sep  7 07:45:44 2016

    - Adjusted rxrx shebang line so EUMM rewrites it correctly
      (thanks Slaven and Karen!)

    - Fixed warning message for negative x under 5.22+
      (Thanks, Colin)

    - Fixed message on successful end of lookaround
      (Thanks Rob!)


0.001022  Thu Sep  8 07:56:44 2016

    - Further improvements to backtracking messages
      (Thanks again, Rob!)


0.002000  Tue Apr  4 07:54:25 2017

    - Fixed bug when qr// interpolated into another regex being debugged

    - Added 'M' and 'F' to step through to next [m]atch/[f]ail at same stack depth

    - Added 'n' and 'p' to step through to [n]ext/[p]rev command at same stack depth

    - Added 'C' to [c]ontinue, displaying steps at/above current stack depth

    - Added 'r' to continue silently until matching [r]eturns from current subpattern

    - Added 'R' to [r]estart the entire match, [r]ewinding to step zero

    - Improved signaling of subrule failures

    - Improved visualizations when stepping backwards

    - Fixed edge cases when visualizing charsets and escaped characters


0.002001  Wed Sep 27 06:52:10 2017

    - Harden extraction of lexical hints
      (thanks, Timothy)


0.002002  Mon Jan 27 21:58:28 2020

    - Worked around spurious "EVAL without pos change exceeded limit"
      under Perl 5.24 to 5.30. See: https://github.com/Perl/perl5/issues/17490
      (Thanks, Hugo!)


0.002003  Fri Jan 31 21:30:10 2020

    - Fixed 'd' command under rxrx REPL

    - Added 'g' command under rxrx REPL
      (thanks, Richard!)


0.002004  Sun Feb 16 23:58:03 2020

    - Added detection of (&subpat) and (<name> ... ) errors
      (Thanks, Hugo!)


0.002005  Sat May 23 03:27:31 2020

    - Improved inference of /x flag (or absence thereof)
      for some (but not all) cases where an unescaped # is found
      (thanks Deven!)

    - Added proper dynamic tracking of /x flag status within regex,
      so that (?x:...) and (?-x:...) blocks are handled correctly.