diff options
Diffstat (limited to 'tex/context/base/mkiv/l-lpeg.lua')
| -rw-r--r-- | tex/context/base/mkiv/l-lpeg.lua | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/tex/context/base/mkiv/l-lpeg.lua b/tex/context/base/mkiv/l-lpeg.lua index 750d5e698..589fa2b0b 100644 --- a/tex/context/base/mkiv/l-lpeg.lua +++ b/tex/context/base/mkiv/l-lpeg.lua @@ -308,12 +308,28 @@ function lpeg.instringchecker(p)      end  end +-- function lpeg.splitter(pattern, action) +--     return (((1-P(pattern))^1)/action+1)^0 +-- end + +-- function lpeg.tsplitter(pattern, action) +--     return Ct((((1-P(pattern))^1)/action+1)^0) +-- end +  function lpeg.splitter(pattern, action) -    return (((1-P(pattern))^1)/action+1)^0 +    if action then +        return (((1-P(pattern))^1)/action+1)^0 +    else +        return (Cs((1-P(pattern))^1)+1)^0 +    end  end  function lpeg.tsplitter(pattern, action) -    return Ct((((1-P(pattern))^1)/action+1)^0) +    if action then +        return Ct((((1-P(pattern))^1)/action+1)^0) +    else +        return Ct((Cs((1-P(pattern))^1)+1)^0) +    end  end  -- probleem: separator can be lpeg and that does not hash too well, but | 
