Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
bpo-37751: Document the change in What's New in Python 3.9#17997
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
Uh oh!
There was an error while loading. Please reload this page.
Conversation
vstinner commented Jan 14, 2020 • edited by bedevere-bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-bot
Uh oh!
There was an error while loading. Please reload this page.
vstinner commented Jan 14, 2020
cc @malemburg |
vstinner commented Jan 14, 2020
Oops, the change was done in Python 3.9, not in Python 3.8! PR updated. |
corona10 left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
| :data:`~errno.EBADF` error. | ||
| (Contributed by Victor Stinner in :issue:`39239`.) | ||
| * :func:`codecs.lookup` now normalizes the encoding name the same way than |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are other differences. For example, normalize_encoding("КОИ-8") returns "кои_8", but codecs.lookup normalizes it to "8".
The comment in the sources is also not correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
encodings.normalize_encoding() says "Note that encoding names should be ASCII only." You're correct: "КОИ-8" is normalized to "8" by codecs.lookup() because the C function _Py_normalize_encoding() ignores non-ASCII letters.
I don't know which behavior is correct. It sounds strange to me to have a non-ASCII encoding name. Which encoding is supposed to be used to encoding the encoding name?!? :-D Maybe encodings.normalize_encoding() should also ignore non-ASCII letters, be more strict.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created bpo-39337: codecs.lookup() ignores non-ASCII characters, whereas encodings.normalize_encoding() copies them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe encodings.normalize_encoding() should also ignore non-ASCII letters, be more strict.
Hm, the annotation of normalize_encoding have the words: Note that encoding names should be ASCII only.
+1 for encodings.normalize_encoding() should be similar as _Py_normalize_encoding().
And I created a PR: #22219
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are other differences. For example, normalize_encoding("КОИ-8") returns "кои_8", but codecs.lookup normalizes it to "8".
After #22219 merged, this problem have been fixed(MAYBE enhanced will be more exact).
| :data:`~errno.EBADF` error. | ||
| (Contributed by Victor Stinner in :issue:`39239`.) | ||
| * :func:`codecs.lookup` now normalizes the encoding name the same way than |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * :func:`codecs.lookup` now normalizes the encoding name the same way than | |
| * :func:`codecs.lookup` now normalizes the encoding name the same way as |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I create a new PR in #23096, and this word have been replaced.
csabella commented May 22, 2020
@vstinner is this one that needs to be merged soon? |
vstinner commented Oct 1, 2020 • edited by bedevere-bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-bot
Uh oh!
There was an error while loading. Please reload this page.
@shihai1991: I failed to find time to finish this PR. Since you are wokring on bpo-39337, do you want to continue the work on this PR? You can steal it (copy/paste my change), and try to address previous comments. |
shihai1991 commented Oct 1, 2020
No problem, I will take a look :) |
shihai1991 commented Nov 2, 2020
A new PR in #23096 (copy from this PR). |
https://bugs.python.org/issue37751