From 8c37899fa153dd527b5d50c4e8687b7219c40e58 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 27 Jan 2022 00:11:16 +0000 Subject: [PATCH] sync with cpython 171fdf21 --- faq/design.po | 183 +++++++-------- whatsnew/3.10.po | 564 ++++++++++++++++++++++++----------------------- whatsnew/3.9.po | 524 ++++++++++++++++++++++--------------------- 3 files changed, 650 insertions(+), 621 deletions(-) diff --git a/faq/design.po b/faq/design.po index 7012230000..e1f8b5ba5b 100644 --- a/faq/design.po +++ b/faq/design.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-26 16:47+0000\n" +"POT-Creation-Date: 2022-01-27 00:09+0000\n" "PO-Revision-Date: 2018-05-23 14:35+0000\n" "Last-Translator: Adrian Liaw \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" @@ -263,7 +263,8 @@ msgstr "" #: ../../faq/design.rst:207 msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" -msgstr "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" +msgstr "" +"https://mail.python.org/pipermail/python-3000/2006-November/004643.html" #: ../../faq/design.rst:193 msgid "Why is join() a string method instead of a list or tuple method?" @@ -360,13 +361,13 @@ msgid "" "to call. For example::" msgstr "" -#: ../../faq/design.rst:279 +#: ../../faq/design.rst:276 msgid "" "For calling methods on objects, you can simplify yet further by using the :" "func:`getattr` built-in to retrieve methods with a particular name::" msgstr "" -#: ../../faq/design.rst:291 +#: ../../faq/design.rst:288 msgid "" "It's suggested that you use a prefix for the method names, such as " "``visit_`` in this example. Without such a prefix, if values are coming " @@ -374,13 +375,13 @@ msgid "" "your object." msgstr "" -#: ../../faq/design.rst:297 +#: ../../faq/design.rst:294 msgid "" "Can't you emulate threads in the interpreter instead of relying on an OS-" "specific thread implementation?" msgstr "" -#: ../../faq/design.rst:299 +#: ../../faq/design.rst:296 msgid "" "Answer 1: Unfortunately, the interpreter pushes at least one C stack frame " "for each Python stack frame. Also, extensions can call back into Python at " @@ -388,18 +389,18 @@ msgid "" "requires thread support for C." msgstr "" -#: ../../faq/design.rst:304 +#: ../../faq/design.rst:301 msgid "" "Answer 2: Fortunately, there is `Stackless Python `_, which has a completely redesigned " "interpreter loop that avoids the C stack." msgstr "" -#: ../../faq/design.rst:309 +#: ../../faq/design.rst:306 msgid "Why can't lambda expressions contain statements?" msgstr "為何lambda表示式不能包含在敘述內" -#: ../../faq/design.rst:311 +#: ../../faq/design.rst:308 msgid "" "Python lambda expressions cannot contain statements because Python's " "syntactic framework can't handle statements nested inside expressions. " @@ -408,7 +409,7 @@ msgid "" "shorthand notation if you're too lazy to define a function." msgstr "" -#: ../../faq/design.rst:317 +#: ../../faq/design.rst:314 msgid "" "Functions are already first class objects in Python, and can be declared in " "a local scope. Therefore the only advantage of using a lambda instead of a " @@ -418,11 +419,11 @@ msgid "" "is assigned!" msgstr "" -#: ../../faq/design.rst:325 +#: ../../faq/design.rst:322 msgid "Can Python be compiled to machine code, C or some other language?" msgstr "Python可以被編譯成機器語言或C語言或其他種語言嗎?" -#: ../../faq/design.rst:327 +#: ../../faq/design.rst:324 msgid "" "`Cython `_ compiles a modified version of Python with " "optional annotations into C extensions. `Nuitka `_ " @@ -431,11 +432,11 @@ msgid "" "voc.readthedocs.io>`_." msgstr "" -#: ../../faq/design.rst:335 +#: ../../faq/design.rst:332 msgid "How does Python manage memory?" msgstr "Python如何管理記憶體?" -#: ../../faq/design.rst:337 +#: ../../faq/design.rst:334 msgid "" "The details of Python memory management depend on the implementation. The " "standard implementation of Python, :term:`CPython`, uses reference counting " @@ -446,7 +447,7 @@ msgid "" "statistics, and tune the collector's parameters." msgstr "" -#: ../../faq/design.rst:345 +#: ../../faq/design.rst:342 msgid "" "Other implementations (such as `Jython `_ or `PyPy " "`_), however, can rely on a different mechanism such as " @@ -455,13 +456,13 @@ msgid "" "reference counting implementation." msgstr "" -#: ../../faq/design.rst:351 +#: ../../faq/design.rst:348 msgid "" "In some Python implementations, the following code (which is fine in " "CPython) will probably run out of file descriptors::" msgstr "" -#: ../../faq/design.rst:358 +#: ../../faq/design.rst:355 msgid "" "Indeed, using CPython's reference counting and destructor scheme, each new " "assignment to *f* closes the previous file. With a traditional GC, however, " @@ -469,18 +470,18 @@ msgid "" "possibly long intervals." msgstr "" -#: ../../faq/design.rst:363 +#: ../../faq/design.rst:360 msgid "" "If you want to write code that will work with any Python implementation, you " "should explicitly close the file or use the :keyword:`with` statement; this " "will work regardless of memory management scheme::" msgstr "" -#: ../../faq/design.rst:373 +#: ../../faq/design.rst:370 msgid "Why doesn't CPython use a more traditional garbage collection scheme?" msgstr "為何CPython不使用更多傳統的垃圾回收機制?" -#: ../../faq/design.rst:375 +#: ../../faq/design.rst:372 msgid "" "For one thing, this is not a C standard feature and hence it's not portable. " "(Yes, we know about the Boehm GC library. It has bits of assembler code for " @@ -489,7 +490,7 @@ msgid "" "Python to work with it.)" msgstr "" -#: ../../faq/design.rst:381 +#: ../../faq/design.rst:378 msgid "" "Traditional GC also becomes a problem when Python is embedded into other " "applications. While in a standalone Python it's fine to replace the " @@ -499,11 +500,11 @@ msgid "" "with anything that implements malloc() and free() properly." msgstr "" -#: ../../faq/design.rst:390 +#: ../../faq/design.rst:387 msgid "Why isn't all memory freed when CPython exits?" msgstr "當CPython結束時,為何所有的記憶體不會被釋放?" -#: ../../faq/design.rst:392 +#: ../../faq/design.rst:389 msgid "" "Objects referenced from the global namespaces of Python modules are not " "always deallocated when Python exits. This may happen if there are circular " @@ -513,17 +514,17 @@ msgid "" "exit and does try to destroy every single object." msgstr "" -#: ../../faq/design.rst:399 +#: ../../faq/design.rst:396 msgid "" "If you want to force Python to delete certain things on deallocation use " "the :mod:`atexit` module to run a function that will force those deletions." msgstr "" -#: ../../faq/design.rst:404 +#: ../../faq/design.rst:401 msgid "Why are there separate tuple and list data types?" msgstr "" -#: ../../faq/design.rst:406 +#: ../../faq/design.rst:403 msgid "" "Lists and tuples, while similar in many respects, are generally used in " "fundamentally different ways. Tuples can be thought of as being similar to " @@ -533,7 +534,7 @@ msgid "" "numbers." msgstr "" -#: ../../faq/design.rst:413 +#: ../../faq/design.rst:410 msgid "" "Lists, on the other hand, are more like arrays in other languages. They " "tend to hold a varying number of objects all of which have the same type and " @@ -543,7 +544,7 @@ msgid "" "added another file or two to the directory." msgstr "" -#: ../../faq/design.rst:420 +#: ../../faq/design.rst:417 msgid "" "Tuples are immutable, meaning that once a tuple has been created, you can't " "replace any of its elements with a new value. Lists are mutable, meaning " @@ -552,12 +553,12 @@ msgid "" "as keys." msgstr "" -#: ../../faq/design.rst:427 +#: ../../faq/design.rst:424 #, fuzzy msgid "How are lists implemented in CPython?" msgstr "串列如何被繼承?" -#: ../../faq/design.rst:429 +#: ../../faq/design.rst:426 msgid "" "CPython's lists are really variable-length arrays, not Lisp-style linked " "lists. The implementation uses a contiguous array of references to other " @@ -565,13 +566,13 @@ msgid "" "head structure." msgstr "" -#: ../../faq/design.rst:433 +#: ../../faq/design.rst:430 msgid "" "This makes indexing a list ``a[i]`` an operation whose cost is independent " "of the size of the list or the value of the index." msgstr "" -#: ../../faq/design.rst:436 +#: ../../faq/design.rst:433 msgid "" "When items are appended or inserted, the array of references is resized. " "Some cleverness is applied to improve the performance of appending items " @@ -579,12 +580,12 @@ msgid "" "the next few times don't require an actual resize." msgstr "" -#: ../../faq/design.rst:443 +#: ../../faq/design.rst:440 #, fuzzy msgid "How are dictionaries implemented in CPython?" msgstr "串列如何被繼承?" -#: ../../faq/design.rst:445 +#: ../../faq/design.rst:442 msgid "" "CPython's dictionaries are implemented as resizable hash tables. Compared " "to B-trees, this gives better performance for lookup (the most common " @@ -592,7 +593,7 @@ msgid "" "simpler." msgstr "" -#: ../../faq/design.rst:449 +#: ../../faq/design.rst:446 msgid "" "Dictionaries work by computing a hash code for each key stored in the " "dictionary using the :func:`hash` built-in function. The hash code varies " @@ -605,11 +606,11 @@ msgid "" "key." msgstr "" -#: ../../faq/design.rst:460 +#: ../../faq/design.rst:457 msgid "Why must dictionary keys be immutable?" msgstr "" -#: ../../faq/design.rst:462 +#: ../../faq/design.rst:459 msgid "" "The hash table implementation of dictionaries uses a hash value calculated " "from the key value to find the key. If the key were a mutable object, its " @@ -622,7 +623,7 @@ msgid "" "would be different." msgstr "" -#: ../../faq/design.rst:471 +#: ../../faq/design.rst:468 msgid "" "If you want a dictionary indexed with a list, simply convert the list to a " "tuple first; the function ``tuple(L)`` creates a tuple with the same entries " @@ -630,17 +631,17 @@ msgid "" "dictionary keys." msgstr "" -#: ../../faq/design.rst:475 +#: ../../faq/design.rst:472 msgid "Some unacceptable solutions that have been proposed:" msgstr "" -#: ../../faq/design.rst:477 +#: ../../faq/design.rst:474 msgid "" "Hash lists by their address (object ID). This doesn't work because if you " "construct a new list with the same value it won't be found; e.g.::" msgstr "" -#: ../../faq/design.rst:483 +#: ../../faq/design.rst:480 msgid "" "would raise a :exc:`KeyError` exception because the id of the ``[1, 2]`` " "used in the second line differs from that in the first line. In other " @@ -648,14 +649,14 @@ msgid "" "`is`." msgstr "" -#: ../../faq/design.rst:487 +#: ../../faq/design.rst:484 msgid "" "Make a copy when using a list as a key. This doesn't work because the list, " "being a mutable object, could contain a reference to itself, and then the " "copying code would run into an infinite loop." msgstr "" -#: ../../faq/design.rst:491 +#: ../../faq/design.rst:488 msgid "" "Allow lists as keys but tell the user not to modify them. This would allow " "a class of hard-to-track bugs in programs when you forgot or modified a list " @@ -663,7 +664,7 @@ msgid "" "every value in ``d.keys()`` is usable as a key of the dictionary." msgstr "" -#: ../../faq/design.rst:496 +#: ../../faq/design.rst:493 msgid "" "Mark lists as read-only once they are used as a dictionary key. The problem " "is that it's not just the top-level object that could change its value; you " @@ -673,7 +674,7 @@ msgid "" "loop." msgstr "" -#: ../../faq/design.rst:502 +#: ../../faq/design.rst:499 msgid "" "There is a trick to get around this if you need to, but use it at your own " "risk: You can wrap a mutable structure inside a class instance which has " @@ -683,14 +684,14 @@ msgid "" "in the dictionary (or other structure). ::" msgstr "" -#: ../../faq/design.rst:526 +#: ../../faq/design.rst:523 msgid "" "Note that the hash computation is complicated by the possibility that some " "members of the list may be unhashable and also by the possibility of " "arithmetic overflow." msgstr "" -#: ../../faq/design.rst:530 +#: ../../faq/design.rst:527 msgid "" "Furthermore it must always be the case that if ``o1 == o2`` (ie ``o1." "__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, ``o1.__hash__() == " @@ -699,7 +700,7 @@ msgid "" "based structures will misbehave." msgstr "" -#: ../../faq/design.rst:535 +#: ../../faq/design.rst:532 msgid "" "In the case of ListWrapper, whenever the wrapper object is in a dictionary " "the wrapped list must not change to avoid anomalies. Don't do this unless " @@ -707,11 +708,11 @@ msgid "" "of not meeting them correctly. Consider yourself warned." msgstr "" -#: ../../faq/design.rst:542 +#: ../../faq/design.rst:539 msgid "Why doesn't list.sort() return the sorted list?" msgstr "為何list.sort()不是回傳排序過的串列?" -#: ../../faq/design.rst:544 +#: ../../faq/design.rst:541 msgid "" "In situations where performance matters, making a copy of the list just to " "sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in " @@ -721,7 +722,7 @@ msgid "" "around." msgstr "" -#: ../../faq/design.rst:550 +#: ../../faq/design.rst:547 msgid "" "If you want to return a new list, use the built-in :func:`sorted` function " "instead. This function creates a new list from a provided iterable, sorts " @@ -729,11 +730,11 @@ msgid "" "dictionary in sorted order::" msgstr "" -#: ../../faq/design.rst:560 +#: ../../faq/design.rst:557 msgid "How do you specify and enforce an interface spec in Python?" msgstr "" -#: ../../faq/design.rst:562 +#: ../../faq/design.rst:559 msgid "" "An interface specification for a module as provided by languages such as C++ " "and Java describes the prototypes for the methods and functions of the " @@ -741,7 +742,7 @@ msgid "" "helps in the construction of large programs." msgstr "" -#: ../../faq/design.rst:567 +#: ../../faq/design.rst:564 msgid "" "Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base " "Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` " @@ -751,13 +752,13 @@ msgid "" "`~collections.abc.MutableMapping`." msgstr "" -#: ../../faq/design.rst:574 +#: ../../faq/design.rst:571 msgid "" "For Python, many of the advantages of interface specifications can be " "obtained by an appropriate test discipline for components." msgstr "" -#: ../../faq/design.rst:577 +#: ../../faq/design.rst:574 msgid "" "A good test suite for a module can both provide a regression test and serve " "as a module interface specification and a set of examples. Many Python " @@ -769,7 +770,7 @@ msgid "" "in a module." msgstr "" -#: ../../faq/design.rst:585 +#: ../../faq/design.rst:582 msgid "" "An appropriate testing discipline can help build large complex applications " "in Python as well as having interface specifications would. In fact, it can " @@ -780,7 +781,7 @@ msgid "" "correctly, but it's trivial to check this property in a test suite." msgstr "" -#: ../../faq/design.rst:593 +#: ../../faq/design.rst:590 msgid "" "Writing test suites is very helpful, and you might want to design your code " "to make it easily tested. One increasingly popular technique, test-driven " @@ -789,11 +790,11 @@ msgid "" "not write test cases at all." msgstr "" -#: ../../faq/design.rst:601 +#: ../../faq/design.rst:598 msgid "Why is there no goto?" msgstr "為何沒有goto語法?" -#: ../../faq/design.rst:603 +#: ../../faq/design.rst:600 msgid "" "In the 1970s people realized that unrestricted goto could lead to messy " "\"spaghetti\" code that was hard to understand and revise. In a high-level " @@ -803,7 +804,7 @@ msgid "" "containing ``continue`` and ``break``)." msgstr "" -#: ../../faq/design.rst:610 +#: ../../faq/design.rst:607 msgid "" "One can also use exceptions to provide a \"structured goto\" that works even " "across function calls. Many feel that exceptions can conveniently emulate " @@ -811,24 +812,24 @@ msgid "" "other languages. For example::" msgstr "" -#: ../../faq/design.rst:626 +#: ../../faq/design.rst:623 msgid "" "This doesn't allow you to jump into the middle of a loop, but that's usually " "considered an abuse of goto anyway. Use sparingly." msgstr "" -#: ../../faq/design.rst:631 +#: ../../faq/design.rst:628 msgid "Why can't raw strings (r-strings) end with a backslash?" msgstr "" -#: ../../faq/design.rst:633 +#: ../../faq/design.rst:630 msgid "" "More precisely, they can't end with an odd number of backslashes: the " "unpaired backslash at the end escapes the closing quote character, leaving " "an unterminated string." msgstr "" -#: ../../faq/design.rst:637 +#: ../../faq/design.rst:634 msgid "" "Raw strings were designed to ease creating input for processors (chiefly " "regular expression engines) that want to do their own backslash escape " @@ -838,33 +839,33 @@ msgid "" "rules work well when r-strings are used for their intended purpose." msgstr "" -#: ../../faq/design.rst:644 +#: ../../faq/design.rst:641 msgid "" "If you're trying to build Windows pathnames, note that all Windows system " "calls accept forward slashes too::" msgstr "" -#: ../../faq/design.rst:649 +#: ../../faq/design.rst:646 msgid "" "If you're trying to build a pathname for a DOS command, try e.g. one of ::" msgstr "" -#: ../../faq/design.rst:657 +#: ../../faq/design.rst:654 msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" msgstr "" -#: ../../faq/design.rst:659 +#: ../../faq/design.rst:656 msgid "" "Python has a 'with' statement that wraps the execution of a block, calling " "code on the entrance and exit from the block. Some languages have a " "construct that looks like this::" msgstr "" -#: ../../faq/design.rst:667 +#: ../../faq/design.rst:664 msgid "In Python, such a construct would be ambiguous." msgstr "" -#: ../../faq/design.rst:669 +#: ../../faq/design.rst:666 msgid "" "Other languages, such as Object Pascal, Delphi, and C++, use static types, " "so it's possible to know, in an unambiguous way, what member is being " @@ -872,7 +873,7 @@ msgid "" "*always* knows the scope of every variable at compile time." msgstr "" -#: ../../faq/design.rst:674 +#: ../../faq/design.rst:671 msgid "" "Python uses dynamic types. It is impossible to know in advance which " "attribute will be referenced at runtime. Member attributes may be added or " @@ -881,11 +882,11 @@ msgid "" "one, or a member attribute?" msgstr "" -#: ../../faq/design.rst:680 +#: ../../faq/design.rst:677 msgid "For instance, take the following incomplete snippet::" msgstr "" -#: ../../faq/design.rst:686 +#: ../../faq/design.rst:683 msgid "" "The snippet assumes that \"a\" must have a member attribute called \"x\". " "However, there is nothing in Python that tells the interpreter this. What " @@ -894,29 +895,29 @@ msgid "" "the dynamic nature of Python makes such choices much harder." msgstr "" -#: ../../faq/design.rst:692 +#: ../../faq/design.rst:689 msgid "" "The primary benefit of \"with\" and similar language features (reduction of " "code volume) can, however, easily be achieved in Python by assignment. " "Instead of::" msgstr "" -#: ../../faq/design.rst:699 +#: ../../faq/design.rst:696 msgid "write this::" msgstr "" -#: ../../faq/design.rst:706 +#: ../../faq/design.rst:703 msgid "" "This also has the side-effect of increasing execution speed because name " "bindings are resolved at run-time in Python, and the second version only " "needs to perform the resolution once." msgstr "" -#: ../../faq/design.rst:712 +#: ../../faq/design.rst:709 msgid "Why don't generators support the with statement?" msgstr "" -#: ../../faq/design.rst:714 +#: ../../faq/design.rst:711 msgid "" "For technical reasons, a generator used directly as a context manager would " "not work correctly. When, as is most common, a generator is used as an " @@ -924,28 +925,28 @@ msgid "" "\"contextlib.closing(generator)\" in the 'with' statement." msgstr "" -#: ../../faq/design.rst:721 +#: ../../faq/design.rst:718 msgid "Why are colons required for the if/while/def/class statements?" msgstr "" -#: ../../faq/design.rst:723 +#: ../../faq/design.rst:720 msgid "" "The colon is required primarily to enhance readability (one of the results " "of the experimental ABC language). Consider this::" msgstr "" -#: ../../faq/design.rst:729 +#: ../../faq/design.rst:726 msgid "versus ::" msgstr "" -#: ../../faq/design.rst:734 +#: ../../faq/design.rst:731 msgid "" "Notice how the second one is slightly easier to read. Notice further how a " "colon sets off the example in this FAQ answer; it's a standard usage in " "English." msgstr "" -#: ../../faq/design.rst:737 +#: ../../faq/design.rst:734 msgid "" "Another minor reason is that the colon makes it easier for editors with " "syntax highlighting; they can look for colons to decide when indentation " @@ -953,21 +954,21 @@ msgid "" "the program text." msgstr "" -#: ../../faq/design.rst:743 +#: ../../faq/design.rst:740 msgid "Why does Python allow commas at the end of lists and tuples?" msgstr "" -#: ../../faq/design.rst:745 +#: ../../faq/design.rst:742 msgid "" "Python lets you add a trailing comma at the end of lists, tuples, and " "dictionaries::" msgstr "" -#: ../../faq/design.rst:756 +#: ../../faq/design.rst:753 msgid "There are several reasons to allow this." msgstr "這有許多原因可被允許。" -#: ../../faq/design.rst:758 +#: ../../faq/design.rst:755 msgid "" "When you have a literal value for a list, tuple, or dictionary spread across " "multiple lines, it's easier to add more elements because you don't have to " @@ -975,20 +976,20 @@ msgid "" "reordered without creating a syntax error." msgstr "" -#: ../../faq/design.rst:763 +#: ../../faq/design.rst:760 msgid "" "Accidentally omitting the comma can lead to errors that are hard to " "diagnose. For example::" msgstr "" -#: ../../faq/design.rst:773 +#: ../../faq/design.rst:770 msgid "" "This list looks like it has four elements, but it actually contains three: " "\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source " "of error." msgstr "" -#: ../../faq/design.rst:776 +#: ../../faq/design.rst:773 msgid "" "Allowing the trailing comma may also make programmatic code generation " "easier." diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index 1df698743b..2f28c061b8 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-27 00:19+0000\n" +"POT-Creation-Date: 2022-01-27 00:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" @@ -137,7 +137,7 @@ msgstr "" msgid ":pep:`597`, Add optional EncodingWarning" msgstr "" -#: ../../whatsnew/3.10.rst:93 ../../whatsnew/3.10.rst:2032 +#: ../../whatsnew/3.10.rst:93 ../../whatsnew/3.10.rst:2037 msgid "New Features" msgstr "" @@ -1196,8 +1196,8 @@ msgstr "" msgid "doctest" msgstr "doctest" -#: ../../whatsnew/3.10.rst:1076 ../../whatsnew/3.10.rst:1187 -#: ../../whatsnew/3.10.rst:1208 ../../whatsnew/3.10.rst:1307 +#: ../../whatsnew/3.10.rst:1076 ../../whatsnew/3.10.rst:1192 +#: ../../whatsnew/3.10.rst:1213 ../../whatsnew/3.10.rst:1312 msgid "" "When a module does not define ``__loader__``, fall back to ``__spec__." "loader``. (Contributed by Brett Cannon in :issue:`42133`.)" @@ -1302,14 +1302,26 @@ msgstr "" #: ../../whatsnew/3.10.rst:1139 msgid "" "Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " -"hooks were previously ignored. (Patch by Ken Hilton in :issue:`43008`.)" +"hooks were previously ignored. (Contributed by Ken Hilton in :issue:" +"`43008`.)" msgstr "" #: ../../whatsnew/3.10.rst:1143 -msgid "This change was backported to a 3.9 maintenance release." +msgid "" +"Rearrange the settings dialog. Split the General tab into Windows and Shell/" +"Ed tabs. Move help sources, which extend the Help menu, to the Extensions " +"tab. Make space for new options and shorten the dialog. The latter makes " +"the dialog better fit small screens. (Contributed by Terry Jan Reedy in :" +"issue:`40468`.) Move the indent space setting from the Font tab to the new " +"Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:" +"`33962`.)" +msgstr "" + +#: ../../whatsnew/3.10.rst:1151 +msgid "These changes were backported to a 3.9 maintenance release." msgstr "" -#: ../../whatsnew/3.10.rst:1145 +#: ../../whatsnew/3.10.rst:1153 msgid "" "Add a Shell sidebar. Move the primary prompt ('>>>') to the sidebar. Add " "secondary prompts ('...') to the sidebar. Left click and optional drag " @@ -1320,21 +1332,15 @@ msgid "" "text. (Contributed by Tal Einat in :issue:`37903`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1154 +#: ../../whatsnew/3.10.rst:1162 msgid "" "Use spaces instead of tabs to indent interactive code. This makes " "interactive code entries 'look right'. Making this feasible was a major " -"motivation for adding the shell sidebar. Contributed by Terry Jan Reedy in :" -"issue:`37892`.)" +"motivation for adding the shell sidebar. (Contributed by Terry Jan Reedy " +"in :issue:`37892`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1159 -msgid "" -"We expect to backport these shell changes to a future 3.9 maintenance " -"release." -msgstr "" - -#: ../../whatsnew/3.10.rst:1162 +#: ../../whatsnew/3.10.rst:1167 msgid "" "Highlight the new :ref:`soft keywords ` :keyword:`match`, :" "keyword:`case `, and :keyword:`_ ` in pattern-" @@ -1343,17 +1349,17 @@ msgid "" "(Contributed by Tal Einat in :issue:`44010`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1169 +#: ../../whatsnew/3.10.rst:1174 msgid "importlib.metadata" msgstr "importlib.metadata" -#: ../../whatsnew/3.10.rst:1171 +#: ../../whatsnew/3.10.rst:1176 msgid "" "Feature parity with ``importlib_metadata`` 4.6 (`history `_)." msgstr "" -#: ../../whatsnew/3.10.rst:1174 +#: ../../whatsnew/3.10.rst:1179 msgid "" ":ref:`importlib.metadata entry points ` now provide a nicer " "experience for selecting entry points by group and name through a new :class:" @@ -1361,18 +1367,18 @@ msgid "" "docs for more info on the deprecation and usage." msgstr "" -#: ../../whatsnew/3.10.rst:1180 +#: ../../whatsnew/3.10.rst:1185 msgid "" "Added :func:`importlib.metadata.packages_distributions` for resolving top-" "level Python modules and packages to their :class:`importlib.metadata." "Distribution`." msgstr "" -#: ../../whatsnew/3.10.rst:1185 +#: ../../whatsnew/3.10.rst:1190 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.10.rst:1190 +#: ../../whatsnew/3.10.rst:1195 msgid "" "Add :func:`inspect.get_annotations`, which safely computes the annotations " "defined on an object. It works around the quirks of accessing the " @@ -1390,28 +1396,28 @@ msgid "" "`43817`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1206 +#: ../../whatsnew/3.10.rst:1211 msgid "linecache" msgstr "linecache" -#: ../../whatsnew/3.10.rst:1212 +#: ../../whatsnew/3.10.rst:1217 msgid "os" msgstr "os" -#: ../../whatsnew/3.10.rst:1214 +#: ../../whatsnew/3.10.rst:1219 msgid "" "Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing " "Xin in :issue:`41440`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1217 +#: ../../whatsnew/3.10.rst:1222 msgid "" "Add a new function :func:`os.eventfd` and related helpers to wrap the " "``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:" "`41001`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1221 +#: ../../whatsnew/3.10.rst:1226 msgid "" "Add :func:`os.splice()` that allows to move data between two file " "descriptors without copying between kernel address space and user address " @@ -1419,41 +1425,41 @@ msgid "" "by Pablo Galindo in :issue:`41625`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1226 +#: ../../whatsnew/3.10.rst:1231 msgid "" "Add :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :" "data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:" "`43106`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1231 +#: ../../whatsnew/3.10.rst:1236 msgid "os.path" msgstr "os.path" -#: ../../whatsnew/3.10.rst:1233 +#: ../../whatsnew/3.10.rst:1238 msgid "" ":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When " "set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a " "symlink loop is encountered. (Contributed by Barney Gale in :issue:`43757`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1239 +#: ../../whatsnew/3.10.rst:1244 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.10.rst:1241 +#: ../../whatsnew/3.10.rst:1246 msgid "" "Add slice support to :attr:`PurePath.parents `. " "(Contributed by Joshua Cannon in :issue:`35498`)" msgstr "" -#: ../../whatsnew/3.10.rst:1244 +#: ../../whatsnew/3.10.rst:1249 msgid "" "Add negative indexing support to :attr:`PurePath.parents `. (Contributed by Yaroslav Pankovych in :issue:`21041`)" msgstr "" -#: ../../whatsnew/3.10.rst:1248 +#: ../../whatsnew/3.10.rst:1253 msgid "" "Add :meth:`Path.hardlink_to ` method that " "supersedes :meth:`~pathlib.Path.link_to`. The new method has the same " @@ -1461,7 +1467,7 @@ msgid "" "Gale in :issue:`39950`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1253 +#: ../../whatsnew/3.10.rst:1258 msgid "" ":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a " "*follow_symlinks* keyword-only argument for consistency with corresponding " @@ -1469,11 +1475,11 @@ msgid "" "`39906`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1259 +#: ../../whatsnew/3.10.rst:1264 msgid "platform" msgstr "platform" -#: ../../whatsnew/3.10.rst:1261 +#: ../../whatsnew/3.10.rst:1266 msgid "" "Add :func:`platform.freedesktop_os_release()` to retrieve operation system " "identification from `freedesktop.org os-release ` section for " "more information." msgstr "" -#: ../../whatsnew/3.10.rst:1606 +#: ../../whatsnew/3.10.rst:1611 msgid "" "Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:" "`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by " "Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1610 +#: ../../whatsnew/3.10.rst:1615 msgid "" "The various ``load_module()`` methods of :mod:`importlib` have been " "documented as deprecated since Python 3.6, but will now also trigger a :exc:" @@ -1999,21 +2005,21 @@ msgid "" "(Contributed by Brett Cannon in :issue:`26131`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1616 +#: ../../whatsnew/3.10.rst:1621 msgid "" ":meth:`zimport.zipimporter.load_module` has been deprecated in preference " "for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " "in :issue:`26131`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1620 +#: ../../whatsnew/3.10.rst:1625 msgid "" "The use of :meth:`~importlib.abc.Loader.load_module` by the import system " "now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader." "exec_module` is preferred. (Contributed by Brett Cannon in :issue:`26131`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1625 +#: ../../whatsnew/3.10.rst:1630 msgid "" "The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:" "`importlib.abc.PathEntryFinder.find_module` by the import system now trigger " @@ -2023,7 +2029,7 @@ msgid "" "porting. (Contributed by Brett Cannon in :issue:`42134`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1634 +#: ../../whatsnew/3.10.rst:1639 msgid "" "The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import " "system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc." @@ -2032,7 +2038,7 @@ msgid "" "`43672`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1640 +#: ../../whatsnew/3.10.rst:1645 msgid "" "The various implementations of :meth:`importlib.abc.MetaPathFinder." "find_module` ( :meth:`importlib.machinery.BuiltinImporter.find_module`, :" @@ -2047,7 +2053,7 @@ msgid "" "Python 3.4). (Contributed by Brett Cannon in :issue:`42135`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1655 +#: ../../whatsnew/3.10.rst:1660 msgid "" ":class:`importlib.abc.Finder` is deprecated (including its sole method, :" "meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc." @@ -2056,7 +2062,7 @@ msgid "" "appropriate instead. (Contributed by Brett Cannon in :issue:`42135`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1662 +#: ../../whatsnew/3.10.rst:1667 msgid "" "The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:" "`importlib.util.set_package_wrapper`, :func:`importlib.util." @@ -2067,7 +2073,7 @@ msgid "" "Brett Cannon in :issue:`43720`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1672 +#: ../../whatsnew/3.10.rst:1677 msgid "" "The import system now uses the ``__spec__`` attribute on modules before " "falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's " @@ -2075,7 +2081,7 @@ msgid "" "for Python 3.12. (Contributed by Brett Cannon in :issue:`42137`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1678 +#: ../../whatsnew/3.10.rst:1683 msgid "" ":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." "FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader." @@ -2083,7 +2089,7 @@ msgid "" "(Contributed by Brett Cannon in :issue:`42136`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1684 +#: ../../whatsnew/3.10.rst:1689 msgid "" "``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python " "3.3, when it was made an alias to :class:`str`. It is now deprecated, " @@ -2091,7 +2097,7 @@ msgid "" "issue:`42264`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1689 +#: ../../whatsnew/3.10.rst:1694 msgid "" ":func:`asyncio.get_event_loop` now emits a deprecation warning if there is " "no running event loop. In the future it will be an alias of :func:`~asyncio." @@ -2105,7 +2111,7 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`39529`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1702 +#: ../../whatsnew/3.10.rst:1707 msgid "" "The undocumented built-in function ``sqlite3.enable_shared_cache`` is now " "deprecated, scheduled for removal in Python 3.12. Its use is strongly " @@ -2115,68 +2121,68 @@ msgid "" "query parameter. (Contributed by Erlend E. Aasland in :issue:`24464`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1710 +#: ../../whatsnew/3.10.rst:1715 msgid "The following ``threading`` methods are now deprecated:" msgstr "" -#: ../../whatsnew/3.10.rst:1712 +#: ../../whatsnew/3.10.rst:1717 msgid "``threading.currentThread`` => :func:`threading.current_thread`" msgstr "``threading.currentThread`` => :func:`threading.current_thread`" -#: ../../whatsnew/3.10.rst:1714 +#: ../../whatsnew/3.10.rst:1719 msgid "``threading.activeCount`` => :func:`threading.active_count`" msgstr "``threading.activeCount`` => :func:`threading.active_count`" -#: ../../whatsnew/3.10.rst:1716 +#: ../../whatsnew/3.10.rst:1721 msgid "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" msgstr "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" -#: ../../whatsnew/3.10.rst:1719 +#: ../../whatsnew/3.10.rst:1724 msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" -#: ../../whatsnew/3.10.rst:1721 +#: ../../whatsnew/3.10.rst:1726 msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name`" -#: ../../whatsnew/3.10.rst:1723 +#: ../../whatsnew/3.10.rst:1728 msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name`" -#: ../../whatsnew/3.10.rst:1725 +#: ../../whatsnew/3.10.rst:1730 msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" -#: ../../whatsnew/3.10.rst:1727 +#: ../../whatsnew/3.10.rst:1732 msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" -#: ../../whatsnew/3.10.rst:1729 +#: ../../whatsnew/3.10.rst:1734 msgid "(Contributed by Jelle Zijlstra in :issue:`21574`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1731 +#: ../../whatsnew/3.10.rst:1736 msgid "" ":meth:`pathlib.Path.link_to` is deprecated and slated for removal in Python " "3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney " "Gale in :issue:`39950`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1735 +#: ../../whatsnew/3.10.rst:1740 msgid "" "``cgi.log()`` is deprecated and slated for removal in Python 3.12. " "(Contributed by Inada Naoki in :issue:`41139`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1738 +#: ../../whatsnew/3.10.rst:1743 msgid "" "The following :mod:`ssl` features have been deprecated since Python 3.6, " "Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:" msgstr "" -#: ../../whatsnew/3.10.rst:1741 +#: ../../whatsnew/3.10.rst:1746 msgid "" ":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." "OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and :" @@ -2184,7 +2190,7 @@ msgid "" "minimum_version` and :attr:`sslSSLContext.maximum_version`." msgstr "" -#: ../../whatsnew/3.10.rst:1747 +#: ../../whatsnew/3.10.rst:1752 msgid "" ":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." "PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." @@ -2193,26 +2199,26 @@ msgid "" "and :data:`~ssl.PROTOCOL_TLS_SERVER`" msgstr "" -#: ../../whatsnew/3.10.rst:1753 +#: ../../whatsnew/3.10.rst:1758 msgid "" ":func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`" msgstr "" -#: ../../whatsnew/3.10.rst:1755 +#: ../../whatsnew/3.10.rst:1760 msgid ":func:`~ssl.match_hostname`" msgstr ":func:`~ssl.match_hostname`" -#: ../../whatsnew/3.10.rst:1757 +#: ../../whatsnew/3.10.rst:1762 msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" -#: ../../whatsnew/3.10.rst:1759 +#: ../../whatsnew/3.10.rst:1764 msgid "" "NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." "SSLContext.set_npn_protocols` are replaced by ALPN." msgstr "" -#: ../../whatsnew/3.10.rst:1762 +#: ../../whatsnew/3.10.rst:1767 msgid "" "The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is " "deprecated in Python 3.10 and will be removed in Python 3.12. This feature " @@ -2220,7 +2226,7 @@ msgid "" "Victor Stinner in :issue:`44584`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1767 +#: ../../whatsnew/3.10.rst:1772 msgid "" "Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" "exc:`DeprecationWarning`. These submodules will be removed in a future " @@ -2229,11 +2235,11 @@ msgid "" "Rittau in :issue:`38291`)" msgstr "" -#: ../../whatsnew/3.10.rst:1776 ../../whatsnew/3.10.rst:2201 +#: ../../whatsnew/3.10.rst:1781 ../../whatsnew/3.10.rst:2206 msgid "Removed" msgstr "" -#: ../../whatsnew/3.10.rst:1778 +#: ../../whatsnew/3.10.rst:1783 msgid "" "Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, " "``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and " @@ -2241,7 +2247,7 @@ msgid "" "`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1784 +#: ../../whatsnew/3.10.rst:1789 msgid "" "The ``ParserBase.error()`` method from the private and undocumented " "``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is " @@ -2250,7 +2256,7 @@ msgid "" "`31844`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1790 +#: ../../whatsnew/3.10.rst:1795 msgid "" "Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal " "PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was " @@ -2258,7 +2264,7 @@ msgid "" "`42157`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1795 +#: ../../whatsnew/3.10.rst:1800 msgid "" "Removed the ``parser`` module, which was deprecated in 3.9 due to the switch " "to the new PEG parser, as well as all the C source and header files that " @@ -2266,7 +2272,7 @@ msgid "" "``graminit.h`` and ``grammar.h``." msgstr "" -#: ../../whatsnew/3.10.rst:1800 +#: ../../whatsnew/3.10.rst:1805 msgid "" "Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -2274,7 +2280,7 @@ msgid "" "deprecated in 3.9 due to the switch to the new PEG parser." msgstr "" -#: ../../whatsnew/3.10.rst:1805 +#: ../../whatsnew/3.10.rst:1810 msgid "" "Removed the ``formatter`` module, which was deprecated in Python 3.4. It is " "somewhat obsolete, little used, and not tested. It was originally scheduled " @@ -2284,71 +2290,71 @@ msgid "" "`42299`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1812 +#: ../../whatsnew/3.10.rst:1817 msgid "" "Removed the :c:func:`PyModule_GetWarningsModule` function that was useless " "now due to the _warnings module was converted to a builtin module in 2.6. " "(Contributed by Hai Shi in :issue:`42599`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1816 +#: ../../whatsnew/3.10.rst:1821 msgid "" "Remove deprecated aliases to :ref:`collections-abstract-base-classes` from " "the :mod:`collections` module. (Contributed by Victor Stinner in :issue:" "`37324`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1820 +#: ../../whatsnew/3.10.rst:1825 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " "Python 3.8. The motivation behind this change is multifold:" msgstr "" -#: ../../whatsnew/3.10.rst:1824 +#: ../../whatsnew/3.10.rst:1829 msgid "This simplifies the high-level API." msgstr "" -#: ../../whatsnew/3.10.rst:1825 +#: ../../whatsnew/3.10.rst:1830 msgid "" "The functions in the high-level API have been implicitly getting the current " "thread's running event loop since Python 3.7. There isn't a need to pass " "the event loop to the API in most normal use cases." msgstr "" -#: ../../whatsnew/3.10.rst:1828 +#: ../../whatsnew/3.10.rst:1833 msgid "" "Event loop passing is error-prone especially when dealing with loops running " "in different threads." msgstr "" -#: ../../whatsnew/3.10.rst:1831 +#: ../../whatsnew/3.10.rst:1836 msgid "" "Note that the low-level API will still accept ``loop``. See :ref:`changes-" "python-api` for examples of how to replace existing code." msgstr "" -#: ../../whatsnew/3.10.rst:1834 ../../whatsnew/3.10.rst:1906 +#: ../../whatsnew/3.10.rst:1839 ../../whatsnew/3.10.rst:1911 msgid "" "(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " "Stanley in :issue:`42392`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1839 ../../whatsnew/3.10.rst:2126 +#: ../../whatsnew/3.10.rst:1844 ../../whatsnew/3.10.rst:2131 msgid "Porting to Python 3.10" msgstr "" -#: ../../whatsnew/3.10.rst:1841 +#: ../../whatsnew/3.10.rst:1846 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" -#: ../../whatsnew/3.10.rst:1846 +#: ../../whatsnew/3.10.rst:1851 msgid "Changes in the Python syntax" msgstr "" -#: ../../whatsnew/3.10.rst:1848 +#: ../../whatsnew/3.10.rst:1853 msgid "" "Deprecation warning is now emitted when compiling previously valid syntax if " "the numeric literal is immediately followed by a keyword (like in ``0in " @@ -2358,11 +2364,11 @@ msgid "" "following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`)." msgstr "" -#: ../../whatsnew/3.10.rst:1859 +#: ../../whatsnew/3.10.rst:1864 msgid "Changes in the Python API" msgstr "" -#: ../../whatsnew/3.10.rst:1861 +#: ../../whatsnew/3.10.rst:1866 msgid "" "The *etype* parameters of the :func:`~traceback.format_exception`, :func:" "`~traceback.format_exception_only`, and :func:`~traceback.print_exception` " @@ -2370,7 +2376,7 @@ msgid "" "(Contributed by Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1867 +#: ../../whatsnew/3.10.rst:1872 msgid "" ":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit." "register` fails, its exception is now logged. Previously, only some " @@ -2378,7 +2384,7 @@ msgid "" "(Contributed by Victor Stinner in :issue:`42639`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1873 +#: ../../whatsnew/3.10.rst:1878 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -2391,7 +2397,7 @@ msgid "" "`42195`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1883 +#: ../../whatsnew/3.10.rst:1888 msgid "" ":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` " "instead of :exc:`DeprecationWarning` if the given parameter will not fit in " @@ -2399,29 +2405,29 @@ msgid "" "`42393`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1888 +#: ../../whatsnew/3.10.rst:1893 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " "Python 3.8." msgstr "" -#: ../../whatsnew/3.10.rst:1892 +#: ../../whatsnew/3.10.rst:1897 msgid "A coroutine that currently looks like this::" msgstr "" -#: ../../whatsnew/3.10.rst:1897 +#: ../../whatsnew/3.10.rst:1902 msgid "Should be replaced with this::" msgstr "" -#: ../../whatsnew/3.10.rst:1902 +#: ../../whatsnew/3.10.rst:1907 msgid "" "If ``foo()`` was specifically designed *not* to run in the current thread's " "running event loop (e.g. running in another thread's event loop), consider " "using :func:`asyncio.run_coroutine_threadsafe` instead." msgstr "" -#: ../../whatsnew/3.10.rst:1909 +#: ../../whatsnew/3.10.rst:1914 msgid "" "The :data:`types.FunctionType` constructor now inherits the current builtins " "if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than " @@ -2432,11 +2438,11 @@ msgid "" "`42990`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1918 +#: ../../whatsnew/3.10.rst:1923 msgid "Changes in the C API" msgstr "" -#: ../../whatsnew/3.10.rst:1920 +#: ../../whatsnew/3.10.rst:1925 msgid "" "The C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -2445,31 +2451,31 @@ msgid "" "PEG parser." msgstr "" -#: ../../whatsnew/3.10.rst:1926 +#: ../../whatsnew/3.10.rst:1931 msgid "" "Source should be now be compiled directly to a code object using, for " "example, :c:func:`Py_CompileString`. The resulting code object can then be " "evaluated using, for example, :c:func:`PyEval_EvalCode`." msgstr "" -#: ../../whatsnew/3.10.rst:1930 +#: ../../whatsnew/3.10.rst:1935 msgid "Specifically:" msgstr "" -#: ../../whatsnew/3.10.rst:1932 +#: ../../whatsnew/3.10.rst:1937 msgid "" "A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile`` " "can be replaced by calling :c:func:`Py_CompileString`." msgstr "" -#: ../../whatsnew/3.10.rst:1935 +#: ../../whatsnew/3.10.rst:1940 msgid "" "There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To " "compile code from a ``FILE *`` argument, you will need to read the file in C " "and pass the resulting buffer to :c:func:`Py_CompileString`." msgstr "" -#: ../../whatsnew/3.10.rst:1939 +#: ../../whatsnew/3.10.rst:1944 msgid "" "To compile a file given a ``char *`` filename, explicitly open the file, " "read it and compile the result. One way to do this is using the :py:mod:`io` " @@ -2478,7 +2484,7 @@ msgid "" "(Declarations and error handling are omitted.) ::" msgstr "" -#: ../../whatsnew/3.10.rst:1952 +#: ../../whatsnew/3.10.rst:1957 msgid "" "For ``FrameObject`` objects, the ``f_lasti`` member now represents a " "wordcode offset instead of a simple offset into the bytecode string. This " @@ -2488,53 +2494,53 @@ msgid "" "considered stable: please use :c:func:`PyFrame_GetLineNumber` instead." msgstr "" -#: ../../whatsnew/3.10.rst:1960 +#: ../../whatsnew/3.10.rst:1965 msgid "CPython bytecode changes" msgstr "" -#: ../../whatsnew/3.10.rst:1962 +#: ../../whatsnew/3.10.rst:1967 msgid "" "The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of " "strings as the function's annotations. (Contributed by Yurii Karabas and " "Inada Naoki in :issue:`42202`)" msgstr "" -#: ../../whatsnew/3.10.rst:1967 +#: ../../whatsnew/3.10.rst:1972 msgid "Build Changes" msgstr "" -#: ../../whatsnew/3.10.rst:1969 +#: ../../whatsnew/3.10.rst:1974 msgid "" ":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no " "longer supported. (Contributed by Christian Heimes in :issue:`43669`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1973 +#: ../../whatsnew/3.10.rst:1978 msgid "" "The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " "required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1977 +#: ../../whatsnew/3.10.rst:1982 msgid "" ":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " "Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1980 +#: ../../whatsnew/3.10.rst:1985 msgid "" "The :mod:`atexit` module must now always be built as a built-in module. " "(Contributed by Victor Stinner in :issue:`42639`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1983 +#: ../../whatsnew/3.10.rst:1988 msgid "" "Add :option:`--disable-test-modules` option to the ``configure`` script: " "don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas " "Petazzoni and Peixing Xin in :issue:`27640`.)" msgstr "" -#: ../../whatsnew/3.10.rst:1987 +#: ../../whatsnew/3.10.rst:1992 msgid "" "Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the " "``./configure`` script. If specified, the :mod:`ensurepip` module looks for " @@ -2543,7 +2549,7 @@ msgid "" "packages." msgstr "" -#: ../../whatsnew/3.10.rst:1993 +#: ../../whatsnew/3.10.rst:1998 msgid "" "Some Linux distribution packaging policies recommend against bundling " "dependencies. For example, Fedora installs wheel packages in the ``/usr/" @@ -2551,22 +2557,22 @@ msgid "" "_bundled`` package." msgstr "" -#: ../../whatsnew/3.10.rst:1998 +#: ../../whatsnew/3.10.rst:2003 msgid "(Contributed by Victor Stinner in :issue:`42856`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2000 +#: ../../whatsnew/3.10.rst:2005 msgid "" "Add a new :option:`configure --without-static-libpython option <--without-" "static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " "library and not install the ``python.o`` object file." msgstr "" -#: ../../whatsnew/3.10.rst:2004 +#: ../../whatsnew/3.10.rst:2009 msgid "(Contributed by Victor Stinner in :issue:`43103`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2006 +#: ../../whatsnew/3.10.rst:2011 msgid "" "The ``configure`` script now uses the ``pkg-config`` utility, if available, " "to detect the location of Tcl/Tk headers and libraries. As before, those " @@ -2575,7 +2581,7 @@ msgid "" "(Contributed by Manolis Stamatogiannakis in :issue:`42603`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2012 +#: ../../whatsnew/3.10.rst:2017 msgid "" "Add :option:`--with-openssl-rpath` option to ``configure`` script. The " "option simplifies building Python with a custom OpenSSL installation, e.g. " @@ -2583,15 +2589,15 @@ msgid "" "(Contributed by Christian Heimes in :issue:`43466`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2019 +#: ../../whatsnew/3.10.rst:2024 msgid "C API Changes" msgstr "" -#: ../../whatsnew/3.10.rst:2022 +#: ../../whatsnew/3.10.rst:2027 msgid "PEP 652: Maintaining the Stable ABI" msgstr "" -#: ../../whatsnew/3.10.rst:2024 +#: ../../whatsnew/3.10.rst:2029 msgid "" "The Stable ABI (Application Binary Interface) for extension modules or " "embedding Python is now explicitly defined. :ref:`stable` describes C API " @@ -2599,25 +2605,25 @@ msgid "" "ABI." msgstr "" -#: ../../whatsnew/3.10.rst:2029 +#: ../../whatsnew/3.10.rst:2034 msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2034 +#: ../../whatsnew/3.10.rst:2039 msgid "" "The result of :c:func:`PyNumber_Index` now always has exact type :class:" "`int`. Previously, the result could have been an instance of a subclass of " "``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2038 +#: ../../whatsnew/3.10.rst:2043 msgid "" "Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` " "structure: the list of the original command line arguments passed to the " "Python executable. (Contributed by Victor Stinner in :issue:`23427`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2043 +#: ../../whatsnew/3.10.rst:2048 msgid "" "The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:" "`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the " @@ -2625,72 +2631,72 @@ msgid "" "time` objects. (Contributed by Zackery Spytz in :issue:`30155`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2049 +#: ../../whatsnew/3.10.rst:2054 msgid "" "Add a :c:func:`PyCodec_Unregister` function to unregister a codec search " "function. (Contributed by Hai Shi in :issue:`41842`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2053 +#: ../../whatsnew/3.10.rst:2058 msgid "" "The :c:func:`PyIter_Send` function was added to allow sending value into " "iterator without raising ``StopIteration`` exception. (Contributed by " "Vladimir Matveev in :issue:`41756`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2057 +#: ../../whatsnew/3.10.rst:2062 msgid "" "Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by " "Alex Gaynor in :issue:`41784`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2060 +#: ../../whatsnew/3.10.rst:2065 msgid "" "Add :c:func:`PyModule_AddObjectRef` function: similar to :c:func:" "`PyModule_AddObject` but don't steal a reference to the value on success. " "(Contributed by Victor Stinner in :issue:`1635741`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2065 +#: ../../whatsnew/3.10.rst:2070 msgid "" "Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the " "reference count of an object and return the object. (Contributed by Victor " "Stinner in :issue:`42262`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2069 +#: ../../whatsnew/3.10.rst:2074 msgid "" "The :c:func:`PyType_FromSpecWithBases` and :c:func:" "`PyType_FromModuleAndSpec` functions now accept a single class as the " "*bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2073 +#: ../../whatsnew/3.10.rst:2078 msgid "" "The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` " "slot. (Contributed by Hai Shi in :issue:`41832`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2077 +#: ../../whatsnew/3.10.rst:2082 msgid "" "The :c:func:`PyType_GetSlot` function can accept :ref:`static types `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2081 +#: ../../whatsnew/3.10.rst:2086 msgid "" "Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an " "object is an instance of :class:`set` but not an instance of a subtype. " "(Contributed by Pablo Galindo in :issue:`43277`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2085 +#: ../../whatsnew/3.10.rst:2090 msgid "" "Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to " "simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2089 +#: ../../whatsnew/3.10.rst:2094 msgid "" "The limited C API is now supported if :ref:`Python is built in debug mode " "` (if the ``Py_DEBUG`` macro is defined). In the limited C API, " @@ -2703,14 +2709,14 @@ msgid "" "`36465`)." msgstr "" -#: ../../whatsnew/3.10.rst:2099 +#: ../../whatsnew/3.10.rst:2104 msgid "" "The limited C API is still not supported in the :option:`--with-trace-refs` " "special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in :" "issue:`43688`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2103 +#: ../../whatsnew/3.10.rst:2108 msgid "" "Add the :c:func:`Py_Is(x, y) ` function to test if the *x* object is " "the *y* object, the same as ``x is y`` in Python. Add also the :c:func:" @@ -2720,7 +2726,7 @@ msgid "" "`43753`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2110 +#: ../../whatsnew/3.10.rst:2115 msgid "" "Add new functions to control the garbage collector from C code: :c:func:" "`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. These " @@ -2728,20 +2734,20 @@ msgid "" "collector from C code without having to import the :mod:`gc` module." msgstr "" -#: ../../whatsnew/3.10.rst:2117 +#: ../../whatsnew/3.10.rst:2122 msgid "" "Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow " "creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2121 +#: ../../whatsnew/3.10.rst:2126 msgid "" "Add a new :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating " "immutable type objects: type attributes cannot be set nor deleted. " "(Contributed by Victor Stinner and Erlend E. Aasland in :issue:`43908`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2128 +#: ../../whatsnew/3.10.rst:2133 msgid "" "The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:" "`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: " @@ -2750,7 +2756,7 @@ msgid "" "`353`. (Contributed by Victor Stinner in :issue:`40943`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2135 +#: ../../whatsnew/3.10.rst:2140 msgid "" "Since :c:func:`Py_REFCNT()` is changed to the inline static function, " "``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, " @@ -2758,18 +2764,18 @@ msgid "" "For backward compatibility, this macro can be used::" msgstr "" -#: ../../whatsnew/3.10.rst:2144 +#: ../../whatsnew/3.10.rst:2149 msgid "(Contributed by Victor Stinner in :issue:`39573`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2146 +#: ../../whatsnew/3.10.rst:2151 msgid "" "Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed " "for historical reason. It is no longer allowed. (Contributed by Victor " "Stinner in :issue:`40839`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2150 +#: ../../whatsnew/3.10.rst:2155 msgid "" "``PyUnicode_FromUnicode(NULL, size)`` and " "``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` " @@ -2777,14 +2783,14 @@ msgid "" "data. (Contributed by Inada Naoki in :issue:`36346`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2155 +#: ../../whatsnew/3.10.rst:2160 msgid "" "The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API " "``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. " "(Contributed by Victor Stinner in :issue:`42157`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2159 +#: ../../whatsnew/3.10.rst:2164 msgid "" ":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:" "func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:" @@ -2795,7 +2801,7 @@ msgid "" "issue:`42260`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2167 +#: ../../whatsnew/3.10.rst:2172 msgid "" ":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:" "`PyCell_SET` macros can no longer be used as l-value or r-value. For " @@ -2805,7 +2811,7 @@ msgid "" "and Victor Stinner in :issue:`30459`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2174 +#: ../../whatsnew/3.10.rst:2179 msgid "" "The non-limited API files ``odictobject.h``, ``parser_interface.h``, " "``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe." @@ -2816,7 +2822,7 @@ msgid "" "Nicholas Sim in :issue:`35134`)" msgstr "" -#: ../../whatsnew/3.10.rst:2182 +#: ../../whatsnew/3.10.rst:2187 msgid "" "Use the :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " "type objects. Do not rely on :c:data:`Py_TPFLAGS_HEAPTYPE` to decide if a " @@ -2825,85 +2831,85 @@ msgid "" "issue:`43908`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2188 +#: ../../whatsnew/3.10.rst:2193 msgid "" "The undocumented function ``Py_FrozenMain`` has been removed from the " "limited API. The function is mainly useful for custom builds of Python. " "(Contributed by Petr Viktorin in :issue:`26241`)" msgstr "" -#: ../../whatsnew/3.10.rst:2195 +#: ../../whatsnew/3.10.rst:2200 msgid "" "The ``PyUnicode_InternImmortal()`` function is now deprecated and will be " "removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. " "(Contributed by Victor Stinner in :issue:`41692`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2203 +#: ../../whatsnew/3.10.rst:2208 msgid "" "Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. " "(Contributed by Inada Naoki in :issue:`41123`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2206 +#: ../../whatsnew/3.10.rst:2211 msgid "" "``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:" "`PyUnicode_GET_LENGTH`" msgstr "" -#: ../../whatsnew/3.10.rst:2208 +#: ../../whatsnew/3.10.rst:2213 msgid "" "``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" "`PyUnicode_FromFormat`" msgstr "" -#: ../../whatsnew/3.10.rst:2210 +#: ../../whatsnew/3.10.rst:2215 msgid "" "``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:" "`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" msgstr "" -#: ../../whatsnew/3.10.rst:2212 +#: ../../whatsnew/3.10.rst:2217 msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" msgstr "" -#: ../../whatsnew/3.10.rst:2213 +#: ../../whatsnew/3.10.rst:2218 msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" msgstr "" -#: ../../whatsnew/3.10.rst:2214 +#: ../../whatsnew/3.10.rst:2219 msgid "" "``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" "`PyUnicode_FindChar`" msgstr "" -#: ../../whatsnew/3.10.rst:2217 +#: ../../whatsnew/3.10.rst:2222 msgid "" "Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. " "(Contributed by Inada Naoki in :issue:`41103`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2220 +#: ../../whatsnew/3.10.rst:2225 msgid "" "Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:" "`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2223 +#: ../../whatsnew/3.10.rst:2228 msgid "" "Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:" "`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed " "by Inada Naoki in :issue:`41103`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2227 +#: ../../whatsnew/3.10.rst:2232 msgid "" "Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by " "``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. " "(Contributed by Victor Stinner in :issue:`41834`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2231 +#: ../../whatsnew/3.10.rst:2236 msgid "" "Removed undocumented macros ``Py_ALLOW_RECURSION`` and " "``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:" @@ -2911,14 +2917,14 @@ msgid "" "issue:`41936`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2236 +#: ../../whatsnew/3.10.rst:2241 msgid "" "Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing " "Python already implicitly installs signal handlers: see :c:member:`PyConfig." "install_signal_handlers`. (Contributed by Victor Stinner in :issue:`41713`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2241 +#: ../../whatsnew/3.10.rst:2246 msgid "" "Remove the ``PyAST_Validate()`` function. It is no longer possible to build " "a AST object (``mod_ty`` type) with the public C API. The function was " @@ -2926,48 +2932,48 @@ msgid "" "Stinner in :issue:`43244`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2246 +#: ../../whatsnew/3.10.rst:2251 msgid "Remove the ``symtable.h`` header file and the undocumented functions:" msgstr "" -#: ../../whatsnew/3.10.rst:2248 +#: ../../whatsnew/3.10.rst:2253 msgid "``PyST_GetScope()``" msgstr "``PyST_GetScope()``" -#: ../../whatsnew/3.10.rst:2249 +#: ../../whatsnew/3.10.rst:2254 msgid "``PySymtable_Build()``" msgstr "``PySymtable_Build()``" -#: ../../whatsnew/3.10.rst:2250 +#: ../../whatsnew/3.10.rst:2255 msgid "``PySymtable_BuildObject()``" msgstr "``PySymtable_BuildObject()``" -#: ../../whatsnew/3.10.rst:2251 +#: ../../whatsnew/3.10.rst:2256 msgid "``PySymtable_Free()``" msgstr "``PySymtable_Free()``" -#: ../../whatsnew/3.10.rst:2252 +#: ../../whatsnew/3.10.rst:2257 msgid "``Py_SymtableString()``" msgstr "``Py_SymtableString()``" -#: ../../whatsnew/3.10.rst:2253 +#: ../../whatsnew/3.10.rst:2258 msgid "``Py_SymtableStringObject()``" msgstr "``Py_SymtableStringObject()``" -#: ../../whatsnew/3.10.rst:2255 +#: ../../whatsnew/3.10.rst:2260 msgid "" "The ``Py_SymtableString()`` function was part the stable ABI by mistake but " "it could not be used, because the ``symtable.h`` header file was excluded " "from the limited C API." msgstr "" -#: ../../whatsnew/3.10.rst:2259 +#: ../../whatsnew/3.10.rst:2264 msgid "" "Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner " "in :issue:`43244`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2262 +#: ../../whatsnew/3.10.rst:2267 msgid "" "Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers " "and from ``python3.dll``, the library that provides the stable ABI on " @@ -2975,7 +2981,7 @@ msgid "" "cannot be guaranteed. (Contributed by Petr Viktorin in :issue:`43868`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2268 +#: ../../whatsnew/3.10.rst:2273 msgid "" "Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These " "functions were undocumented and excluded from the limited C API. Most names " @@ -2986,86 +2992,86 @@ msgid "" "(Contributed by Victor Stinner in :issue:`43244`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2276 +#: ../../whatsnew/3.10.rst:2281 msgid "" "Remove the compiler and parser functions using ``struct _mod`` type, because " "the public AST C API was removed:" msgstr "" -#: ../../whatsnew/3.10.rst:2279 +#: ../../whatsnew/3.10.rst:2284 msgid "``PyAST_Compile()``" msgstr "``PyAST_Compile()``" -#: ../../whatsnew/3.10.rst:2280 +#: ../../whatsnew/3.10.rst:2285 msgid "``PyAST_CompileEx()``" msgstr "``PyAST_CompileEx()``" -#: ../../whatsnew/3.10.rst:2281 +#: ../../whatsnew/3.10.rst:2286 msgid "``PyAST_CompileObject()``" msgstr "``PyAST_CompileObject()``" -#: ../../whatsnew/3.10.rst:2282 +#: ../../whatsnew/3.10.rst:2287 msgid "``PyFuture_FromAST()``" msgstr "``PyFuture_FromAST()``" -#: ../../whatsnew/3.10.rst:2283 +#: ../../whatsnew/3.10.rst:2288 msgid "``PyFuture_FromASTObject()``" msgstr "``PyFuture_FromASTObject()``" -#: ../../whatsnew/3.10.rst:2284 +#: ../../whatsnew/3.10.rst:2289 msgid "``PyParser_ASTFromFile()``" msgstr "``PyParser_ASTFromFile()``" -#: ../../whatsnew/3.10.rst:2285 +#: ../../whatsnew/3.10.rst:2290 msgid "``PyParser_ASTFromFileObject()``" msgstr "``PyParser_ASTFromFileObject()``" -#: ../../whatsnew/3.10.rst:2286 +#: ../../whatsnew/3.10.rst:2291 msgid "``PyParser_ASTFromFilename()``" msgstr "``PyParser_ASTFromFilename()``" -#: ../../whatsnew/3.10.rst:2287 +#: ../../whatsnew/3.10.rst:2292 msgid "``PyParser_ASTFromString()``" msgstr "``PyParser_ASTFromString()``" -#: ../../whatsnew/3.10.rst:2288 +#: ../../whatsnew/3.10.rst:2293 msgid "``PyParser_ASTFromStringObject()``" msgstr "``PyParser_ASTFromStringObject()``" -#: ../../whatsnew/3.10.rst:2290 +#: ../../whatsnew/3.10.rst:2295 msgid "" "These functions were undocumented and excluded from the limited C API. " "(Contributed by Victor Stinner in :issue:`43244`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2293 +#: ../../whatsnew/3.10.rst:2298 msgid "Remove the ``pyarena.h`` header file with functions:" msgstr "" -#: ../../whatsnew/3.10.rst:2295 +#: ../../whatsnew/3.10.rst:2300 msgid "``PyArena_New()``" msgstr "``PyArena_New()``" -#: ../../whatsnew/3.10.rst:2296 +#: ../../whatsnew/3.10.rst:2301 msgid "``PyArena_Free()``" msgstr "``PyArena_Free()``" -#: ../../whatsnew/3.10.rst:2297 +#: ../../whatsnew/3.10.rst:2302 msgid "``PyArena_Malloc()``" msgstr "``PyArena_Malloc()``" -#: ../../whatsnew/3.10.rst:2298 +#: ../../whatsnew/3.10.rst:2303 msgid "``PyArena_AddPyObject()``" msgstr "``PyArena_AddPyObject()``" -#: ../../whatsnew/3.10.rst:2300 +#: ../../whatsnew/3.10.rst:2305 msgid "" "These functions were undocumented, excluded from the limited C API, and were " "only used internally by the compiler. (Contributed by Victor Stinner in :" "issue:`43244`.)" msgstr "" -#: ../../whatsnew/3.10.rst:2304 +#: ../../whatsnew/3.10.rst:2309 msgid "" "The ``PyThreadState.use_tracing`` member has been removed to optimize " "Python. (Contributed by Mark Shannon in :issue:`43760`.)" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index 5cf7c839a7..3cfd03cc97 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-09 00:12+0000\n" +"POT-Creation-Date: 2022-01-27 00:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" @@ -218,7 +218,7 @@ msgid "" "Python as well. Consult the :ref:`removed-in-python-39` section." msgstr "" -#: ../../whatsnew/3.9.rst:143 ../../whatsnew/3.9.rst:1259 +#: ../../whatsnew/3.9.rst:143 ../../whatsnew/3.9.rst:1273 msgid "New Features" msgstr "" @@ -273,7 +273,7 @@ msgid "" "for example ``queue.Queue``." msgstr "" -#: ../../whatsnew/3.9.rst:183 ../../whatsnew/3.9.rst:1147 +#: ../../whatsnew/3.9.rst:183 ../../whatsnew/3.9.rst:1161 msgid "Example:" msgstr "範例:" @@ -703,14 +703,36 @@ msgid "" msgstr "" #: ../../whatsnew/3.9.rst:487 +msgid "New in 3.9 maintenance releases" +msgstr "" + +#: ../../whatsnew/3.9.rst:489 +msgid "" +"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " +"hooks were previously ignored. (Contributed by Ken Hilton in :issue:" +"`43008`.)" +msgstr "" + +#: ../../whatsnew/3.9.rst:493 msgid "The changes above have been backported to 3.8 maintenance releases." msgstr "" -#: ../../whatsnew/3.9.rst:490 +#: ../../whatsnew/3.9.rst:495 +msgid "" +"Rearrange the settings dialog. Split the General tab into Windows and Shell/" +"Ed tabs. Move help sources, which extend the Help menu, to the Extensions " +"tab. Make space for new options and shorten the dialog. The latter makes " +"the dialog better fit small screens. (Contributed by Terry Jan Reedy in :" +"issue:`40468`.) Move the indent space setting from the Font tab to the new " +"Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:" +"`33962`.)" +msgstr "" + +#: ../../whatsnew/3.9.rst:504 msgid "imaplib" msgstr "imaplib" -#: ../../whatsnew/3.9.rst:492 +#: ../../whatsnew/3.9.rst:506 msgid "" ":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional " "*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4." @@ -720,7 +742,7 @@ msgid "" "issue:`38615`.)" msgstr "" -#: ../../whatsnew/3.9.rst:499 +#: ../../whatsnew/3.9.rst:513 msgid "" ":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " "frees server's resources associated with the selected mailbox and returns " @@ -730,11 +752,11 @@ msgid "" "Dong-hee Na in :issue:`40375`.)" msgstr "" -#: ../../whatsnew/3.9.rst:507 +#: ../../whatsnew/3.9.rst:521 msgid "importlib" msgstr "importlib" -#: ../../whatsnew/3.9.rst:509 +#: ../../whatsnew/3.9.rst:523 msgid "" "To improve consistency with import statements, :func:`importlib.util." "resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for " @@ -742,47 +764,47 @@ msgid "" "`37444`.)" msgstr "" -#: ../../whatsnew/3.9.rst:514 +#: ../../whatsnew/3.9.rst:528 msgid "" "Import loaders which publish immutable module objects can now publish " "immutable packages in addition to individual modules. (Contributed by Dino " "Viehland in :issue:`39336`.)" msgstr "" -#: ../../whatsnew/3.9.rst:518 +#: ../../whatsnew/3.9.rst:532 msgid "" "Added :func:`importlib.resources.files` function with support for " "subdirectories in package data, matching backport in ``importlib_resources`` " "version 1.5. (Contributed by Jason R. Coombs in :issue:`39791`.)" msgstr "" -#: ../../whatsnew/3.9.rst:523 +#: ../../whatsnew/3.9.rst:537 msgid "" "Refreshed ``importlib.metadata`` from ``importlib_metadata`` version 1.6.1." msgstr "" -#: ../../whatsnew/3.9.rst:526 +#: ../../whatsnew/3.9.rst:540 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.9.rst:528 +#: ../../whatsnew/3.9.rst:542 msgid "" ":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to " "regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:" "`39775`.)" msgstr "" -#: ../../whatsnew/3.9.rst:532 +#: ../../whatsnew/3.9.rst:546 msgid "ipaddress" msgstr "ipaddress" -#: ../../whatsnew/3.9.rst:534 +#: ../../whatsnew/3.9.rst:548 msgid "" ":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " "suffix ``%``)." msgstr "" -#: ../../whatsnew/3.9.rst:536 +#: ../../whatsnew/3.9.rst:550 msgid "" "Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If " "present, scope zone ID is available through the :attr:`~ipaddress." @@ -790,59 +812,59 @@ msgid "" "`34788`.)" msgstr "" -#: ../../whatsnew/3.9.rst:540 +#: ../../whatsnew/3.9.rst:554 msgid "" "Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " "leading zeros in IPv4 address strings. (Contributed by Christian Heimes in :" "issue:`36384`)." msgstr "" -#: ../../whatsnew/3.9.rst:545 +#: ../../whatsnew/3.9.rst:559 msgid "math" msgstr "math" -#: ../../whatsnew/3.9.rst:547 +#: ../../whatsnew/3.9.rst:561 msgid "" "Expanded the :func:`math.gcd` function to handle multiple arguments. " "Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka " "in :issue:`39648`.)" msgstr "" -#: ../../whatsnew/3.9.rst:551 +#: ../../whatsnew/3.9.rst:565 msgid "" "Added :func:`math.lcm`: return the least common multiple of specified " "arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy " "Storchaka in :issue:`39479` and :issue:`39648`.)" msgstr "" -#: ../../whatsnew/3.9.rst:555 +#: ../../whatsnew/3.9.rst:569 msgid "" "Added :func:`math.nextafter`: return the next floating-point value after *x* " "towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)" msgstr "" -#: ../../whatsnew/3.9.rst:559 +#: ../../whatsnew/3.9.rst:573 msgid "" "Added :func:`math.ulp`: return the value of the least significant bit of a " "float. (Contributed by Victor Stinner in :issue:`39310`.)" msgstr "" -#: ../../whatsnew/3.9.rst:564 +#: ../../whatsnew/3.9.rst:578 msgid "multiprocessing" msgstr "multiprocessing" -#: ../../whatsnew/3.9.rst:566 +#: ../../whatsnew/3.9.rst:580 msgid "" "The :class:`multiprocessing.SimpleQueue` class has a new :meth:" "`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. " "(Contributed by Victor Stinner in :issue:`30966`.)" msgstr "" -#: ../../whatsnew/3.9.rst:572 +#: ../../whatsnew/3.9.rst:586 msgid "nntplib" msgstr "nntplib" -#: ../../whatsnew/3.9.rst:574 +#: ../../whatsnew/3.9.rst:588 msgid "" ":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a :class:" "`ValueError` if the given timeout for their constructor is zero to prevent " @@ -850,65 +872,65 @@ msgid "" "`39259`.)" msgstr "" -#: ../../whatsnew/3.9.rst:579 +#: ../../whatsnew/3.9.rst:593 msgid "os" msgstr "os" -#: ../../whatsnew/3.9.rst:581 +#: ../../whatsnew/3.9.rst:595 msgid "" "Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:" "`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)" msgstr "" -#: ../../whatsnew/3.9.rst:584 +#: ../../whatsnew/3.9.rst:598 msgid "" "Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:" "`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors." msgstr "" -#: ../../whatsnew/3.9.rst:588 +#: ../../whatsnew/3.9.rst:602 msgid "" "The :func:`os.unsetenv` function is now also available on Windows. " "(Contributed by Victor Stinner in :issue:`39413`.)" msgstr "" -#: ../../whatsnew/3.9.rst:591 +#: ../../whatsnew/3.9.rst:605 msgid "" "The :func:`os.putenv` and :func:`os.unsetenv` functions are now always " "available. (Contributed by Victor Stinner in :issue:`39395`.)" msgstr "" -#: ../../whatsnew/3.9.rst:595 +#: ../../whatsnew/3.9.rst:609 msgid "" "Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to " "an exit code. (Contributed by Victor Stinner in :issue:`40094`.)" msgstr "" -#: ../../whatsnew/3.9.rst:600 +#: ../../whatsnew/3.9.rst:614 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.9.rst:602 +#: ../../whatsnew/3.9.rst:616 msgid "" "Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os." "readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" msgstr "" -#: ../../whatsnew/3.9.rst:607 +#: ../../whatsnew/3.9.rst:621 msgid "pdb" msgstr "pdb" -#: ../../whatsnew/3.9.rst:609 +#: ../../whatsnew/3.9.rst:623 msgid "" "On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim " "Hopper and Dan Lidral-Porter in :issue:`20523`.)" msgstr "" -#: ../../whatsnew/3.9.rst:613 +#: ../../whatsnew/3.9.rst:627 msgid "poplib" msgstr "poplib" -#: ../../whatsnew/3.9.rst:615 +#: ../../whatsnew/3.9.rst:629 msgid "" ":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a :class:" "`ValueError` if the given timeout for their constructor is zero to prevent " @@ -916,53 +938,53 @@ msgid "" "`39259`.)" msgstr "" -#: ../../whatsnew/3.9.rst:620 +#: ../../whatsnew/3.9.rst:634 msgid "pprint" msgstr "pprint" -#: ../../whatsnew/3.9.rst:622 +#: ../../whatsnew/3.9.rst:636 msgid "" ":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. " "(Contributed by Carl Bordum Hansen in :issue:`37376`.)" msgstr "" -#: ../../whatsnew/3.9.rst:626 +#: ../../whatsnew/3.9.rst:640 msgid "pydoc" msgstr "pydoc" -#: ../../whatsnew/3.9.rst:628 +#: ../../whatsnew/3.9.rst:642 msgid "" "The documentation string is now shown not only for class, function, method " "etc, but for any object that has its own ``__doc__`` attribute. (Contributed " "by Serhiy Storchaka in :issue:`40257`.)" msgstr "" -#: ../../whatsnew/3.9.rst:633 +#: ../../whatsnew/3.9.rst:647 msgid "random" msgstr "random" -#: ../../whatsnew/3.9.rst:635 +#: ../../whatsnew/3.9.rst:649 msgid "" "Added a new :attr:`random.Random.randbytes` method: generate random bytes. " "(Contributed by Victor Stinner in :issue:`40286`.)" msgstr "" -#: ../../whatsnew/3.9.rst:639 +#: ../../whatsnew/3.9.rst:653 msgid "signal" msgstr "signal" -#: ../../whatsnew/3.9.rst:641 +#: ../../whatsnew/3.9.rst:655 msgid "" "Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to " "signals to a process using a file descriptor instead of a pid. (:issue:" "`38712`)" msgstr "" -#: ../../whatsnew/3.9.rst:645 +#: ../../whatsnew/3.9.rst:659 msgid "smtplib" msgstr "smtplib" -#: ../../whatsnew/3.9.rst:647 +#: ../../whatsnew/3.9.rst:661 msgid "" ":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a :class:" "`ValueError` if the given timeout for their constructor is zero to prevent " @@ -970,41 +992,41 @@ msgid "" "`39259`.)" msgstr "" -#: ../../whatsnew/3.9.rst:651 +#: ../../whatsnew/3.9.rst:665 msgid "" ":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. " "(Contributed by Dong-hee Na in :issue:`39329`.)" msgstr "" -#: ../../whatsnew/3.9.rst:655 +#: ../../whatsnew/3.9.rst:669 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.9.rst:657 +#: ../../whatsnew/3.9.rst:671 msgid "" "The :mod:`socket` module now exports the :data:`~socket." "CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by " "Stefan Tatschner and Zackery Spytz in :issue:`25780`.)" msgstr "" -#: ../../whatsnew/3.9.rst:661 +#: ../../whatsnew/3.9.rst:675 msgid "" "The socket module now supports the :data:`~socket.CAN_J1939` protocol on " "platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)" msgstr "" -#: ../../whatsnew/3.9.rst:664 +#: ../../whatsnew/3.9.rst:678 msgid "" "The socket module now has the :func:`socket.send_fds` and :func:`socket." "recv_fds` functions. (Contributed by Joannah Nanjekye, Shinya Okano and " "Victor Stinner in :issue:`28724`.)" msgstr "" -#: ../../whatsnew/3.9.rst:670 +#: ../../whatsnew/3.9.rst:684 msgid "time" msgstr "time" -#: ../../whatsnew/3.9.rst:672 +#: ../../whatsnew/3.9.rst:686 msgid "" "On AIX, :func:`~time.thread_time` is now implemented with " "``thread_cputime()`` which has nanosecond resolution, rather than " @@ -1012,11 +1034,11 @@ msgid "" "(Contributed by Batuhan Taskaya in :issue:`40192`)" msgstr "" -#: ../../whatsnew/3.9.rst:678 +#: ../../whatsnew/3.9.rst:692 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.9.rst:680 +#: ../../whatsnew/3.9.rst:694 msgid "" "Added a new :attr:`sys.platlibdir` attribute: name of the platform-specific " "library directory. It is used to build the path of standard library and the " @@ -1026,29 +1048,29 @@ msgid "" "and Victor Stinner in :issue:`1294959`.)" msgstr "" -#: ../../whatsnew/3.9.rst:686 +#: ../../whatsnew/3.9.rst:700 msgid "" "Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now " "``stderr`` defaults to always being line-buffered. (Contributed by Jendrik " "Seipp in :issue:`13601`.)" msgstr "" -#: ../../whatsnew/3.9.rst:691 +#: ../../whatsnew/3.9.rst:705 msgid "tracemalloc" msgstr "tracemalloc" -#: ../../whatsnew/3.9.rst:693 +#: ../../whatsnew/3.9.rst:707 msgid "" "Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory " "blocks to the current size, to measure the peak of specific pieces of code. " "(Contributed by Huon Wilson in :issue:`40630`.)" msgstr "" -#: ../../whatsnew/3.9.rst:698 ../../whatsnew/3.9.rst:1481 +#: ../../whatsnew/3.9.rst:712 ../../whatsnew/3.9.rst:1495 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.9.rst:700 +#: ../../whatsnew/3.9.rst:714 msgid "" ":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing " "types with context-specific metadata and new ``include_extras`` parameter " @@ -1056,20 +1078,20 @@ msgid "" "(Contributed by Till Varoquaux and Konstantin Kashin.)" msgstr "" -#: ../../whatsnew/3.9.rst:706 +#: ../../whatsnew/3.9.rst:720 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.9.rst:708 +#: ../../whatsnew/3.9.rst:722 msgid "" "The Unicode database has been updated to version 13.0.0. (:issue:`39926`)." msgstr "" -#: ../../whatsnew/3.9.rst:711 +#: ../../whatsnew/3.9.rst:725 msgid "venv" msgstr "venv" -#: ../../whatsnew/3.9.rst:713 +#: ../../whatsnew/3.9.rst:727 msgid "" "The activation scripts provided by :mod:`venv` now all specify their prompt " "customization consistently by always using the value specified by " @@ -1079,11 +1101,11 @@ msgid "" "Cannon in :issue:`37663`.)" msgstr "" -#: ../../whatsnew/3.9.rst:721 +#: ../../whatsnew/3.9.rst:735 msgid "xml" msgstr "xml" -#: ../../whatsnew/3.9.rst:723 +#: ../../whatsnew/3.9.rst:737 msgid "" "White space characters within attributes are now preserved when serializing :" "mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to " @@ -1091,32 +1113,32 @@ msgid "" "2.11 of XML spec. (Contributed by Mefistotelis in :issue:`39011`.)" msgstr "" -#: ../../whatsnew/3.9.rst:731 +#: ../../whatsnew/3.9.rst:745 msgid "Optimizations" msgstr "" -#: ../../whatsnew/3.9.rst:733 +#: ../../whatsnew/3.9.rst:747 msgid "" "Optimized the idiom for assignment a temporary variable in comprehensions. " "Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment " "``y = expr``. For example:" msgstr "" -#: ../../whatsnew/3.9.rst:737 +#: ../../whatsnew/3.9.rst:751 msgid "sums = [s for s in [0] for x in data for s in [s + x]]" msgstr "" -#: ../../whatsnew/3.9.rst:739 +#: ../../whatsnew/3.9.rst:753 msgid "" "Unlike the ``:=`` operator this idiom does not leak a variable to the outer " "scope." msgstr "" -#: ../../whatsnew/3.9.rst:742 +#: ../../whatsnew/3.9.rst:756 msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" msgstr "" -#: ../../whatsnew/3.9.rst:744 +#: ../../whatsnew/3.9.rst:758 msgid "" "Optimized signal handling in multithreaded applications. If a thread " "different than the main thread gets a signal, the bytecode evaluation loop " @@ -1125,27 +1147,27 @@ msgid "" "interpreter can handle signals." msgstr "" -#: ../../whatsnew/3.9.rst:750 +#: ../../whatsnew/3.9.rst:764 msgid "" "Previously, the bytecode evaluation loop was interrupted at each instruction " "until the main thread handles signals. (Contributed by Victor Stinner in :" "issue:`40010`.)" msgstr "" -#: ../../whatsnew/3.9.rst:754 +#: ../../whatsnew/3.9.rst:768 msgid "" "Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. " "(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor " "Stinner in :issue:`38061`.)" msgstr "" -#: ../../whatsnew/3.9.rst:758 +#: ../../whatsnew/3.9.rst:772 msgid "" ":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " "into :c:type:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" msgstr "" -#: ../../whatsnew/3.9.rst:762 +#: ../../whatsnew/3.9.rst:776 msgid "" "A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :" "class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :" @@ -1153,14 +1175,14 @@ msgid "" "Jeroen Demeyer and Petr Viktorin in :issue:`37207`.)" msgstr "" -#: ../../whatsnew/3.9.rst:767 +#: ../../whatsnew/3.9.rst:781 msgid "" "Optimized :func:`~set.difference_update` for the case when the other set is " "much larger than the base set. (Suggested by Evgeny Kapun with code " "contributed by Michele Orrù in :issue:`8425`.)" msgstr "" -#: ../../whatsnew/3.9.rst:771 +#: ../../whatsnew/3.9.rst:785 msgid "" "Python's small object allocator (``obmalloc.c``) now allows (no more than) " "one empty arena to remain available for immediate reuse, without returning " @@ -1169,26 +1191,26 @@ msgid "" "in :issue:`37257`.)" msgstr "" -#: ../../whatsnew/3.9.rst:777 +#: ../../whatsnew/3.9.rst:791 msgid "" ":term:`floor division` of float operation now has a better performance. Also " "the message of :exc:`ZeroDivisionError` for this operation is updated. " "(Contributed by Dong-hee Na in :issue:`39434`.)" msgstr "" -#: ../../whatsnew/3.9.rst:781 +#: ../../whatsnew/3.9.rst:795 msgid "" "Decoding short ASCII strings with UTF-8 and ascii codecs is now about 15% " "faster. (Contributed by Inada Naoki in :issue:`37348`.)" msgstr "" -#: ../../whatsnew/3.9.rst:784 +#: ../../whatsnew/3.9.rst:798 msgid "" "Here's a summary of performance improvements from Python 3.4 through Python " "3.9:" msgstr "" -#: ../../whatsnew/3.9.rst:831 +#: ../../whatsnew/3.9.rst:845 msgid "" "These results were generated from the variable access benchmark script at: " "``Tools/scripts/var_access_benchmark.py``. The benchmark script displays " @@ -1199,18 +1221,18 @@ msgid "" "python.org/downloads/mac-osx/>`_." msgstr "" -#: ../../whatsnew/3.9.rst:841 +#: ../../whatsnew/3.9.rst:855 msgid "Deprecated" msgstr "" -#: ../../whatsnew/3.9.rst:843 +#: ../../whatsnew/3.9.rst:857 msgid "" "The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` " "(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:" "`39586`.)" msgstr "" -#: ../../whatsnew/3.9.rst:847 +#: ../../whatsnew/3.9.rst:861 msgid "" "Currently :func:`math.factorial` accepts :class:`float` instances with non-" "negative integer values (like ``5.0``). It raises a :exc:`ValueError` for " @@ -1219,7 +1241,7 @@ msgid "" "Serhiy Storchaka in :issue:`37315`.)" msgstr "" -#: ../../whatsnew/3.9.rst:853 +#: ../../whatsnew/3.9.rst:867 msgid "" "The :mod:`parser` and :mod:`symbol` modules are deprecated and will be " "removed in future versions of Python. For the majority of use cases, users " @@ -1227,7 +1249,7 @@ msgid "" "stage, using the :mod:`ast` module." msgstr "" -#: ../../whatsnew/3.9.rst:858 +#: ../../whatsnew/3.9.rst:872 msgid "" "The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:" "func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:" @@ -1235,7 +1257,7 @@ msgid "" "and will be removed in Python 3.10 together with the old parser." msgstr "" -#: ../../whatsnew/3.9.rst:863 +#: ../../whatsnew/3.9.rst:877 msgid "" "Using :data:`NotImplemented` in a boolean context has been deprecated, as it " "is almost exclusively the result of incorrect rich comparator " @@ -1243,7 +1265,7 @@ msgid "" "Python. (Contributed by Josh Rosenberg in :issue:`35712`.)" msgstr "" -#: ../../whatsnew/3.9.rst:869 +#: ../../whatsnew/3.9.rst:883 msgid "" "The :mod:`random` module currently accepts any hashable type as a possible " "seed value. Unfortunately, some of those types are not guaranteed to have a " @@ -1252,7 +1274,7 @@ msgid "" "`bytes`, and :class:`bytearray`." msgstr "" -#: ../../whatsnew/3.9.rst:875 +#: ../../whatsnew/3.9.rst:889 msgid "" "Opening the :class:`~gzip.GzipFile` file for writing without specifying the " "*mode* argument is deprecated. In future Python versions it will always be " @@ -1261,39 +1283,39 @@ msgid "" "issue:`28286`.)" msgstr "" -#: ../../whatsnew/3.9.rst:881 +#: ../../whatsnew/3.9.rst:895 msgid "" "Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour " "of the ``splitlist()`` method which has more consistent and predicable " "behavior. (Contributed by Serhiy Storchaka in :issue:`38371`.)" msgstr "" -#: ../../whatsnew/3.9.rst:886 +#: ../../whatsnew/3.9.rst:900 msgid "" "The explicit passing of coroutine objects to :func:`asyncio.wait` has been " "deprecated and will be removed in version 3.11. (Contributed by Yury " "Selivanov and Kyle Stanley in :issue:`34790`.)" msgstr "" -#: ../../whatsnew/3.9.rst:890 +#: ../../whatsnew/3.9.rst:904 msgid "" "binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module " "and the following :mod:`binascii` functions are now deprecated:" msgstr "" -#: ../../whatsnew/3.9.rst:893 +#: ../../whatsnew/3.9.rst:907 msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" msgstr ":func:`~binascii.b2a_hqx`\\ 、\\ :func:`~binascii.a2b_hqx`" -#: ../../whatsnew/3.9.rst:894 +#: ../../whatsnew/3.9.rst:908 msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" msgstr ":func:`~binascii.rlecode_hqx`\\ 、\\ :func:`~binascii.rledecode_hqx`" -#: ../../whatsnew/3.9.rst:896 +#: ../../whatsnew/3.9.rst:910 msgid "(Contributed by Victor Stinner in :issue:`39353`.)" msgstr "" -#: ../../whatsnew/3.9.rst:898 +#: ../../whatsnew/3.9.rst:912 msgid "" ":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered " "deprecated and will be removed in future Python versions. ``value`` itself " @@ -1302,7 +1324,7 @@ msgid "" "Storchaka in :issue:`34822`.)" msgstr "" -#: ../../whatsnew/3.9.rst:904 +#: ../../whatsnew/3.9.rst:918 msgid "" ":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are " "considered deprecated and will be removed in future Python versions. They " @@ -1311,7 +1333,7 @@ msgid "" "`39969` and Serhiy Storchaka in :issue:`39988`.)" msgstr "" -#: ../../whatsnew/3.9.rst:911 +#: ../../whatsnew/3.9.rst:925 msgid "" "The :c:func:`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized` " "functions are now deprecated and will be removed in Python 3.11. Calling :c:" @@ -1320,20 +1342,20 @@ msgid "" "Stinner in :issue:`39877`.)" msgstr "" -#: ../../whatsnew/3.9.rst:917 +#: ../../whatsnew/3.9.rst:931 msgid "" "Passing ``None`` as the first argument to the :func:`shlex.split` function " "has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)" msgstr "" -#: ../../whatsnew/3.9.rst:920 +#: ../../whatsnew/3.9.rst:934 msgid "" ":func:`smtpd.MailmanProxy` is now deprecated as it is unusable without an " "external module, ``mailman``. (Contributed by Samuel Colvin in :issue:" "`35800`.)" msgstr "" -#: ../../whatsnew/3.9.rst:923 +#: ../../whatsnew/3.9.rst:937 msgid "" "The :mod:`lib2to3` module now emits a :exc:`PendingDeprecationWarning`. " "Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may " @@ -1343,22 +1365,22 @@ msgid "" "`parso`_. (Contributed by Carl Meyer in :issue:`40360`.)" msgstr "" -#: ../../whatsnew/3.9.rst:931 +#: ../../whatsnew/3.9.rst:945 msgid "" "The *random* parameter of :func:`random.shuffle` has been deprecated. " "(Contributed by Raymond Hettinger in :issue:`40465`)" msgstr "" -#: ../../whatsnew/3.9.rst:940 ../../whatsnew/3.9.rst:1395 +#: ../../whatsnew/3.9.rst:954 ../../whatsnew/3.9.rst:1409 msgid "Removed" msgstr "" -#: ../../whatsnew/3.9.rst:942 +#: ../../whatsnew/3.9.rst:956 msgid "" "The erroneous version at :data:`unittest.mock.__version__` has been removed." msgstr "" -#: ../../whatsnew/3.9.rst:944 +#: ../../whatsnew/3.9.rst:958 msgid "" ":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been " "removed. These methods are deprecated since Python 3.3. Generally, these " @@ -1368,14 +1390,14 @@ msgid "" "`39366`.)" msgstr "" -#: ../../whatsnew/3.9.rst:951 +#: ../../whatsnew/3.9.rst:965 msgid "" ":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been " "removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated " "since Python 3.2. (Contributed by Victor Stinner in :issue:`38916`.)" msgstr "" -#: ../../whatsnew/3.9.rst:956 +#: ../../whatsnew/3.9.rst:970 msgid "" "The undocumented ``sys.callstats()`` function has been removed. Since Python " "3.7, it was deprecated and always returned :const:`None`. It required a " @@ -1383,7 +1405,7 @@ msgid "" "3.7. (Contributed by Victor Stinner in :issue:`37414`.)" msgstr "" -#: ../../whatsnew/3.9.rst:961 +#: ../../whatsnew/3.9.rst:975 msgid "" "The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have " "been removed. They were deprecated since Python 3.2. Use :func:`sys." @@ -1391,21 +1413,21 @@ msgid "" "by Victor Stinner in :issue:`37392`.)" msgstr "" -#: ../../whatsnew/3.9.rst:966 +#: ../../whatsnew/3.9.rst:980 msgid "" "The C function ``PyImport_Cleanup()`` has been removed. It was documented " "as: \"Empty the module table. For internal use only.\" (Contributed by " "Victor Stinner in :issue:`36710`.)" msgstr "" -#: ../../whatsnew/3.9.rst:970 +#: ../../whatsnew/3.9.rst:984 msgid "" "``_dummy_thread`` and ``dummy_threading`` modules have been removed. These " "modules were deprecated since Python 3.7 which requires threading support. " "(Contributed by Victor Stinner in :issue:`37312`.)" msgstr "" -#: ../../whatsnew/3.9.rst:974 +#: ../../whatsnew/3.9.rst:988 msgid "" "``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to " "``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have " @@ -1413,14 +1435,14 @@ msgid "" "Stinner in :issue:`37320`.)" msgstr "" -#: ../../whatsnew/3.9.rst:979 +#: ../../whatsnew/3.9.rst:993 msgid "" "The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " "has been removed. It was deprecated since Python 3.8. Use :meth:`~threading." "Thread.is_alive()` instead. (Contributed by Dong-hee Na in :issue:`37804`.)" msgstr "" -#: ../../whatsnew/3.9.rst:984 +#: ../../whatsnew/3.9.rst:998 msgid "" "Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml." "etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` " @@ -1430,7 +1452,7 @@ msgid "" "getiterator()``. (Contributed by Serhiy Storchaka in :issue:`36543`.)" msgstr "" -#: ../../whatsnew/3.9.rst:992 +#: ../../whatsnew/3.9.rst:1006 msgid "" "The old :mod:`plistlib` API has been removed, it was deprecated since Python " "3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:" @@ -1439,7 +1461,7 @@ msgid "" "are always used instead. (Contributed by Jon Janzen in :issue:`36409`.)" msgstr "" -#: ../../whatsnew/3.9.rst:998 +#: ../../whatsnew/3.9.rst:1012 msgid "" "The C function ``PyGen_NeedsFinalizing`` has been removed. It was not " "documented, tested, or used anywhere within CPython after the implementation " @@ -1447,7 +1469,7 @@ msgid "" "in :issue:`15088`)" msgstr "" -#: ../../whatsnew/3.9.rst:1003 +#: ../../whatsnew/3.9.rst:1017 msgid "" "``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated " "since Python 3.1, have been removed: use :func:`base64.encodebytes` and :" @@ -1455,14 +1477,14 @@ msgid "" "`39351`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1008 +#: ../../whatsnew/3.9.rst:1022 msgid "" "``fractions.gcd()`` function has been removed, it was deprecated since " "Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by " "Victor Stinner in :issue:`39350`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1012 +#: ../../whatsnew/3.9.rst:1026 msgid "" "The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since " "Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`. " @@ -1470,7 +1492,7 @@ msgid "" "Victor Stinner in :issue:`39357`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1017 +#: ../../whatsnew/3.9.rst:1031 msgid "" "The *encoding* parameter of :func:`json.loads` has been removed. As of " "Python 3.1, it was deprecated and ignored; using it has emitted a :exc:" @@ -1478,7 +1500,7 @@ msgid "" "`39377`)" msgstr "" -#: ../../whatsnew/3.9.rst:1022 +#: ../../whatsnew/3.9.rst:1036 msgid "" "``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` " "statements are not longer supported, use ``async with lock`` instead. The " @@ -1486,7 +1508,7 @@ msgid "" "(Contributed by Andrew Svetlov in :issue:`34793`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1027 +#: ../../whatsnew/3.9.rst:1041 msgid "" "The :func:`sys.getcounts` function, the ``-X showalloccount`` command line " "option and the ``show_alloc_count`` field of the C structure :c:type:" @@ -1495,7 +1517,7 @@ msgid "" "`39489`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1033 +#: ../../whatsnew/3.9.rst:1047 msgid "" "The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has " "been removed. It was deprecated since Python 3.8. Use the " @@ -1503,14 +1525,14 @@ msgid "" "issue:`40182`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1038 +#: ../../whatsnew/3.9.rst:1052 msgid "" "The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was " "deprecated since 2006, and only returning ``False`` when it's called. " "(Contributed by Batuhan Taskaya in :issue:`40208`)" msgstr "" -#: ../../whatsnew/3.9.rst:1042 +#: ../../whatsnew/3.9.rst:1056 msgid "" "The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " "have been removed. They were deprecated since Python 3.7 and you can use :" @@ -1518,7 +1540,7 @@ msgid "" "(Contributed by Rémi Lapeyre in :issue:`40967`)" msgstr "" -#: ../../whatsnew/3.9.rst:1047 +#: ../../whatsnew/3.9.rst:1061 msgid "" "The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has " "been removed (it was deprecated since Python 3.4). :func:`html.unescape` " @@ -1526,21 +1548,21 @@ msgid "" "unicode characters." msgstr "" -#: ../../whatsnew/3.9.rst:1054 ../../whatsnew/3.9.rst:1321 +#: ../../whatsnew/3.9.rst:1068 ../../whatsnew/3.9.rst:1335 msgid "Porting to Python 3.9" msgstr "" -#: ../../whatsnew/3.9.rst:1056 +#: ../../whatsnew/3.9.rst:1070 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" -#: ../../whatsnew/3.9.rst:1061 +#: ../../whatsnew/3.9.rst:1075 msgid "Changes in the Python API" msgstr "" -#: ../../whatsnew/3.9.rst:1063 +#: ../../whatsnew/3.9.rst:1077 msgid "" ":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:" "`ImportError` where it previously raised :exc:`ValueError`. Callers catching " @@ -1548,26 +1570,26 @@ msgid "" "versions will need to catch both using ``except (ImportError, ValueError):``." msgstr "" -#: ../../whatsnew/3.9.rst:1068 +#: ../../whatsnew/3.9.rst:1082 msgid "" "The :mod:`venv` activation scripts no longer special-case when " "``__VENV_PROMPT__`` is set to ``\"\"``." msgstr "" -#: ../../whatsnew/3.9.rst:1071 +#: ../../whatsnew/3.9.rst:1085 msgid "" "The :meth:`select.epoll.unregister` method no longer ignores the :data:" "`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1075 +#: ../../whatsnew/3.9.rst:1089 msgid "" "The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, " "since the *buffering* parameter has been removed. (Contributed by Victor " "Stinner in :issue:`39357`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1079 +#: ../../whatsnew/3.9.rst:1093 msgid "" "Simplified AST for subscription. Simple indices will be represented by their " "value, extended slices will be represented as tuples. ``Index(value)`` will " @@ -1575,21 +1597,21 @@ msgid "" "Load())``. (Contributed by Serhiy Storchaka in :issue:`34822`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1085 +#: ../../whatsnew/3.9.rst:1099 msgid "" "The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` " "environment variable when the :option:`-E` or :option:`-I` command line " "options are being used." msgstr "" -#: ../../whatsnew/3.9.rst:1089 +#: ../../whatsnew/3.9.rst:1103 msgid "" "The *encoding* parameter has been added to the classes :class:`ftplib.FTP` " "and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default " "encoding is changed from Latin-1 to UTF-8 to follow :rfc:`2640`." msgstr "" -#: ../../whatsnew/3.9.rst:1093 +#: ../../whatsnew/3.9.rst:1107 msgid "" ":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:" "`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit " @@ -1597,7 +1619,7 @@ msgid "" "issue:`34037`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1098 +#: ../../whatsnew/3.9.rst:1112 msgid "" "The constant values of future flags in the :mod:`__future__` module is " "updated in order to prevent collision with compiler flags. Previously " @@ -1605,7 +1627,7 @@ msgid "" "(Contributed by Batuhan Taskaya in :issue:`39562`)" msgstr "" -#: ../../whatsnew/3.9.rst:1103 +#: ../../whatsnew/3.9.rst:1117 msgid "" "``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``. " "This change doesn't affect to its behavior because ``Py_UNICODE`` is alias " @@ -1613,7 +1635,7 @@ msgid "" "`34538`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1108 +#: ../../whatsnew/3.9.rst:1122 msgid "" "The :func:`logging.getLogger` API now returns the root logger when passed " "the name ``'root'``, whereas previously it returned a non-root logger named " @@ -1623,7 +1645,7 @@ msgid "" "(Contributed by Vinay Sajip in :issue:`37742`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1115 +#: ../../whatsnew/3.9.rst:1129 msgid "" "Division handling of :class:`~pathlib.PurePath` now returns " "``NotImplemented`` instead of raising a :exc:`TypeError` when passed " @@ -1632,7 +1654,7 @@ msgid "" "mentioned types. (Contributed by Roger Aiudi in :issue:`34775`)." msgstr "" -#: ../../whatsnew/3.9.rst:1121 +#: ../../whatsnew/3.9.rst:1135 msgid "" "Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " "leading zeros in IPv4 address strings. Leading zeros are ambiguous and " @@ -1642,7 +1664,7 @@ msgid "" "leading zeros. (Contributed by Christian Heimes in :issue:`36384`)." msgstr "" -#: ../../whatsnew/3.9.rst:1129 +#: ../../whatsnew/3.9.rst:1143 msgid "" ":func:`codecs.lookup` now normalizes the encoding name the same way as :func:" "`encodings.normalize_encoding`, except that :func:`codecs.lookup` also " @@ -1651,11 +1673,11 @@ msgid "" "in :issue:`37751`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1137 +#: ../../whatsnew/3.9.rst:1151 msgid "Changes in the C API" msgstr "" -#: ../../whatsnew/3.9.rst:1139 +#: ../../whatsnew/3.9.rst:1153 msgid "" "Instances of :ref:`heap-allocated types ` (such as those created " "with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their " @@ -1666,7 +1688,7 @@ msgid "" "heap-allocated types visit the object's type." msgstr "" -#: ../../whatsnew/3.9.rst:1160 +#: ../../whatsnew/3.9.rst:1174 msgid "" "If your traverse function delegates to ``tp_traverse`` of its base class (or " "another type), ensure that ``Py_TYPE(self)`` is visited only once. Note that " @@ -1674,19 +1696,19 @@ msgid "" "``tp_traverse``." msgstr "" -#: ../../whatsnew/3.9.rst:1165 +#: ../../whatsnew/3.9.rst:1179 msgid "For example, if your ``tp_traverse`` function includes:" msgstr "" -#: ../../whatsnew/3.9.rst:1171 +#: ../../whatsnew/3.9.rst:1185 msgid "then add:" msgstr "" -#: ../../whatsnew/3.9.rst:1184 +#: ../../whatsnew/3.9.rst:1198 msgid "(See :issue:`35810` and :issue:`40217` for more information.)" msgstr "(更多資訊請見 :issue:`35810` 與 :issue:`40217`\\ 。)" -#: ../../whatsnew/3.9.rst:1186 +#: ../../whatsnew/3.9.rst:1200 msgid "" "The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, " "``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. " @@ -1694,11 +1716,11 @@ msgid "" "issue:`29548`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1192 +#: ../../whatsnew/3.9.rst:1206 msgid "CPython bytecode changes" msgstr "" -#: ../../whatsnew/3.9.rst:1194 +#: ../../whatsnew/3.9.rst:1208 msgid "" "The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :" "keyword:`assert` statement. Previously, the assert statement would not work " @@ -1706,37 +1728,37 @@ msgid "" "(Contributed by Zackery Spytz in :issue:`34880`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1199 +#: ../../whatsnew/3.9.rst:1213 msgid "" "The :opcode:`COMPARE_OP` opcode was split into four distinct instructions:" msgstr "" -#: ../../whatsnew/3.9.rst:1201 +#: ../../whatsnew/3.9.rst:1215 msgid "``COMPARE_OP`` for rich comparisons" msgstr "" -#: ../../whatsnew/3.9.rst:1202 +#: ../../whatsnew/3.9.rst:1216 msgid "``IS_OP`` for 'is' and 'is not' tests" msgstr "" -#: ../../whatsnew/3.9.rst:1203 +#: ../../whatsnew/3.9.rst:1217 msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" msgstr "" -#: ../../whatsnew/3.9.rst:1204 +#: ../../whatsnew/3.9.rst:1218 msgid "" "``JUMP_IF_NOT_EXC_MATCH`` for checking exceptions in 'try-except' statements." msgstr "" -#: ../../whatsnew/3.9.rst:1207 +#: ../../whatsnew/3.9.rst:1221 msgid "(Contributed by Mark Shannon in :issue:`39156`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1211 +#: ../../whatsnew/3.9.rst:1225 msgid "Build Changes" msgstr "" -#: ../../whatsnew/3.9.rst:1213 +#: ../../whatsnew/3.9.rst:1227 msgid "" "Added ``--with-platlibdir`` option to the ``configure`` script: name of the " "platform-specific library directory, stored in the new :attr:`sys." @@ -1745,26 +1767,26 @@ msgid "" "and Victor Stinner in :issue:`1294959`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1219 +#: ../../whatsnew/3.9.rst:1233 msgid "" "The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by " "Victor Stinner in :issue:`39489`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1222 +#: ../../whatsnew/3.9.rst:1236 msgid "" "On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` " "functions are now required to build Python. (Contributed by Victor Stinner " "in :issue:`39395`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1226 +#: ../../whatsnew/3.9.rst:1240 msgid "" "On non-Windows platforms, creating ``bdist_wininst`` installers is now " "officially unsupported. (See :issue:`10945` for more details.)" msgstr "" -#: ../../whatsnew/3.9.rst:1229 +#: ../../whatsnew/3.9.rst:1243 msgid "" "When building Python on macOS from source, ``_tkinter`` now links with non-" "system Tcl and Tk frameworks if they are installed in ``/Library/" @@ -1775,13 +1797,13 @@ msgid "" "libs`. (Contributed by Ned Deily in :issue:`34956`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1238 +#: ../../whatsnew/3.9.rst:1252 msgid "" "Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower " "in :issue:`33125`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1241 +#: ../../whatsnew/3.9.rst:1255 msgid "" "Some individual tests are now skipped when ``--pgo`` is used. The tests in " "question increased the PGO task time significantly and likely didn't help " @@ -1797,11 +1819,11 @@ msgid "" "details.)" msgstr "" -#: ../../whatsnew/3.9.rst:1256 +#: ../../whatsnew/3.9.rst:1270 msgid "C API Changes" msgstr "" -#: ../../whatsnew/3.9.rst:1261 +#: ../../whatsnew/3.9.rst:1275 msgid "" ":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module " "with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` " @@ -1810,20 +1832,20 @@ msgid "" "(Contributed by Marcel Plch and Petr Viktorin in :issue:`38787`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1268 +#: ../../whatsnew/3.9.rst:1282 msgid "" "Added :c:func:`PyFrame_GetCode` function: get a frame code. Added :c:func:" "`PyFrame_GetBack` function: get the frame next outer frame. (Contributed by " "Victor Stinner in :issue:`40421`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1272 +#: ../../whatsnew/3.9.rst:1286 msgid "" "Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by " "Victor Stinner in :issue:`40421`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1275 +#: ../../whatsnew/3.9.rst:1289 msgid "" "Added :c:func:`PyThreadState_GetInterpreter` and :c:func:" "`PyInterpreterState_Get` functions to get the interpreter. Added :c:func:" @@ -1833,7 +1855,7 @@ msgid "" "issue:`39947`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1283 +#: ../../whatsnew/3.9.rst:1297 msgid "" "Added a new public :c:func:`PyObject_CallNoArgs` function to the C API, " "which calls a callable Python object without any arguments. It is the most " @@ -1841,11 +1863,11 @@ msgid "" "(Contributed by Victor Stinner in :issue:`37194`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1288 ../../whatsnew/3.9.rst:1406 +#: ../../whatsnew/3.9.rst:1302 ../../whatsnew/3.9.rst:1420 msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):" msgstr "" -#: ../../whatsnew/3.9.rst:1290 +#: ../../whatsnew/3.9.rst:1304 msgid "" "Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` " "as regular functions for the limited API. Previously, there were defined as " @@ -1854,23 +1876,23 @@ msgid "" "the limited C API)." msgstr "" -#: ../../whatsnew/3.9.rst:1296 +#: ../../whatsnew/3.9.rst:1310 msgid "" "``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" " "function to hide implementation details." msgstr "" -#: ../../whatsnew/3.9.rst:1299 ../../whatsnew/3.9.rst:1433 +#: ../../whatsnew/3.9.rst:1313 ../../whatsnew/3.9.rst:1447 msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1301 +#: ../../whatsnew/3.9.rst:1315 msgid "" "The :c:func:`PyModule_AddType` function is added to help adding a type to a " "module. (Contributed by Dong-hee Na in :issue:`40024`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1305 +#: ../../whatsnew/3.9.rst:1319 msgid "" "Added the functions :c:func:`PyObject_GC_IsTracked` and :c:func:" "`PyObject_GC_IsFinalized` to the public API to allow to query if Python " @@ -1879,27 +1901,27 @@ msgid "" "issue:`40241`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1311 +#: ../../whatsnew/3.9.rst:1325 msgid "" "Added :c:func:`_PyObject_FunctionStr` to get a user-friendly string " "representation of a function-like object. (Patch by Jeroen Demeyer in :issue:" "`37645`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1315 +#: ../../whatsnew/3.9.rst:1329 msgid "" "Added :c:func:`PyObject_CallOneArg` for calling an object with one " "positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1323 +#: ../../whatsnew/3.9.rst:1337 msgid "" "``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory " "*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :" "issue:`38500`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1327 +#: ../../whatsnew/3.9.rst:1341 msgid "" "Extension modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:" "`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` functions of :c:" @@ -1911,12 +1933,12 @@ msgid "" "`PyModule_GetState`) is ``NULL``." msgstr "" -#: ../../whatsnew/3.9.rst:1336 +#: ../../whatsnew/3.9.rst:1350 msgid "" "Extension modules without module state (``m_size <= 0``) are not affected." msgstr "" -#: ../../whatsnew/3.9.rst:1338 +#: ../../whatsnew/3.9.rst:1352 msgid "" "If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function " "is now scheduled to be called from the subinterpreter, rather than being " @@ -1924,7 +1946,7 @@ msgid "" "of scheduled calls. (Contributed by Victor Stinner in :issue:`39984`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1344 +#: ../../whatsnew/3.9.rst:1358 msgid "" "The Windows registry is no longer used to initialize :data:`sys.path` when " "the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to " @@ -1932,21 +1954,21 @@ msgid "" "by Zackery Spytz in :issue:`8901`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1349 +#: ../../whatsnew/3.9.rst:1363 msgid "" "The global variable :c:data:`PyStructSequence_UnnamedField` is now a " "constant and refers to a constant string. (Contributed by Serhiy Storchaka " "in :issue:`38650`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1353 +#: ../../whatsnew/3.9.rst:1367 msgid "" "The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the " "internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in :issue:" "`40241`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1357 +#: ../../whatsnew/3.9.rst:1371 msgid "" "The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:" "func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " @@ -1955,7 +1977,7 @@ msgid "" "Python 3.3. (Contributed by Inada Naoki in :issue:`36346`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1364 +#: ../../whatsnew/3.9.rst:1378 msgid "" "The :c:func:`Py_FatalError` function is replaced with a macro which logs " "automatically the name of the current function, unless the " @@ -1963,22 +1985,22 @@ msgid "" "issue:`39882`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1369 +#: ../../whatsnew/3.9.rst:1383 msgid "" "The vectorcall protocol now requires that the caller passes only strings as " "keyword names. (See :issue:`37540` for more information.)" msgstr "" -#: ../../whatsnew/3.9.rst:1372 +#: ../../whatsnew/3.9.rst:1386 msgid "" "Implementation details of a number of macros and functions are now hidden:" msgstr "" -#: ../../whatsnew/3.9.rst:1374 +#: ../../whatsnew/3.9.rst:1388 msgid ":c:func:`PyObject_IS_GC` macro was converted to a function." msgstr "" -#: ../../whatsnew/3.9.rst:1376 +#: ../../whatsnew/3.9.rst:1390 msgid "" "The :c:func:`PyObject_NEW` macro becomes an alias to the :c:func:" "`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro becomes an " @@ -1986,38 +2008,38 @@ msgid "" "the :c:member:`PyTypeObject.tp_basicsize` member." msgstr "" -#: ../../whatsnew/3.9.rst:1381 +#: ../../whatsnew/3.9.rst:1395 msgid "" ":c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: " "the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` " "member." msgstr "" -#: ../../whatsnew/3.9.rst:1385 +#: ../../whatsnew/3.9.rst:1399 msgid "" ":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro " "accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." msgstr "" -#: ../../whatsnew/3.9.rst:1388 +#: ../../whatsnew/3.9.rst:1402 msgid "" ":c:func:`PyIndex_Check` is now always declared as an opaque function to hide " "implementation details: removed the ``PyIndex_Check()`` macro. The macro " "accessed directly the :c:member:`PyTypeObject.tp_as_number` member." msgstr "" -#: ../../whatsnew/3.9.rst:1392 +#: ../../whatsnew/3.9.rst:1406 msgid "(See :issue:`40170` for more details.)" msgstr "(更多資訊請見 :issue:`40170`\\ 。)" -#: ../../whatsnew/3.9.rst:1397 +#: ../../whatsnew/3.9.rst:1411 msgid "" "Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of " "``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:" "`38835`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1401 +#: ../../whatsnew/3.9.rst:1415 msgid "" "The ``tp_print`` slot of :ref:`PyTypeObject ` has been " "removed. It was used for printing objects to files in Python 2.7 and before. " @@ -2025,89 +2047,89 @@ msgid "" "Demeyer in :issue:`36974`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1408 +#: ../../whatsnew/3.9.rst:1422 msgid "Excluded the following functions from the limited C API:" msgstr "" -#: ../../whatsnew/3.9.rst:1410 +#: ../../whatsnew/3.9.rst:1424 msgid "" "``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:" "`37878`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1412 +#: ../../whatsnew/3.9.rst:1426 msgid "``_Py_CheckRecursionLimit``" msgstr "``_Py_CheckRecursionLimit``" -#: ../../whatsnew/3.9.rst:1413 +#: ../../whatsnew/3.9.rst:1427 msgid "``_Py_NewReference()``" msgstr "``_Py_NewReference()``" -#: ../../whatsnew/3.9.rst:1414 +#: ../../whatsnew/3.9.rst:1428 msgid "``_Py_ForgetReference()``" msgstr "``_Py_ForgetReference()``" -#: ../../whatsnew/3.9.rst:1415 +#: ../../whatsnew/3.9.rst:1429 msgid "``_PyTraceMalloc_NewReference()``" msgstr "``_PyTraceMalloc_NewReference()``" -#: ../../whatsnew/3.9.rst:1416 +#: ../../whatsnew/3.9.rst:1430 msgid "``_Py_GetRefTotal()``" msgstr "``_Py_GetRefTotal()``" -#: ../../whatsnew/3.9.rst:1417 +#: ../../whatsnew/3.9.rst:1431 msgid "The trashcan mechanism which never worked in the limited C API." msgstr "" -#: ../../whatsnew/3.9.rst:1418 +#: ../../whatsnew/3.9.rst:1432 msgid "``PyTrash_UNWIND_LEVEL``" msgstr "``PyTrash_UNWIND_LEVEL``" -#: ../../whatsnew/3.9.rst:1419 +#: ../../whatsnew/3.9.rst:1433 msgid "``Py_TRASHCAN_BEGIN_CONDITION``" msgstr "``Py_TRASHCAN_BEGIN_CONDITION``" -#: ../../whatsnew/3.9.rst:1420 +#: ../../whatsnew/3.9.rst:1434 msgid "``Py_TRASHCAN_BEGIN``" msgstr "``Py_TRASHCAN_BEGIN``" -#: ../../whatsnew/3.9.rst:1421 +#: ../../whatsnew/3.9.rst:1435 msgid "``Py_TRASHCAN_END``" msgstr "``Py_TRASHCAN_END``" -#: ../../whatsnew/3.9.rst:1422 +#: ../../whatsnew/3.9.rst:1436 msgid "``Py_TRASHCAN_SAFE_BEGIN``" msgstr "``Py_TRASHCAN_SAFE_BEGIN``" -#: ../../whatsnew/3.9.rst:1423 +#: ../../whatsnew/3.9.rst:1437 msgid "``Py_TRASHCAN_SAFE_END``" msgstr "``Py_TRASHCAN_SAFE_END``" -#: ../../whatsnew/3.9.rst:1425 +#: ../../whatsnew/3.9.rst:1439 msgid "Moved following functions and definitions to the internal C API:" msgstr "" -#: ../../whatsnew/3.9.rst:1427 +#: ../../whatsnew/3.9.rst:1441 msgid "``_PyDebug_PrintTotalRefs()``" msgstr "``_PyDebug_PrintTotalRefs()``" -#: ../../whatsnew/3.9.rst:1428 +#: ../../whatsnew/3.9.rst:1442 msgid "``_Py_PrintReferences()``" msgstr "``_Py_PrintReferences()``" -#: ../../whatsnew/3.9.rst:1429 +#: ../../whatsnew/3.9.rst:1443 msgid "``_Py_PrintReferenceAddresses()``" msgstr "``_Py_PrintReferenceAddresses()``" -#: ../../whatsnew/3.9.rst:1430 +#: ../../whatsnew/3.9.rst:1444 msgid "``_Py_tracemalloc_config``" msgstr "``_Py_tracemalloc_config``" -#: ../../whatsnew/3.9.rst:1431 +#: ../../whatsnew/3.9.rst:1445 msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)" msgstr "" -#: ../../whatsnew/3.9.rst:1435 +#: ../../whatsnew/3.9.rst:1449 msgid "" "Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame`` " "macro which was an alias to ``_PyRuntime.getframe``. They were only exposed " @@ -2115,72 +2137,72 @@ msgid "" "(Contributed by Victor Stinner in :issue:`39946`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1440 +#: ../../whatsnew/3.9.rst:1454 msgid "" "Removed the following functions from the C API. Call :c:func:`PyGC_Collect` " "explicitly to clear all free lists. (Contributed by Inada Naoki and Victor " "Stinner in :issue:`37340`, :issue:`38896` and :issue:`40428`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1445 +#: ../../whatsnew/3.9.rst:1459 msgid "``PyAsyncGen_ClearFreeLists()``" msgstr "``PyAsyncGen_ClearFreeLists()``" -#: ../../whatsnew/3.9.rst:1446 +#: ../../whatsnew/3.9.rst:1460 msgid "``PyContext_ClearFreeList()``" msgstr "``PyContext_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1447 +#: ../../whatsnew/3.9.rst:1461 msgid "``PyDict_ClearFreeList()``" msgstr "``PyDict_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1448 +#: ../../whatsnew/3.9.rst:1462 msgid "``PyFloat_ClearFreeList()``" msgstr "``PyFloat_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1449 +#: ../../whatsnew/3.9.rst:1463 msgid "``PyFrame_ClearFreeList()``" msgstr "``PyFrame_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1450 +#: ../../whatsnew/3.9.rst:1464 msgid "``PyList_ClearFreeList()``" msgstr "``PyList_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1451 +#: ../../whatsnew/3.9.rst:1465 msgid "" "``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free " "lists of bound method objects have been removed." msgstr "" -#: ../../whatsnew/3.9.rst:1453 +#: ../../whatsnew/3.9.rst:1467 msgid "" "``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4." msgstr "" -#: ../../whatsnew/3.9.rst:1455 +#: ../../whatsnew/3.9.rst:1469 msgid "``PyTuple_ClearFreeList()``" msgstr "``PyTuple_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1456 +#: ../../whatsnew/3.9.rst:1470 msgid "" "``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in " "Python 3.3." msgstr "" -#: ../../whatsnew/3.9.rst:1459 +#: ../../whatsnew/3.9.rst:1473 msgid "" "Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor " "Stinner in :issue:`39465`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1462 +#: ../../whatsnew/3.9.rst:1476 msgid "" "Removed ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and " "broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be " "used instead. (Contributed by Inada Naoki in :issue:`36346`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1467 +#: ../../whatsnew/3.9.rst:1481 msgid "" "Cleaned header files of interfaces defined but with no implementation. The " "public API symbols being removed are: " @@ -2193,26 +2215,26 @@ msgid "" "`39372`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1478 +#: ../../whatsnew/3.9.rst:1492 msgid "Notable changes in Python 3.9.1" msgstr "" -#: ../../whatsnew/3.9.rst:1483 +#: ../../whatsnew/3.9.rst:1497 msgid "" "The behavior of :class:`typing.Literal` was changed to conform with :pep:" "`586` and to match the behavior of static type checkers specified in the PEP." msgstr "" -#: ../../whatsnew/3.9.rst:1486 +#: ../../whatsnew/3.9.rst:1500 msgid "``Literal`` now de-duplicates parameters." msgstr "" -#: ../../whatsnew/3.9.rst:1487 +#: ../../whatsnew/3.9.rst:1501 msgid "" "Equality comparisons between ``Literal`` objects are now order independent." msgstr "" -#: ../../whatsnew/3.9.rst:1488 +#: ../../whatsnew/3.9.rst:1502 msgid "" "``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " @@ -2220,7 +2242,7 @@ msgid "" "differentiating types." msgstr "" -#: ../../whatsnew/3.9.rst:1492 +#: ../../whatsnew/3.9.rst:1506 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -2228,15 +2250,15 @@ msgid "" "error::" msgstr "" -#: ../../whatsnew/3.9.rst:1504 +#: ../../whatsnew/3.9.rst:1518 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1507 +#: ../../whatsnew/3.9.rst:1521 msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" msgstr "" -#: ../../whatsnew/3.9.rst:1509 +#: ../../whatsnew/3.9.rst:1523 msgid "" "As of 3.9.1, Python now fully supports building and running on macOS 11.0 " "(Big Sur) and on Apple Silicon Macs (based on the ``ARM64`` architecture). A " @@ -2248,19 +2270,19 @@ msgid "" "version in use at runtime (\"weaklinking\")." msgstr "" -#: ../../whatsnew/3.9.rst:1518 +#: ../../whatsnew/3.9.rst:1532 msgid "(Contributed by Ronald Oussoren and Lawrence D'Anna in :issue:`41100`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1521 +#: ../../whatsnew/3.9.rst:1535 msgid "Notable changes in Python 3.9.2" msgstr "" -#: ../../whatsnew/3.9.rst:1524 +#: ../../whatsnew/3.9.rst:1538 msgid "collections.abc" msgstr "collections.abc" -#: ../../whatsnew/3.9.rst:1526 +#: ../../whatsnew/3.9.rst:1540 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -2276,11 +2298,11 @@ msgid "" "Python 3.10. (Contributed by Ken Jin in :issue:`42195`.)" msgstr "" -#: ../../whatsnew/3.9.rst:1540 +#: ../../whatsnew/3.9.rst:1554 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.9.rst:1542 +#: ../../whatsnew/3.9.rst:1556 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib."