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

🐛 Fix NAMESPACE parsing (and other ♻️ refactoring) #112

Merged
merged 1 commit into from
Feb 12, 2023

Conversation

nevans
Copy link
Collaborator

@nevans nevans commented Feb 12, 2023

n.b, this was split off from #104, which was too big for a single PR.

I misread or misunderstood the spec when I first implemented this... I wrongly inserted SP-delimiters. Most servers don't list more than one namespace, so probably very few noticed the bug!

Also:

  • ♻️ Rewrote using "new parser style" to more directly imitate the ABNF.
  • ⚡️ Small but measurable performance improvement.
  • ♻️ Add ParserUtils::Generator#def_token_matchers for quoted, string, nil, tagged_ext_label, etc.
  • ♻️ Move atom, astring, nstring, etc to top, so they can be aliased.
  • ♻️ Use NIL in nstring, nquoted

I misread or misunderstood the spec when I first implemented this...
I wrongly inserted SP-delimiters.  Most servers don't list more than one
namespace, so probably very few noticed the bug!

Also:
* ♻️ Rewrote using "new parser style" to more directly imitate the ABNF.
* ⚡️ Small but measurable performance improvement.
* ♻️ Add ParserUtils::Generator#def_token_matchers for quoted, string,
  nil, tagged_ext_label, etc.
* ♻️ Move atom, astring, nstring, etc to top, so they can be aliased.
* ♻️ Use NIL in nstring, nquoted
@nevans nevans requested a review from shugo February 12, 2023 06:08
@nevans nevans merged commit 1937d5f into master Feb 12, 2023
@nevans nevans deleted the fix-namespace-bug branch February 12, 2023 06:12
@nevans nevans added the IMAP4rev2 Requirement for IMAP4rev2, RFC9051 label Feb 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IMAP4rev2 Requirement for IMAP4rev2, RFC9051
Development

Successfully merging this pull request may close these issues.

1 participant