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

New splitting implemented #701

Merged
merged 5 commits into from
May 12, 2020
Merged

Conversation

Skillmon
Copy link
Contributor

@Skillmon Skillmon commented Apr 9, 2020

This pull request ports the changes made to expkv in v1.0 (modulo some corrections) to l3keys's \keyval_parse:NNn. As a result this is 25%-35% faster than the current implementation.

This merge also fixes some minor (up to now) undetected bugs introduced with #678 and some inconsistent behaviour which was already observable with the version prior to that PR.

All these behaviour changes are related to the behaviour of empty or blank key names. This version will throw a blank-key-name error on all of the following inputs (except for the very first key-value list element which is completely blank, this case is still silently ignored as it should be):

\keyval_parse:NNn \use_none:n \use_none:nn
  {
    , {}
    , { ~ }
    , = value
    , {} = value
    , { ~ } = value
  }

@Skillmon
Copy link
Contributor Author

Skillmon commented Apr 9, 2020

I'd like to add a few more regression tests here on which I'm currently working (which should prevent things like {}=b from slipping through in the future).

@PhelypeOleinik PhelypeOleinik merged commit 995462d into latex3:master May 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants