Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge subpattern references #18

Open
wants to merge 134 commits into
base: master
Choose a base branch
from

Commits on Dec 30, 2013

  1. Configuration menu
    Copy the full SHA
    90ebc6b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bf19675 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9bf3bf0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    35c05dd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5adc50c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ca8f723 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    da2bba6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6a493f8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    95c400a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b4697b6 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ceecaf8 View commit details
    Browse the repository at this point in the history
  12. Give flesh to CONVERT-COMPOUND-PARSE-TREE.

    Be sure to keep track of named subpattern references as well as the
    highes numbered subpattern reference encountered.
    nbtrap committed Dec 30, 2013
    Configuration menu
    Copy the full SHA
    561228d View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    82fdd76 View commit details
    Browse the repository at this point in the history
  14. Convert named subpattern refs to numbered subpattern refs inside CONV…

    …ERT.
    
    Also, keep track of which registers have been referenced by number.
    nbtrap committed Dec 30, 2013
    Configuration menu
    Copy the full SHA
    514cb45 View commit details
    Browse the repository at this point in the history
  15. Return a fifth value from CONVERT, namely, the list of numbers of sub…

    …patterns referenced in the regex.
    nbtrap committed Dec 30, 2013
    Configuration menu
    Copy the full SHA
    a2a9632 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8910783 View commit details
    Browse the repository at this point in the history
  17. Define the closure that matches subpattern references, and modify the…

    … register closure.
    
    This required several things that may not have been necessary and will
    have to be revisited.  First of all, for every register, we now create
    two inner matchers: one that matches the contents of the register and
    what follows the register, and one that only matches the contents of
    the register.  Also, we now stop accumulating into STARTS-WITH once we
    encounter a register or subpattern reference.
    
    With this patch, subpattern references seem to work for the most part.
    They do not yet work with repetitions.
    nbtrap committed Dec 30, 2013
    Configuration menu
    Copy the full SHA
    eb3d9ec View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    ce1b0fe View commit details
    Browse the repository at this point in the history
  19. Define COPY-REGEX and COMPUTE-OFFSETS on SUBPATTERN-REFERENCE.

    At this point, one thing that doesn't work quite right is the
    determination of register offsets for registers accessed indirectly by
    subpattern references.  For example:
    
      (cl-ppcre:scan "(\\([^()]*((?1)\\)|\\)))" "((()))")
    
    says that the second register is at position (3, 6), though it should
    be (1, 6).  Fixing this will require binding a special variable from
    subpattern reference closures that tells register closures not to
    touch the register offsets.
    nbtrap committed Dec 30, 2013
    Configuration menu
    Copy the full SHA
    972dba5 View commit details
    Browse the repository at this point in the history
  20. Be sure not to touch register offsets when matching a register indire…

    …ctly from a subpattern reference.
    
    With this patch, the following invocation:
      (cl-ppcre:scan "(\\([^()]*((?1)\\)|\\)))" "((()))")
    gives the correct offset values for the second register as (1,6).
    
    One problem that remains is the danger of infinite recursion during
    backtracking.  The following invocation:
      (cl-ppcre:scan "(?1)(?2)(a|b|(?1))(c)" "acba")
    
    causes a stack overflow because the second (?1) is called endlessly
    during backtracking without the match position advancing through the
    string.  Such behavior may be able to be remedied by having the
    subpattern reference's closure keep track of where in *STRING* it has
    been called before.
    nbtrap committed Dec 30, 2013
    Configuration menu
    Copy the full SHA
    b7ab328 View commit details
    Browse the repository at this point in the history
  21. Don't backtrack through subpattern references ad infinitum.

    This is going to be reverted immediately, since apparently Perl isn't
    smart enough to do this and will itself overflow the stack.
    nbtrap committed Dec 30, 2013
    Configuration menu
    Copy the full SHA
    69f0d7c View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    55a48e0 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2014

  1. Configuration menu
    Copy the full SHA
    38986bd View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2014

  1. Configuration menu
    Copy the full SHA
    d79af78 View commit details
    Browse the repository at this point in the history
  2. Add tests for subpattern references.

    1634 and 1635 currently don't work.
    nbtrap committed Jan 6, 2014
    Configuration menu
    Copy the full SHA
    5de7565 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fa60aff View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    09625d5 View commit details
    Browse the repository at this point in the history
  5. Actually, only skip the "skip" optimization when optimizing ends of s…

    …trings in patterns containing subpattern references.
    nbtrap committed Jan 6, 2014
    Configuration menu
    Copy the full SHA
    a4e1eaa View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e100f55 View commit details
    Browse the repository at this point in the history
  7. Add more tests for subpattern references.

    Current, the following tests fail: 1638, 1639, 1641, 1642, 1643, 1644,
    1645, 1646.
    nbtrap committed Jan 6, 2014
    Configuration menu
    Copy the full SHA
    ada178a View commit details
    Browse the repository at this point in the history
  8. Use SETF instead of SETQ.

    nbtrap committed Jan 6, 2014
    Configuration menu
    Copy the full SHA
    e7d4eff View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2014

  1. Make sure INSIDE-SUBPATTERN-REFERENCE gets set to NIL when NEXT-FN is…

    … not called.
    
    The NEXT-FN (or OTHER-FN) parameter is only called when the register's
    inner matcher succeeds.  When the inner matcher failed,
    INSIDE-SUBPATTERN-REFERENCE was not being unset, though it should have
    been.
    nbtrap committed Jan 7, 2014
    Configuration menu
    Copy the full SHA
    0309c76 View commit details
    Browse the repository at this point in the history
  2. Number tests correctly.

    nbtrap committed Jan 7, 2014
    Configuration menu
    Copy the full SHA
    806857a View commit details
    Browse the repository at this point in the history
  3. Create a temporary set of registers for each pass through a subpatter…

    …n reference.
    
    This patch fixes tests 1643-1646.
    nbtrap committed Jan 7, 2014
    Configuration menu
    Copy the full SHA
    047c17e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    22c26a8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3bbe139 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b05a808 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2014

  1. Configuration menu
    Copy the full SHA
    c70985f View commit details
    Browse the repository at this point in the history
  2. Only compute INNER-MATCHER-WITHOUT-NEXT-FN when it's needed.

    It's actually not clear that this is faster, though it probably is.
    nbtrap committed Jan 8, 2014
    Configuration menu
    Copy the full SHA
    cdb513c View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2014

  1. Remove FIXME comment from closures.lisp, and rename one of the variab…

    …les.
    
    There is another way to go about this, but there's really no telling
    which way would be faster.  The advantage to contructing two matchers
    is that it only happens once and compilation time.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    4fe74d0 View commit details
    Browse the repository at this point in the history
  2. Remove FIXME comment from CREATE-MATCHER-AUX for SUBPATTERN-REFERENCE.

    The optimization suggested there is trivial.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    56243a1 View commit details
    Browse the repository at this point in the history
  3. Remove more FIXME comments.

    Perl does not allow whitespace around numbers/names in subpattern
    references.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    8591bd4 View commit details
    Browse the repository at this point in the history
  4. Make named subpattern references refer to the first subpattern with t…

    …he given name, as in Perl.
    
    This currently doesn't work for forward references.  E.g.:
    
    (let ((ppcre::*allow-named-registers* t))
      (ppcre:scan (ppcre:parse-string "(?&foo)(?<foo>f)(?<foo>o)") "ffo"))
    
    returns NIL.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    8572c7a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4d1c609 View commit details
    Browse the repository at this point in the history
  6. Add two tests (1652 and 1675) for testing forward subpattern referenc…

    …es for special case.
    
    The special case is where the forward reference refers to the
    beginning of the constant end of string.  These tests currently fail.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    e4abae6 View commit details
    Browse the repository at this point in the history
  7. Reorder the subpattern reference tests.

    The tests are now so ordered that every numbered subpattern reference
    test is followed by a corresponding named subpattern reference test.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    36acbdd View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    87c9afc View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6620354 View commit details
    Browse the repository at this point in the history
  10. Bind *ALLOW-NAMED-REGISTERS* to NIL before running simple tests.

    If the user has bound this variable to T, the simple tests will not
    all pass.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    09ad0d4 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    68d4215 View commit details
    Browse the repository at this point in the history
  12. Add two more tests.

    These tests make sure that CL-PPCRE uses the correct named register
    when multiple registers have the same name.
    nbtrap committed Jan 12, 2014
    Configuration menu
    Copy the full SHA
    ffca226 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2014

  1. Remove FIXME comment about disambiguating named subpattern references.

    This question has been answered an implemented in a previous commit.
    nbtrap committed Jan 15, 2014
    Configuration menu
    Copy the full SHA
    e9c94db View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d7d8941 View commit details
    Browse the repository at this point in the history
  3. Remove another FIXME comment.

    As with their offsets, determing the minimum lengths subpattern
    references is only feasible for patterns that don't really need
    subpattern references to begin with.
    nbtrap committed Jan 15, 2014
    Configuration menu
    Copy the full SHA
    c5e06f7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e04ccda View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1f1bba8 View commit details
    Browse the repository at this point in the history
  6. Make perltest.pl handle arbitrarily large and variable numbers of reg…

    …isters.
    
    The perltestdata file produced by this updated perltest.pl only
    reports results for registers that are actually contained in the
    corresponding pattern.
    nbtrap committed Jan 15, 2014
    Configuration menu
    Copy the full SHA
    0b70e23 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7bd7c22 View commit details
    Browse the repository at this point in the history
  8. Remove comment about possibly supporting (?0) and (?R).

    These are not worth the time, especially considering that they're
    trivially easy to simulate.
    nbtrap committed Jan 15, 2014
    Configuration menu
    Copy the full SHA
    f4f8137 View commit details
    Browse the repository at this point in the history
  9. Remove unneeded variable NAMED-REG-SEEN.

    We know a named reg has been seen when one or more of the elements of
    REG-NAMES is true.
    nbtrap committed Jan 15, 2014
    Configuration menu
    Copy the full SHA
    a37bf58 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2014

  1. Configuration menu
    Copy the full SHA
    8678c2b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    41cbc80 View commit details
    Browse the repository at this point in the history
  3. Don't needlessly stop accumulating for string-beginning optimization.

    Specifically, once we see a register, continue building the constant
    string beginning unless the regex contains a subpattern reference.
    nbtrap committed Jan 16, 2014
    Configuration menu
    Copy the full SHA
    8cdc21b View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2014

  1. Remove specific test references from comment.

    The test numbers are no longer correct and are subject to change further.
    nbtrap committed Jan 17, 2014
    Configuration menu
    Copy the full SHA
    7c501f0 View commit details
    Browse the repository at this point in the history
  2. Fix indentation.

    nbtrap committed Jan 17, 2014
    Configuration menu
    Copy the full SHA
    e4dfb25 View commit details
    Browse the repository at this point in the history
  3. Don't create a separate matcher for matching registers from subpatter…

    …n references.
    
    Instead, every time we descend into a register from a subpattern
    reference, we first push a value onto a register-specific list and pop
    it off once we return.  When STORE-END-OF-REG sees that there is a
    value on the list, it knows we entered the register from a subpattern
    reference and doesn't try to match the part of the regex following the
    register.
    
    It's hard to say whether this improves or degrades performance and
    readability.  But it does seem simpler.
    nbtrap committed Jan 17, 2014
    Configuration menu
    Copy the full SHA
    49878b0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    da8f474 View commit details
    Browse the repository at this point in the history
  5. Add some more tests that check for correct backtracking through subpa…

    …ttern references.
    
    These currently fail.
    nbtrap committed Jan 17, 2014
    Configuration menu
    Copy the full SHA
    2805231 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2014

  1. Backtrack correctly into subpattern references.

    This enables correct matching for calls such as:
    
      (ppcre:scan "(?1)(o(?1)?)" "oo")
    nbtrap committed Jan 19, 2014
    Configuration menu
    Copy the full SHA
    5c0f673 View commit details
    Browse the repository at this point in the history
  2. Clean up CREATE-MATCHER-AUX method for REGISTER.

    Add some comments, and rename a variable.
    nbtrap committed Jan 19, 2014
    Configuration menu
    Copy the full SHA
    987c5b4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bab5e70 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2014

  1. Add some more subpattern reference tests.

    These were taken from PCRE's file testdata/testinput2 with slight
    modifications.
    nbtrap committed Jan 20, 2014
    Configuration menu
    Copy the full SHA
    e32cf51 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2014

  1. Add more tests for subpattern references.

    These tests were taken from PCRE's testdata/testinput2 with slight
    modifications.
    nbtrap committed Jan 26, 2014
    Configuration menu
    Copy the full SHA
    6f0ad13 View commit details
    Browse the repository at this point in the history
  2. Add some more tests for subpattern references.

    These were taken from PCRE's testdata/testinput2 with slight modifications.
    nbtrap committed Jan 26, 2014
    Configuration menu
    Copy the full SHA
    1b51a27 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    82414b7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    da706f6 View commit details
    Browse the repository at this point in the history
  5. Reformat comments in the style of other comments in the package.

    (No periods, no capitalized sentences.)
    nbtrap committed Jan 26, 2014
    Configuration menu
    Copy the full SHA
    5f7af85 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6d1bee4 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2014

  1. Add FILTER and WORD-BOUNDARY to the default ETYPECASE clause in CONVE…

    …RT-NAMED-SUBPATTERN-REF.
    
    I believe this exhausts all possibilities that need to be covered.
    nbtrap committed Feb 8, 2014
    Configuration menu
    Copy the full SHA
    2852e76 View commit details
    Browse the repository at this point in the history
  2. Convert ETYPECASE -> TYPECASE, since all possibilities are accounted …

    …for.
    
    Also, add a test for using subpattern references with the :FILTER
    feature.
    nbtrap committed Feb 8, 2014
    Configuration menu
    Copy the full SHA
    7d1ed2b View commit details
    Browse the repository at this point in the history
  3. Add a test for handling back-references within subpattern references …

    …referring to registers outside the referenced subpattern.
    
    This currently fails.  When entering into a subpattern reference, Perl
    only creates new registers for those capture groups located inside the
    subpattern reference.  The capture groups outside the subpattern
    reference retain their values.
    nbtrap committed Feb 8, 2014
    Configuration menu
    Copy the full SHA
    eed3e27 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2014

  1. Add some more tests verifying correct behavior of subpattern- and bac…

    …k-reference cooperation.
    nbtrap committed Feb 16, 2014
    Configuration menu
    Copy the full SHA
    10a6af6 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2014

  1. Begin transitioning to the new register offsets storage model.

    Instead of storing the beginning/end of register offsets directly in
    the corresponding arrays, we will now store lists where the car of
    each list is the offset.  The reason for this is that when we descend
    into a subpattern reference, instead of making a new array where all
    offsets are reset, we will push new offsets onto the front of the
    lists corresponding only to those registers contained within the
    register we're entering via the subpattern reference.  In other words,
    we'll only be resetting certain registers.  This will fix tests 1783
    and 1785.
    
    Which registers contain which other registers will be computed during
    regex compilation.
    nbtrap committed Feb 17, 2014
    Configuration menu
    Copy the full SHA
    c3c5e06 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3891ee5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2b40341 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6c6771a View commit details
    Browse the repository at this point in the history
  5. Continue transition to new register offsets storage model.

    At this points, I had expected everything to work as well as with the
    old model, but there are still many tests that are failing, so
    apparently there are some bugs left to iron out.
    nbtrap committed Feb 17, 2014
    Configuration menu
    Copy the full SHA
    474b91a View commit details
    Browse the repository at this point in the history
  6. Add some test cases that illumine one of the current register offsets…

    … storage model's defects.
    nbtrap committed Feb 17, 2014
    Configuration menu
    Copy the full SHA
    d938c89 View commit details
    Browse the repository at this point in the history
  7. Don't store possible register offset of register entered via subpatte…

    …rn reference.
    
    This was causing many tests to fail with bizarre error messages.  It
    wasn't caught using the old register offsets storage model since the
    array the value was beging stored in was a temporary array to begin
    with.
    
    With this commit, the only tests run by RUN-ALL-TESTS that fail are
    those that Perl itself gets wrong.
    nbtrap committed Feb 17, 2014
    Configuration menu
    Copy the full SHA
    ffeff74 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c3a7c2a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1627892 View commit details
    Browse the repository at this point in the history
  10. Fix test 1798.

    It was missing the definition of regThree.
    nbtrap committed Feb 17, 2014
    Configuration menu
    Copy the full SHA
    9d63ac7 View commit details
    Browse the repository at this point in the history
  11. Remove some redundant code in CREATE-MATCHER-AUX specialized on REGIS…

    …TER.
    
    The redundant code was moved into LABELS function definitions.
    nbtrap committed Feb 17, 2014
    Configuration menu
    Copy the full SHA
    d517e82 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2014

  1. Configuration menu
    Copy the full SHA
    bfe5c92 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2014

  1. Configuration menu
    Copy the full SHA
    eb26c38 View commit details
    Browse the repository at this point in the history
  2. Disable some tests in test/perltestdata, but add them to test/simple.

    These are tests that even Perl gets wrong.
    nbtrap committed Feb 19, 2014
    Configuration menu
    Copy the full SHA
    1da422d View commit details
    Browse the repository at this point in the history
  3. Record SUBREGISTER-COUNT instead of a list of SUBREGISTERS.

    The numbers of registers nested within a register must be contiguous
    with each other and with that of the parent register, so there's no
    need to compute a list of subregisters--we just need to know how many
    are nested within, and we can compute the rest therefrom.
    nbtrap committed Feb 19, 2014
    Configuration menu
    Copy the full SHA
    0b1b87e View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2014

  1. Configuration menu
    Copy the full SHA
    d3a1dee View commit details
    Browse the repository at this point in the history
  2. Add two more tests that currently fail.

    Each fails for a different reason.  The first fails because it matches
    where Perl does not.  (It's not clear whose bug this is.)  The second
    fails because we're not waiting until the regex has finished compiling
    before validating register names.
    nbtrap committed Feb 22, 2014
    Configuration menu
    Copy the full SHA
    8db37a9 View commit details
    Browse the repository at this point in the history
  3. Add two more tests that fail.

    These are like the previous two tests added in the previous commit,
    except they deal with "self-referential" backreferences rather than
    forward backreferences.
    nbtrap committed Feb 22, 2014
    Configuration menu
    Copy the full SHA
    f08f4e2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f064a0c View commit details
    Browse the repository at this point in the history
  5. Add subpattern reference commentary to docs on *ALLOW-NAMED-REGISTERS*

    Also, add some FIXME comments to return to later.
    nbtrap committed Feb 22, 2014
    Configuration menu
    Copy the full SHA
    0de65d3 View commit details
    Browse the repository at this point in the history
  6. Restore the original docstrings to *REG-STARTS*, etc.

    This begins a third attempt at a register offsets storage model.
    
    The problem with the current model is that it changed the
    implementation of *REG-STARTS*, etc., variables that I didn't realize
    were part of the api.  This latest attempt will restore the original
    semantics to those variables and store offset stacks (for recursive
    subpattern references) in separate variables.
    nbtrap committed Feb 22, 2014
    Configuration menu
    Copy the full SHA
    adb9156 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    07c8d92 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b1d2ec7 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ad4d39f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    00c2ca5 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e64e5ba View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9aaa4da View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    92b459e View commit details
    Browse the repository at this point in the history
  14. Add more tests to *TESTS-TO-SKIP*

    These are tests that CL-PPCRE gets right but Perl gets wrong, except
    fot 1812, which is caused by validating backreference names too soon.
    nbtrap committed Feb 22, 2014
    Configuration menu
    Copy the full SHA
    f77686c View commit details
    Browse the repository at this point in the history
  15. Move more tests (1809-1812) into test/simple.

    These are tests that Perl gets wrong.
    nbtrap committed Feb 22, 2014
    Configuration menu
    Copy the full SHA
    f50d7a6 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    53cdefe View commit details
    Browse the repository at this point in the history
  17. Add FIXME comment to come back to later.

    Does Perl try to match more than one capture group if more than one
    have the same name?
    nbtrap committed Feb 22, 2014
    Configuration menu
    Copy the full SHA
    2f4c042 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2014

  1. Add more tests for subpattern-/back-reference cooperation.

    These currently fail due to Perl's incorrect behavior.  See Perl's RT
    nbtrap committed Feb 24, 2014
    Configuration menu
    Copy the full SHA
    8f838eb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2fc37a6 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2014

  1. Create new bindings for the referenced register upon entry to subpatt…

    …ern-reference.
    
    When entering a register x via subpattern-reference, the registers
    local to x receive new dynamic bindings, which shadow the old bindings
    for the duration of the subpattern call.  Previously, "local" did not
    include the register itself--x in this case.  With this patch, the
    referenced register now receives a new binding as well.
    
    It's not entirely clear that this is the appropriate behavior.  In a
    regex like "(.\1?)(?1)", the back-reference to '\1' now will always
    fail, rather than potentially matching according to what was matched
    in the first pass through the first register.
    nbtrap committed Feb 26, 2014
    Configuration menu
    Copy the full SHA
    9b97c91 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2014

  1. Remove FIXME comment from convert.lisp.

    The issue referred to there is one of the the subjects of edicl#17.
    nbtrap committed Feb 27, 2014
    Configuration menu
    Copy the full SHA
    46a078c View commit details
    Browse the repository at this point in the history
  2. Use "recurse" instead of "refer" to describe the action associated wi…

    …th subpattern references.
    nbtrap committed Feb 27, 2014
    Configuration menu
    Copy the full SHA
    9b0a9c0 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2014

  1. Configuration menu
    Copy the full SHA
    81be1e4 View commit details
    Browse the repository at this point in the history
  2. Update comment.

    nbtrap committed Feb 28, 2014
    Configuration menu
    Copy the full SHA
    a941400 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    846c22e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b5b406c View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2014

  1. Configuration menu
    Copy the full SHA
    72d020e View commit details
    Browse the repository at this point in the history
  2. Fix lexical/special binding bug.

    This went undetected for so long because of a bug in SBCL (and ECL,
    apparently).  The way it was written, it shouldn't have worked, but it
    did--except on CLISP, which is how the bug was caught.
    nbtrap committed Mar 1, 2014
    Configuration menu
    Copy the full SHA
    498e3f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    544fcd1 View commit details
    Browse the repository at this point in the history
  4. Fix indentation of PROG1.

    nbtrap committed Mar 1, 2014
    Configuration menu
    Copy the full SHA
    22082fc View commit details
    Browse the repository at this point in the history
  5. Get rid of extra LET.

    nbtrap committed Mar 1, 2014
    Configuration menu
    Copy the full SHA
    f0bc9f3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2ce2ff7 View commit details
    Browse the repository at this point in the history
  7. Rename OTHER-FN -> CONT.

    nbtrap committed Mar 1, 2014
    Configuration menu
    Copy the full SHA
    dc6eaa4 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7d5c4d4 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a833ffb View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    bef1a6a View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2014

  1. Fix declaration on SUBPATTERN-REFS.

    This should be a SPECIAL declaration, not a type declaration.
    nbtrap committed Mar 2, 2014
    Configuration menu
    Copy the full SHA
    8a288eb View commit details
    Browse the repository at this point in the history