| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Documentation build overview22 files changed · ± 22 modified ± Modified |
Sorry, something went wrong.
|
Tests has been merged separately, so now we only see new tests, which would fail on the old code. |
Sorry, something went wrong.
Argument quoting was inadvertently disabled when imaplib was ported to Python 3 (bpo-1210 commented out the ``_checkquote()`` call, bpo-9638 then removed it), so since Python 3.0 commands failed for arguments containing protocol-sensitive characters, such as a space in a mailbox name. Quoting is restored and reimplemented per the RFC 3501 grammar, so that arguments that need quoting are escaped and quoted, while flags, sequence sets and list wildcards are left intact. For backward compatibility, an argument already enclosed in double quotes is left unchanged, so code that quotes arguments itself keeps working. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Non-ASCII mailbox names are only allowed in a quoted string or a literal, never in an atom (RFC 6855). "ALL", "FULL" and "FAST" are macros, not data item names; they cannot be enclosed in parentheses. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
# Conflicts: # Lib/test/test_imaplib.py
|
Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14, 3.15. |
Sorry, something went wrong.
|
Sorry, @serhiy-storchaka, I could not cleanly backport this to 3.15 due to a conflict. cherry_picker 600e86490fddf4732e8b993058ca011cc6387464 3.15 |
Sorry, something went wrong.
|
Sorry, @serhiy-storchaka, I could not cleanly backport this to 3.14 due to a conflict. cherry_picker 600e86490fddf4732e8b993058ca011cc6387464 3.14 |
Sorry, something went wrong.
|
Sorry, @serhiy-storchaka, I could not cleanly backport this to 3.13 due to a conflict. cherry_picker 600e86490fddf4732e8b993058ca011cc6387464 3.13 |
Sorry, something went wrong.
|
GH-153066 is a backport of this pull request to the 3.15 branch. |
Sorry, something went wrong.
…52703) (GH-153066) Argument quoting was inadvertently disabled when imaplib was ported to Python 3 (bpo-1210 commented out the ``_checkquote()`` call, bpo-9638 then removed it), so since Python 3.0 commands failed for arguments containing protocol-sensitive characters, such as a space in a mailbox name. Quoting is restored and reimplemented per the RFC 3501 grammar, so that arguments that need quoting are escaped and quoted, while flags, sequence sets and list wildcards are left intact. For backward compatibility, an argument already enclosed in double quotes is left unchanged, so code that quotes arguments itself keeps working. (cherry picked from commit 600e864) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
GH-153069 is a backport of this pull request to the 3.14 branch. |
Sorry, something went wrong.
|
GH-153071 is a backport of this pull request to the 3.13 branch. |
Sorry, something went wrong.
…52703) (GH-153069) Argument quoting was inadvertently disabled when imaplib was ported to Python 3 (bpo-1210 commented out the ``_checkquote()`` call, bpo-9638 then removed it), so since Python 3.0 commands failed for arguments containing protocol-sensitive characters, such as a space in a mailbox name. Quoting is restored and reimplemented per the RFC 3501 grammar, so that arguments that need quoting are escaped and quoted, while flags, sequence sets and list wildcards are left intact. For backward compatibility, an argument already enclosed in double quotes is left unchanged, so code that quotes arguments itself keeps working. (cherry picked from commit 600e864) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…52703) (GH-153071) Argument quoting was inadvertently disabled when imaplib was ported to Python 3 (bpo-1210 commented out the ``_checkquote()`` call, bpo-9638 then removed it), so since Python 3.0 commands failed for arguments containing protocol-sensitive characters, such as a space in a mailbox name. Quoting is restored and reimplemented per the RFC 3501 grammar, so that arguments that need quoting are escaped and quoted, while flags, sequence sets and list wildcards are left intact. For backward compatibility, an argument already enclosed in double quotes is left unchanged, so code that quotes arguments itself keeps working. (cherry picked from commit 600e864) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
Argument quoting in imaplib was inadvertently disabled when the module
was ported to Python 3 (bpo-1210, bpo-9638), so since Python 3.0 commands
silently fail for arguments containing protocol-sensitive characters,
such as a mailbox name with a space.
Quoting is restored and reimplemented per the :rfc:3501 grammar:
arguments that need quoting are escaped and quoted, while flags, sequence
sets and list wildcards are left intact. For backward compatibility, an
argument already enclosed in double quotes is left unchanged, so code that
quotes arguments itself keeps working.
This supersedes #6395 and also resolves #92835, #58148, #90378 and
#148770.
I had almost finished this work about 1.5 years ago, but stopped,
exhausted, after writing roughly 30% of the tests — there are a lot of
them, they are wordy, and they require strict focus. I was finally able
to complete them now with the help of AI.